Liking cljdoc? Tell your friends :D

datahike.pg.sql

SQL → Datahike Datalog translator.

Parses SQL strings using JSqlParser and translates the AST into Datahike Datalog queries that can be executed by datahike.api/q.

The core mapping: attribute namespace prefixes become virtual table names. :person/name → table 'person', column 'name' :person/age → table 'person', column 'age'

Main entry points: (parse-sql sql schema) → {:type :select :query {...} :args [...]} | {:type :insert :tx-data [...]} | {:type :system :result QueryResult} | {:type :error :message str}

SQL → Datahike Datalog translator.

Parses SQL strings using JSqlParser and translates the AST into Datahike
Datalog queries that can be executed by `datahike.api/q`.

The core mapping: attribute namespace prefixes become virtual table names.
  :person/name  → table 'person', column 'name'
  :person/age   → table 'person', column 'age'

Main entry points:
  (parse-sql sql schema)  → {:type :select :query {...} :args [...]}
                           | {:type :insert :tx-data [...]}
                           | {:type :system :result QueryResult}
                           | {:type :error :message str}
raw docstring

*catalog-cache*clj

Tests can rebind this to an isolated java.util.Map to keep their data from polluting the global cache (or vice versa). Nil disables caching entirely. Defaults to the server-wide cache.

Tests can rebind this to an isolated `java.util.Map` to keep their
data from polluting the global cache (or vice versa). Nil disables
caching entirely. Defaults to the server-wide cache.
sourceraw docstring

->ParamRefclj

source

add-clause!clj

source

coerce-insert-valueclj

source

col-var!clj

source

collect-varsclj

source

entity-var!clj

source

eval-check-predicateclj

source

eval-update-exprclj

source

extract-empty-catalog-shapeclj

source

filter-array-aggclj

source

filter-avgclj

source

filter-avg-numericclj

source

filter-corrclj

source

filter-countclj

source

filter-count-distinctclj

source

filter-maxclj

source

filter-minclj

source

filter-modeclj

source

filter-percentile-contclj

source

filter-percentile-discclj

source

filter-stddev-sampclj

source

filter-sumclj

source

filter-sum-numericclj

source

filter-variance-sampclj

source

fresh-var!clj

source

make-columns-optional!clj

source

make-ctxclj

source

materialize-arg!clj

source

null-guard-clausesclj

source

null-safeclj

source

param-ref?clj

source

ParamRefclj

source

parse-sqlclj

(parse-sql sql schema)
(parse-sql sql schema db)

Parse a SQL statement and return a translation result.

Returns one of: {:type :select :query <datalog-map> :find-aliases [...] ...} {:type :insert :tx-data [...] :count N} {:type :update :table str :ns str :assignments [...] :where-expr expr} {:type :delete :table str :ns str :where-expr expr} {:type :ddl-create :tx-data [...]} {:type :system :system-type keyword} {:type :error :message str}

Optional db parameter enables subquery execution during translation.

Parse a SQL statement and return a translation result.

Returns one of:
  {:type :select :query <datalog-map> :find-aliases [...] ...}
  {:type :insert :tx-data [...] :count N}
  {:type :update :table str :ns str :assignments [...] :where-expr expr}
  {:type :delete :table str :ns str :where-expr expr}
  {:type :ddl-create :tx-data [...]}
  {:type :system :system-type keyword}
  {:type :error :message str}

Optional db parameter enables subquery execution during translation.
sourceraw docstring

register-catalog-table!clj

source

resolve-columnclj

source

resolve-inherited-attrclj

source

sql-*clj

source

sql-+clj

source

sql--clj

source

sql-divclj

source

sql-modclj

source

substitute-paramsclj

source

system-query?clj

source

translate-predicateclj

source

unregister-catalog-table!clj

source

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close