Package-level declarations
Types
A DELETE under construction.
An INSERT under construction.
What to do about rows a FOR UPDATE finds already locked.
The ON CONFLICT clause of an InsertQuery, configured inside InsertQuery.onConflict.
A piece of SQL and the parameters it names, kept together so that neither can be dropped on the way.
SQL written by hand, with @name parameters, carrying the same terminal methods every builder carries.
The same query, with every terminal handing back a DataResult instead of throwing.
Something that knows how to produce a query, and can therefore be run.
A SELECT under construction.
An UPDATE under construction.
Functions
Appends a clause where its body carries anything, and does nothing where it does not.
Joins the fragments that carry anything, merging their parameters.
Refuses a query the builder cannot render, naming what is missing.
Pairs this SQL text with the parameters it names.