Map query build/compilation backend.
A map backend must named by a keyword, and should implement the following methods:
toucan2.map-backend/load-backend-if-needed
: initialize the backend as needed and load any namespaces that may
need to be loaded.
toucan2.query/apply-kv-arg
: Tell Toucan 2 what to do with key-value args to functions
like toucan2.select/select
.
toucan2.pipeline/build
: splice in default values, and handle parsed-args as passed to various functions. You may
want separate implementations for different query types; see toucan2.types
for the query type hierarchy)
toucan2.pipeline/compile
: compile the map into a query that can be executed natively by the query execution
backend.
Map query build/compilation backend. A map backend must named by a keyword, and should implement the following methods: - [[toucan2.map-backend/load-backend-if-needed]]: initialize the backend as needed and load any namespaces that may need to be loaded. - [[toucan2.query/apply-kv-arg]]: Tell Toucan 2 what to do with key-value args to functions like [[toucan2.select/select]]. - [[toucan2.pipeline/build]]: splice in default values, and handle parsed-args as passed to various functions. You may want separate implementations for different query types; see [[toucan2.types]] for the query type hierarchy) - [[toucan2.pipeline/compile]]: compile the map into a query that can be executed natively by the query execution backend.
You can bind this to override the default-backend
.
You can bind this to override the [[default-backend]].
(available-backends)
Return a set of all known map query build/compilation backends.
Return a set of all known map query build/compilation backends.
(backend)
Get the current map query build/compilation backend. Uses *backend-override*
, if bound;
otherwise default-backend
.
Get the current map query build/compilation backend. Uses [[*backend-override*]], if bound; otherwise [[default-backend]].
The default map backend to use if no other backend is specified. This is stored in an atom, so you can
reset!
it to something else if you need to. By default, this is :toucan.map-backend/honeysql2
.
The default map backend to use if no other backend is specified. This is stored in an atom, so you can `reset!` it to something else if you need to. By default, this is `:toucan.map-backend/honeysql2`.
(load-backend-if-needed map-compilation-backend₁)
Initialize a map backend if needed (usually this means loading some namespace with map backend method implementations).
load-backend-if-needed is defined in toucan2.map-backend
(toucan2/map_backend.clj:35).
It caches methods using a methodical.impl.cache.watching.WatchingCache
.
It uses the method combination methodical.impl.combo.threaded.ThreadingMethodCombination
with the threading strategy :thread-last
.
It uses the dispatcher methodical.impl.dispatcher.multi_default.MultiDefaultDispatcher
with hierarchy #'clojure.core/global-hierarchy
and prefs {}
.
The default value is :default
.
It uses the method table methodical.impl.method_table.standard.StandardMethodTable
.
These primary methods are known:
:toucan.map-backend/honeysql2
, defined in toucan2.map-backend
(toucan2/map_backend.clj:43)
It has the following documentation:
Initialize the Honey SQL 2 map backend.
Initialize a map backend if needed (usually this means loading some namespace with map backend method implementations). load-backend-if-needed is defined in [[toucan2.map-backend]] (toucan2/map_backend.clj:35). It caches methods using a `methodical.impl.cache.watching.WatchingCache`. It uses the method combination `methodical.impl.combo.threaded.ThreadingMethodCombination` with the threading strategy `:thread-last`. It uses the dispatcher `methodical.impl.dispatcher.multi_default.MultiDefaultDispatcher` with hierarchy `#'clojure.core/global-hierarchy` and prefs `{}`. The default value is `:default`. It uses the method table `methodical.impl.method_table.standard.StandardMethodTable`. These primary methods are known: * `:toucan.map-backend/honeysql2`, defined in [[toucan2.map-backend]] (toucan2/map_backend.clj:43) It has the following documentation: Initialize the Honey SQL 2 map backend.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close