- Support arbitrary expressions in
LIMIT
andOFFSET
clauses, as well as numbers, allowing using parameter placeholders - Add basic support for
ON CONFLICT
clauses inINSERT INTO
statements: specifying which conflicts is not supported yet, but that's okay - Rename
queries
module intostatements
, and use that terminology everywhere - Add a new convenience function called
from
to createSELECT
statements by starting from theFROM
clause (e.g.from("Things").select(("id", "name"))
) - Fix a broken link in
WithClause
documentation
- Add
Parameters::next_array
function returning placeholder as an array, intended to be used with INSERT INTO queries - Rename
WithClause::and
toand_with
for clarity - Disallow passing
Select
queries directly intoSelect::from()
without aliasing them first because PostgreSQL requires it - Disallow passing raw numbers into
INSERT INTO
andUPDATE
statements, and update examples to emphasise the raw SQL'ness of everything - No more dependency on Itertools, making the library totally dependency-free
- No longer allocate strings unnecessarily when we join a bunch of stuff to build SQL
- Write real documentation for most things
- Remove unnecessary
is_empty
method fromWithClause
as the clause should never be empty - Implement
IntoIteratorOfSameType
andIntoNonZeroArray
for additional tuples up to 12 - Support
f64
,i32
,i64
andu64
as types convertible intoExpression
- Remove
Select::new
constructor, use theselect
entry function instead
- Export
BareInsertInto
type frompostgres::queries
module - Rename
UpdateWithoutAnyValuesSet
intoBareUpdate
- Support for CTEs (
WITH ...
clauses) inDELETE FROM
,UPDATE
andINSERT_INTO
queries - Remove
Default
implementations fromDeleteFrom
,InsertInto
andUpdate
structs because such empty structs are not valid - Implement
Clone
for all query structs so you can, well, clone them - Mark all query structs as
must_use
rather than initial builder functions - Relax itertools dependency
- Add basic support for CTEs (
WITH ...
) inSELECT
queries
- Initial release