dutchmartin / sprattus Goto Github PK
View Code? Open in Web Editor NEWAn async ORM for Postgres
License: Apache License 2.0
An async ORM for Postgres
License: Apache License 2.0
We want to be able to use sprattus in a high performance web application. Therefore, connection pooling and maybe combining that with pipe-lining makes a lot of sense to do.
To come to an implementation, the following points are the concrete todo's:
Currently, we use the NoTls option of tokio-postgres. However, it would be nice to have SSL/TLS support as a option. To achieve that, a new constructor method that accepts the implementations that tokio-postgres already have available.
Currently, the name of the project is 'profugus'. This name is intended to be temporary.
Therefore, we need a new name so we can release the crate with that name.
The current suggestions are:
The observant reader probably noted that the suggested names all are fish that swim asynchronously from each other. And that is correct.
Instead of only writing Result<Self, Error>
, write Result<Self, Sprattus::Error>
In this way, we overcome the problem of ambiguous naming, since other crates also have error types.
For some methods, we currently use the strfmt crate to generate sql query's. This seems unnecessary since the format macro can do this job too. Using the format macro will also reduce the amount of allocations needed which in result will improve performance.
Currently, there is no way to fetch data from the database without writing SQL. Therefore we want to have a way to query more easily.
An idea for the api would be this:
let products = connection.select::<Product>().limit(10).orderAsc().await?
For complex query's, using SQL will be the preferred option, since a query builder can not provide all functions.
Currently, the sprattus-test crate tests the library, but does not show how the library works with well documented examples. Therefore, having a examples directory would help users getting onboard
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.