The contract every parseq native binding implements.
parseq ships two interchangeable bindings to the same libsqltree
shared library: parseq.native.panama (java.lang.foreign, the
modern FFM API) and parseq.native.jni (classic JNI through a small
generated Java class). Both talk to the identical C ABI, so the
choice is a deployment detail, not a semantic one.
The contract every parseq native binding implements. parseq ships two interchangeable bindings to the same libsqltree shared library: `parseq.native.panama` (java.lang.foreign, the modern FFM API) and `parseq.native.jni` (classic JNI through a small generated Java class). Both talk to the identical C ABI, so the choice is a deployment detail, not a semantic one.
(available)Impls that can load in the current JVM, in preference order.
Impls that can load in the current JVM, in preference order.
(default-impl)The first binding that loads on this JVM, Panama preferred: each candidate is constructed and exercised (native-version) inside a try, so JVMs without the FFM API — or with it denied — fall to JNI, and a JVM missing libsqltree reports no candidates.
The first binding that loads on this JVM, Panama preferred: each candidate is constructed and exercised (native-version) inside a try, so JVMs without the FFM API — or with it denied — fall to JNI, and a JVM missing libsqltree reports no candidates.
(make)(make impl)Instantiate a binding. impl is :panama or :jni; defaults to
default-impl.
Instantiate a binding. `impl` is :panama or :jni; defaults to default-impl.
Lifecycle and calls onto libsqltree.
Lifecycle and calls onto libsqltree.
(native-close this handle)Release a session and its database connection.
Release a session and its database connection.
(native-load-schema this handle ddl)Execute ddl against the session's database so later parses
resolve names against it. Returns nil, or an EDN error map when
the DDL is rejected.
Execute `ddl` against the session's database so later parses resolve names against it. Returns nil, or an EDN error map when the DDL is rejected.
(native-open this path)Open a session over the SQLite database at path (":memory:"
for scratch). Returns an opaque handle.
Open a session over the SQLite database at `path` (":memory:"
for scratch). Returns an opaque handle.(native-parse this handle sql)Parse sql in capture mode. Returns the EDN text produced by the
serializer: {:sqlite ".." :statements [..]}. Parse never executes
or mutates anything.
Parse `sql` in capture mode. Returns the EDN text produced by the
serializer: {:sqlite ".." :statements [..]}. Parse never executes
or mutates anything.(native-version this)The SQLite version string compiled into libsqltree.
The SQLite version string compiled into libsqltree.
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 |