Query execution with I/O, logging, and error handling.
This is part of the imperative shell - it performs database I/O, manages transactions, and handles side effects like logging.
Query execution with I/O, logging, and error handling. This is part of the imperative shell - it performs database I/O, manages transactions, and handles side effects like logging.
Bound transaction connection used by database execution helpers.
This ensures all nested database calls inside a transaction share the same JDBC connection instead of borrowing a new one from the pool.
Bound transaction connection used by database execution helpers. This ensures all nested database calls inside a transaction share the same JDBC connection instead of borrowing a new one from the pool.
(current-datasource ctx)Return the active JDBC executor for the current call.
Prefer a transaction-bound connection when present so transaction-scoped
settings like PostgreSQL search_path remain in effect for all downstream
queries.
Return the active JDBC executor for the current call. Prefer a transaction-bound connection when present so transaction-scoped settings like PostgreSQL `search_path` remain in effect for all downstream queries.
Check if value is a valid database context.
Delegates to pure core function.
Check if value is a valid database context. Delegates to pure core function.
(execute-batch! ctx query-maps)Execute multiple queries in a single transaction.
Args: ctx: Database context query-maps: Vector of HoneySQL query maps
Returns: Vector of results (for SELECTs) or affected row counts (for updates)
Example: (execute-batch! ctx [{:insert-into :users :values [{:name "John"}]} {:insert-into :users :values [{:name "Jane"}]}])
Execute multiple queries in a single transaction.
Args:
ctx: Database context
query-maps: Vector of HoneySQL query maps
Returns:
Vector of results (for SELECTs) or affected row counts (for updates)
Example:
(execute-batch! ctx [{:insert-into :users :values [{:name "John"}]}
{:insert-into :users :values [{:name "Jane"}]}])(execute-one! ctx query-map)Execute query expecting single result.
Args: ctx: Database context query-map: HoneySQL query map
Returns: Single result map or nil
Example: (execute-one! ctx {:select [:*] :from [:users] :where [:= :id "123"]})
Execute query expecting single result.
Args:
ctx: Database context
query-map: HoneySQL query map
Returns:
Single result map or nil
Example:
(execute-one! ctx {:select [:*] :from [:users] :where [:= :id "123"]})(execute-query! ctx query-map)Execute SELECT query and return results.
SHELL FUNCTION: Performs database I/O and logging (side effects). Uses pure core functions for query formatting.
Args: ctx: Database context {:datasource ds :adapter adapter} query-map: HoneySQL query map
Returns: Vector of result maps
Example: (execute-query! ctx {:select [:*] :from [:users] :where [:= :active true]})
Execute SELECT query and return results.
SHELL FUNCTION: Performs database I/O and logging (side effects).
Uses pure core functions for query formatting.
Args:
ctx: Database context {:datasource ds :adapter adapter}
query-map: HoneySQL query map
Returns:
Vector of result maps
Example:
(execute-query! ctx {:select [:*] :from [:users] :where [:= :active true]})(execute-update! ctx query-map)Execute UPDATE/INSERT/DELETE query.
SHELL FUNCTION: Performs database I/O and logging (side effects).
Args: ctx: Database context query-map: HoneySQL query map
Returns: Number of affected rows
Example: (execute-update! ctx {:update :users :set {:active false} :where [:= :id "123"]})
Execute UPDATE/INSERT/DELETE query.
SHELL FUNCTION: Performs database I/O and logging (side effects).
Args:
ctx: Database context
query-map: HoneySQL query map
Returns:
Number of affected rows
Example:
(execute-update! ctx {:update :users :set {:active false} :where [:= :id "123"]})Validate that context has a valid adapter.
Delegates to pure core function.
Validate that context has a valid adapter. Delegates to pure core function.
Validate database context and throw if invalid.
Delegates to pure core function.
Validate database context and throw if invalid. Delegates to pure core function.
(with-transaction* ctx f)Execute function within database transaction context.
Args: ctx: Database context f: Function that takes transaction context and returns result
Returns: Result of function execution
Example: (with-transaction* ctx (fn [tx] (execute-update! tx query)))
Execute function within database transaction context. Args: ctx: Database context f: Function that takes transaction context and returns result Returns: Result of function execution Example: (with-transaction* ctx (fn [tx] (execute-update! tx query)))
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 |