HoneySQL wrappers and shortcuts.
HoneySQL wrappers and shortcuts.
(delete src table)(delete src table {:as opt :keys [where returning] :or {returning [:*]}})(execute src sql-map)(execute src sql-map {:as opt :keys [honey]})Like pg.core/execute but accepts a HoneySQL map
which gets rendered into SQL vector and split on a query
and parameters.
Arguments:
:honey key for HoneySQL params.Result:
pg.core/execute.
Like `pg.core/execute` but accepts a HoneySQL map
which gets rendered into SQL vector and split on a query
and parameters.
Arguments:
- conn: a connectable source;
- sql-map: a map like {:select [:this :that] :from [...]}
- opt: PG2 options; pass the `:honey` key for HoneySQL params.
Result:
- same as `pg.core/execute`.
(find src table)(find src table kv)(find src
table
kv
{:as opt :keys [fields limit offset order-by] :or {fields [:*]}})Select rows by a column->value filter, for example:
{:name 'Foo', :active true}
All the kv pairs get concatenated with AND.
The optional arguments are:
Select rows by a column->value filter, for example:
{:name 'Foo', :active true}
All the kv pairs get concatenated with AND.
The optional arguments are:
- fields (default is [:*])
- limit
- offset
- order-by
(find-first src table kv)(find-first src
table
kv
{:as opt :keys [fields offset order-by] :or {fields [:*]}})Like find but gets the first row only. Adds the
limit 1 expression to the query. Supports the same
optional arguments.
Like `find` but gets the first row only. Adds the limit 1 expression to the query. Supports the same optional arguments.
(format sql-map)(format sql-map opt)Like honey.sql/format but with some Postgres-related overrides.
Namely, it produces a SQL expressions with dollar signs instead
of question marks, e.g. SELECT * FROM USERS WHERE id = $1.
Like honey.sql/format but with some Postgres-related overrides. Namely, it produces a SQL expressions with dollar signs instead of question marks, e.g. `SELECT * FROM USERS WHERE id = $1`.
(get-by-id src table id)(get-by-id src table id {:as opt :keys [pk fields] :or {pk :id fields [:*]}})Get a single row by its primary key.
By default, the name of the primary key is :id
which can be overridden by the :pk parameter.
The optimal :fields vector specifies which
columns to return, [:*] by default.
Get a single row by its primary key. By default, the name of the primary key is `:id` which can be overridden by the `:pk` parameter. The optimal `:fields` vector specifies which columns to return, `[:*]` by default.
(get-by-ids src table ids)(get-by-ids src
table
ids
{:as opt :keys [pk fields order-by] :or {pk :id fields [:*]}})Get multiple rows from a table by their PKs. It's not recommended to pass thousands of PKs at once. Split them by smaller chunks instead.
Like get-by-id, accepts the PK name, the column names
to return, and order-by clause.
Returns a vector of rows.
Get multiple rows from a table by their PKs. It's not recommended to pass thousands of PKs at once. Split them by smaller chunks instead. Like `get-by-id`, accepts the PK name, the column names to return, and order-by clause. Returns a vector of rows.
(insert src table kvs)(insert src
table
kvs
{:as opt
:keys [returning on-conflict do-update-set do-nothing]
:or {returning [:*]}})Insert a collection of rows into a table.
The kvs argument must be a seq of maps.
The optional arguments are:
Other PG2-related options are supported.
The result depends on the returning clause and PG2 options.
By default, it will be a vector of inserted rows.
Insert a collection of rows into a table. The `kvs` argument must be a seq of maps. The optional arguments are: - returning: a vector of columns to return, default is [:*] - on-conflict, - do-update-set, - do-nothing: Postgres-specific ON CONFLICT ... DO ... expressions. Other PG2-related options are supported. The result depends on the `returning` clause and PG2 options. By default, it will be a vector of inserted rows.
(insert-one src table kv)(insert-one src
table
kv
{:as opt
:keys [returning on-conflict do-update-set do-nothing]
:or {returning [:*]}})Like insert but accepts a single row.
Supports the same options. The default result is a single inserted row.
Like `insert` but accepts a single row. Supports the same options. The default result is a single inserted row.
(prepare src sql-map)(prepare src sql-map {:as opt :keys [honey]})Prepare a statement expressed wit a Honey map. For parameters, use either blank values or raw expressions, for example:
{:select [:*] :from :users :where [:= :id 0]}
or
{:select [:*] :from :users :where [:raw 'id = $1']}
Return an instance of PreparedStatement class.
Prepare a statement expressed wit a Honey map.
For parameters, use either blank values or raw
expressions, for example:
{:select [:*] :from :users :where [:= :id 0]}
or
{:select [:*] :from :users :where [:raw 'id = $1']}
Return an instance of `PreparedStatement` class.
(queries src sql-maps)(queries src sql-maps {:as opt :keys [honey]})Like query but accepts a vector of SQL maps.
Returns a vector of results.
Like `query` but accepts a vector of SQL maps. Returns a vector of results.
(query src sql-map)(query src sql-map {:as opt :keys [honey]})Like pg.core/query but accepts a HoneySQL map
which gets rendered into a SQL string.
Arguments:
:honey key for HoneySQL params.Result:
pg.core/query.
Like `pg.core/query` but accepts a HoneySQL map
which gets rendered into a SQL string.
Arguments:
- src: a connectable source;
- sql-map: a map like {:select [:this :that] :from [...]}
- opt: PG2 options; pass the `:honey` key for HoneySQL params.
Result:
- the same as `pg.core/query`.
(update src table kv)(update src table kv {:as opt :keys [where returning] :or {returning [:*]}})Update rows in a table. The kv is a map of field->value.
Note that the value might be not a scalar but something
like [:raw 'now()'] or any other HoneySQL expression.
The optional parametes are:
where which acts like a filter when updating the rows;returning which determines what columns to return.Update rows in a table. The `kv` is a map of field->value. Note that the value might be not a scalar but something like `[:raw 'now()']` or any other HoneySQL expression. The optional parametes are: - `where` which acts like a filter when updating the rows; - `returning` which determines what columns to return.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |