Common database utilities and information functions.
Common database utilities and information functions.
(build-ordering options default-field)Build ORDER BY clause from sort options.
Delegates to pure core function.
Args: options: Map with :sort-by and :sort-direction keys default-field: Default field to sort by (keyword)
Returns: Vector of [field direction] pairs
Example: (build-ordering {:sort-by :created-at :sort-direction :desc} :id)
Build ORDER BY clause from sort options.
Delegates to pure core function.
Args:
options: Map with :sort-by and :sort-direction keys
default-field: Default field to sort by (keyword)
Returns:
Vector of [field direction] pairs
Example:
(build-ordering {:sort-by :created-at :sort-direction :desc} :id)(build-pagination options)Build LIMIT/OFFSET clause from pagination options with safe defaults.
Delegates to pure core function.
Args: options: Map with :limit and :offset keys
Returns: Map with sanitized :limit and :offset values
Example: (build-pagination {:limit 50 :offset 100})
Build LIMIT/OFFSET clause from pagination options with safe defaults.
Delegates to pure core function.
Args:
options: Map with :limit and :offset keys
Returns:
Map with sanitized :limit and :offset values
Example:
(build-pagination {:limit 50 :offset 100})(build-where-clause ctx filters)Build dynamic WHERE clause from filter map using adapter-specific query building.
Delegates to adapter's protocol method for database-specific WHERE clause construction (e.g., SQLite uses GLOB, PostgreSQL uses ILIKE, H2 uses LIKE for strings). Handles kebab-case to snake_case conversion and type conversions automatically.
Args: ctx: Database context with :adapter for database-specific query building filters: Map of kebab-case field keywords -> value filters
Returns: HoneySQL WHERE clause with snake_case fields or nil
Example: (build-where-clause ctx {:name "John" :active true :role [:admin :user]}) (build-where-clause ctx {:tenant-id #uuid"..." :deleted-at nil})
Build dynamic WHERE clause from filter map using adapter-specific query building.
Delegates to adapter's protocol method for database-specific WHERE clause construction
(e.g., SQLite uses GLOB, PostgreSQL uses ILIKE, H2 uses LIKE for strings).
Handles kebab-case to snake_case conversion and type conversions automatically.
Args:
ctx: Database context with :adapter for database-specific query building
filters: Map of kebab-case field keywords -> value filters
Returns:
HoneySQL WHERE clause with snake_case fields or nil
Example:
(build-where-clause ctx {:name "John" :active true :role [:admin :user]})
(build-where-clause ctx {:tenant-id #uuid"..." :deleted-at nil})(database-info ctx)Get database information and statistics.
Args: ctx: Database context
Returns: Map with database information
Example: (database-info ctx)
Get database information and statistics. Args: ctx: Database context Returns: Map with database information Example: (database-info ctx)
(format-sql ctx query-map)Format HoneySQL query map using context's adapter dialect.
Delegates to pure core function.
Args: ctx: Database context query-map: HoneySQL query map
Returns: Vector of [sql & params]
Example: (format-sql ctx {:select [:*] :from [:users]})
Format HoneySQL query map using context's adapter dialect.
Delegates to pure core function.
Args:
ctx: Database context
query-map: HoneySQL query map
Returns:
Vector of [sql & params]
Example:
(format-sql ctx {:select [:*] :from [:users]})(format-sql* ctx query-map opts)Format HoneySQL query map with custom options.
Delegates to pure core function.
Args: ctx: Database context query-map: HoneySQL query map opts: Additional formatting options
Returns: Vector of [sql & params]
Format HoneySQL query map with custom options. Delegates to pure core function. Args: ctx: Database context query-map: HoneySQL query map opts: Additional formatting options Returns: Vector of [sql & params]
(list-tables ctx)List all tables in the database.
Args: ctx: Database context
Returns: Vector of table name strings
Example: (list-tables ctx)
List all tables in the database. Args: ctx: Database context Returns: Vector of table name strings Example: (list-tables ctx)
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 |