Liking cljdoc? Tell your friends :D

next.jdbc.result-set

An implementation of ResultSet handling functions.

Defines the following protocols:

  • DatafiableRow -- for turning a row into something datafiable
  • ReadableColumn -- to read column values by label or index
  • RowBuilder -- for materializing a row
  • ResultSetBuilder -- for materializing a result set

A broad range of result set builder implementation functions are provided.

Also provides the default implemenations for Executable and the default datafy/nav behavior for rows from a result set.

See also https://cljdoc.org/d/seancorfield/next.jdbc/CURRENT/api/next.jdbc.date-time for implementations of ReadableColumn that provide automatic conversion of some SQL data types to Java Time objects.

An implementation of `ResultSet` handling functions.

Defines the following protocols:
* `DatafiableRow` -- for turning a row into something datafiable
* `ReadableColumn` -- to read column values by label or index
* `RowBuilder` -- for materializing a row
* `ResultSetBuilder` -- for materializing a result set

A broad range of result set builder implementation functions are provided.

Also provides the default implemenations for `Executable` and
the default `datafy`/`nav` behavior for rows from a result set.

See also https://cljdoc.org/d/seancorfield/next.jdbc/CURRENT/api/next.jdbc.date-time
for implementations of `ReadableColumn` that provide automatic
conversion of some SQL data types to Java Time objects.
raw docstring

as-arraysclj

(as-arrays rs opts)

Given a ResultSet and options, return a RowBuilder / ResultSetBuilder that produces a vector of column names followed by vectors of row values.

Given a `ResultSet` and options, return a `RowBuilder` / `ResultSetBuilder`
that produces a vector of column names followed by vectors of row values.
sourceraw docstring

as-arrays-adapterclj

(as-arrays-adapter builder-fn column-reader)

Given an array builder function (e.g., as-unqualified-arrays) and a column reading function, return a new builder function that uses that column reading function instead of .getObject so you can override the default behavior.

The default column-reader behavior would be equivalent to:

(defn default-column-reader
  [^ResultSet rs ^ResultSetMetaData rsmeta ^Integer i]
  (.getObject rs i))

Your column-reader can use the result set metadata to determine whether to call .getObject or some other method to read the column's value.

read-column-by-index is still called on the result of that read.

Given an array builder function (e.g., `as-unqualified-arrays`) and a column
reading function, return a new builder function that uses that column reading
function instead of `.getObject` so you can override the default behavior.

The default column-reader behavior would be equivalent to:

    (defn default-column-reader
      [^ResultSet rs ^ResultSetMetaData rsmeta ^Integer i]
      (.getObject rs i))

Your column-reader can use the result set metadata to determine whether
to call `.getObject` or some other method to read the column's value.

`read-column-by-index` is still called on the result of that read.
sourceraw docstring

as-lower-arraysclj

(as-lower-arrays rs opts)

Given a ResultSet and options, return a RowBuilder / ResultSetBuilder that produces a vector of lower-case column names followed by vectors of row values.

Given a `ResultSet` and options, return a `RowBuilder` / `ResultSetBuilder`
that produces a vector of lower-case column names followed by vectors of
row values.
sourceraw docstring

as-lower-mapsclj

(as-lower-maps rs opts)

Given a ResultSet and options, return a RowBuilder / ResultSetBuilder that produces bare vectors of hash map rows, with lower-case keys.

Given a `ResultSet` and options, return a `RowBuilder` / `ResultSetBuilder`
that produces bare vectors of hash map rows, with lower-case keys.
sourceraw docstring

as-mapsclj

(as-maps rs opts)

Given a ResultSet and options, return a RowBuilder / ResultSetBuilder that produces bare vectors of hash map rows.

This is the default :builder-fn option.

Given a `ResultSet` and options, return a `RowBuilder` / `ResultSetBuilder`
that produces bare vectors of hash map rows.

This is the default `:builder-fn` option.
sourceraw docstring

as-maps-adapterclj

(as-maps-adapter builder-fn column-reader)

Given a map builder function (e.g., as-lower-maps) and a column reading function, return a new builder function that uses that column reading function instead of .getObject so you can override the default behavior.

The default column-reader behavior would be equivalent to:

(defn default-column-reader
  [^ResultSet rs ^ResultSetMetaData rsmeta ^Integer i]
  (.getObject rs i))

Your column-reader can use the result set metadata to determine whether to call .getObject or some other method to read the column's value.

read-column-by-index is still called on the result of that read.

Given a map builder function (e.g., `as-lower-maps`) and a column reading
function, return a new builder function that uses that column reading
function instead of `.getObject` so you can override the default behavior.

The default column-reader behavior would be equivalent to:

    (defn default-column-reader
      [^ResultSet rs ^ResultSetMetaData rsmeta ^Integer i]
      (.getObject rs i))

Your column-reader can use the result set metadata to determine whether
to call `.getObject` or some other method to read the column's value.

`read-column-by-index` is still called on the result of that read.
sourceraw docstring

as-modified-arraysclj

(as-modified-arrays rs opts)

Given a ResultSet and options, return a RowBuilder / ResultSetBuilder that produces a vector of modified column names followed by vectors of row values.

Requires both the :qualifier-fn and :label-fn options.

Given a `ResultSet` and options, return a `RowBuilder` / `ResultSetBuilder`
that produces a vector of modified column names followed by vectors of
row values.

Requires both the `:qualifier-fn` and `:label-fn` options.
sourceraw docstring

as-modified-mapsclj

(as-modified-maps rs opts)

Given a ResultSet and options, return a RowBuilder / ResultSetBuilder that produces bare vectors of hash map rows, with modified keys.

Requires both the :qualifier-fn and :label-fn options.

Given a `ResultSet` and options, return a `RowBuilder` / `ResultSetBuilder`
that produces bare vectors of hash map rows, with modified keys.

Requires both the `:qualifier-fn` and `:label-fn` options.
sourceraw docstring

as-unqualified-arraysclj

(as-unqualified-arrays rs opts)

Given a ResultSet and options, return a RowBuilder / ResultSetBuilder that produces a vector of simple column names followed by vectors of row values.

Given a `ResultSet` and options, return a `RowBuilder` / `ResultSetBuilder`
that produces a vector of simple column names followed by vectors of row
values.
sourceraw docstring

as-unqualified-lower-arraysclj

(as-unqualified-lower-arrays rs opts)

Given a ResultSet and options, return a RowBuilder / ResultSetBuilder that produces a vector of simple, lower-case column names followed by vectors of row values.

Given a `ResultSet` and options, return a `RowBuilder` / `ResultSetBuilder`
that produces a vector of simple, lower-case column names followed by
vectors of row values.
sourceraw docstring

as-unqualified-lower-mapsclj

(as-unqualified-lower-maps rs opts)

Given a ResultSet and options, return a RowBuilder / ResultSetBuilder that produces bare vectors of hash map rows, with simple, lower-case keys.

Given a `ResultSet` and options, return a `RowBuilder` / `ResultSetBuilder`
that produces bare vectors of hash map rows, with simple, lower-case keys.
sourceraw docstring

as-unqualified-mapsclj

(as-unqualified-maps rs opts)

Given a ResultSet and options, return a RowBuilder / ResultSetBuilder that produces bare vectors of hash map rows, with simple keys.

Given a `ResultSet` and options, return a `RowBuilder` / `ResultSetBuilder`
that produces bare vectors of hash map rows, with simple keys.
sourceraw docstring

as-unqualified-modified-arraysclj

(as-unqualified-modified-arrays rs opts)

Given a ResultSet and options, return a RowBuilder / ResultSetBuilder that produces a vector of simple, modified column names followed by vectors of row values.

Requires the :label-fn option.

Given a `ResultSet` and options, return a `RowBuilder` / `ResultSetBuilder`
that produces a vector of simple, modified column names followed by
vectors of row values.

Requires the `:label-fn` option.
sourceraw docstring

as-unqualified-modified-mapsclj

(as-unqualified-modified-maps rs opts)

Given a ResultSet and options, return a RowBuilder / ResultSetBuilder that produces bare vectors of hash map rows, with simple, modified keys.

Requires the :label-fn option.

Given a `ResultSet` and options, return a `RowBuilder` / `ResultSetBuilder`
that produces bare vectors of hash map rows, with simple, modified keys.

Requires the `:label-fn` option.
sourceraw docstring

clob->stringclj

(clob->string clob)

Given a CLOB column value, read it as a string.

Given a CLOB column value, read it as a string.
sourceraw docstring

clob-column-readerclj

(clob-column-reader rs _ i)

An example column-reader that still uses .getObject but expands CLOB columns into strings.

An example column-reader that still uses `.getObject` but expands CLOB
columns into strings.
sourceraw docstring

datafiable-result-setclj

(datafiable-result-set rs connectable opts)

Given a ResultSet, a connectable, and an options hash map, return a fully realized, datafiable result set per the :builder-fn option passed in. If no :builder-fn option is provided, as-maps is used as the default.

This can be used to process regular result sets or metadata result sets.

Given a ResultSet, a connectable, and an options hash map, return a fully
realized, datafiable result set per the `:builder-fn` option passed in.
If no `:builder-fn` option is provided, `as-maps` is used as the default.

This can be used to process regular result sets or metadata result sets.
sourceraw docstring

DatafiableRowcljprotocol

Protocol for making rows datafiable and therefore navigable.

The default implementation just adds metadata so that datafy can be called on the row, which will produce something that nav can be called on, to lazily navigate through foreign key relationships into other tables.

If datafiable-row is called when reducing the result set produced by next.jdbc/plan, the row is fully-realized from the ResultSet first, using the :builder-fn (or as-maps by default).

Protocol for making rows datafiable and therefore navigable.

The default implementation just adds metadata so that `datafy` can be
called on the row, which will produce something that `nav` can be called
on, to lazily navigate through foreign key relationships into other tables.

If `datafiable-row` is called when reducing the result set produced by
`next.jdbc/plan`, the row is fully-realized from the `ResultSet`
first, using the `:builder-fn` (or `as-maps` by default).

datafiable-rowclj

(datafiable-row this connectable opts)

Produce a datafiable representation of a row from a ResultSet.

Produce a datafiable representation of a row from a `ResultSet`.
sourceraw docstring

get-column-namesclj

(get-column-names rsmeta opts)

Given ResultSetMetaData, return a vector of column names, each qualified by the table from which it came.

Given `ResultSetMetaData`, return a vector of column names, each qualified by
the table from which it came.
sourceraw docstring

get-lower-column-namesclj

(get-lower-column-names rsmeta opts)

Given ResultSetMetaData, return a vector of lower-case column names, each qualified by the table from which it came.

Given `ResultSetMetaData`, return a vector of lower-case column names, each
qualified by the table from which it came.
sourceraw docstring

get-modified-column-namesclj

(get-modified-column-names rsmeta opts)

Given ResultSetMetaData, return a vector of modified column names, each qualified by the table from which it came.

Requires both the :qualifier-fn and :label-fn options.

Given `ResultSetMetaData`, return a vector of modified column names, each
qualified by the table from which it came.

Requires both the `:qualifier-fn` and `:label-fn` options.
sourceraw docstring

get-unqualified-column-namesclj

(get-unqualified-column-names rsmeta opts)

Given ResultSetMetaData, return a vector of unqualified column names.

Given `ResultSetMetaData`, return a vector of unqualified column names.
sourceraw docstring

get-unqualified-lower-column-namesclj

(get-unqualified-lower-column-names rsmeta opts)

Given ResultSetMetaData, return a vector of unqualified column names.

Given `ResultSetMetaData`, return a vector of unqualified column names.
sourceraw docstring

get-unqualified-modified-column-namesclj

(get-unqualified-modified-column-names rsmeta opts)

Given ResultSetMetaData, return a vector of unqualified modified column names.

Requires the :label-fn option.

Given `ResultSetMetaData`, return a vector of unqualified modified column
names.

Requires the `:label-fn` option.
sourceraw docstring

ReadableColumncljprotocol

Protocol for reading objects from the java.sql.ResultSet. Default implementations (for Object and nil) return the argument, and the Boolean implementation ensures a canonicalized true/false value, but it can be extended to provide custom behavior for special types.

Protocol for reading objects from the `java.sql.ResultSet`. Default
implementations (for `Object` and `nil`) return the argument, and the
`Boolean` implementation ensures a canonicalized `true`/`false` value,
but it can be extended to provide custom behavior for special types.

read-column-by-indexclj

(read-column-by-index val rsmeta idx)

Function for transforming values after reading them via a column index.

Function for transforming values after reading them via a column index.

read-column-by-labelclj

(read-column-by-label val label)

Function for transforming values after reading them via a column label.

Function for transforming values after reading them via a column label.
sourceraw docstring

ResultSetBuildercljprotocol

Protocol for building result sets in various representations.

Default implementations for building vectors of hash maps and vectors of column names and row values: MapResultSetBuilder & ArrayResultSetBuilder

Protocol for building result sets in various representations.

Default implementations for building vectors of hash maps and vectors of
column names and row values: `MapResultSetBuilder` & `ArrayResultSetBuilder`

->rsclj

(->rs _)

Called to create the basis of the result set.

Called to create the basis of the result set.

rs!clj

(rs! _ rs)

Called to finalize the result set once it is complete.

Called to finalize the result set once it is complete.

with-rowclj

(with-row _ rs row)

Called with the result set and the row to be added.

Called with the result set and the row to be added.
sourceraw docstring

RowBuildercljprotocol

Protocol for building rows in various representations.

The default implementation for building hash maps: MapResultSetBuilder

Protocol for building rows in various representations.

The default implementation for building hash maps: `MapResultSetBuilder`

->rowclj

(->row _)

Called once per row to create the basis of each row.

Called once per row to create the basis of each row.

column-countclj

(column-count _)

Return the number of columns in each row.

Return the number of columns in each row.

row!clj

(row! _ row)

Called once per row to finalize each row once it is complete.

Called once per row to finalize each row once it is complete.

with-columnclj

(with-column _ row i)

Called with the row and the index of the column to be added; this is expected to read the column value from the ResultSet!

Called with the row and the index of the column to be added;
this is expected to read the column value from the `ResultSet`!
sourceraw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close