Liking cljdoc? Tell your friends :D

exoscale.vinyl.store

A component and helper functions to expose access to a specific schema accessible by FDB's record layer.

This is agnostic to the schema which will need to be supplied to the component using the rough DDL exposed in exoscale.vinyl.schema

A component and helper functions to expose access
to a specific schema accessible by FDB's record layer.

This is agnostic to the schema which will need to
be supplied to the component using the rough DDL
exposed in `exoscale.vinyl.schema`
raw docstring

all-of-rangeclj

(all-of-range txn-context record-type items)
source

as-isolation-levelclj

(as-isolation-level level)
source

as-queryclj

(as-query q)
source

as-scan-typeclj

(as-scan-type t)
source

async-store-from-builderclj

(async-store-from-builder builder context)
source

betweenclj

(between txn-context record-type items start end)
source

continuation-traversing-transduceclj

(continuation-traversing-transduce db xform f val continuing-fn)

A transducer over large ranges. Results are reduced into an accumulator with the help of the reducing function f and transformation xform. The accumulator is initiated to init. clojure.core.reduced is honored.

Obviously, this approach does away with any consistency guarantees usually offered by FDB. continuing-fn is called at every step

Results being accumulated in memory, this also means that care must be taken with the accumulator.

A transducer over large ranges.
Results are reduced into an accumulator with the help of the reducing
function `f` and transformation `xform`.
The accumulator is initiated to `init`. `clojure.core.reduced` is honored.

Obviously, this approach does away with any consistency guarantees usually
offered by FDB. `continuing-fn` is called at every step

Results being accumulated in memory, this also means that care must be
taken with the accumulator.
sourceraw docstring

DatabaseContextcljprotocol

get-metadataclj

(get-metadata this)

Return this context's record metadata

Return this context's record metadata

new-runnerclj

(new-runner this)

Return a runner to handle retryable logic

Return a runner to handle retryable logic

run-asyncclj

(run-async this f)

Run an asynchronous function against an FDBRecordStore. Protocolized so it can be called against the database or the store

Run an asynchronous function against an FDBRecordStore.
Protocolized so it can be called against the database or
the store

run-in-contextclj

(run-in-context this f)

Run a function against an FDBRecordStore. Protocolized so it can be called against the database or the store

Run a function against an FDBRecordStore.
Protocolized so it can be called against the database or
the store
source

db-from-instanceclj

(db-from-instance)
(db-from-instance cluster-file)

Build a valid FDB database from configuration. Use the standard cluster-file location or a specific one if instructed to do so.

Build a valid FDB database from configuration. Use the standard
cluster-file location or a specific one if instructed to do so.
sourceraw docstring

delete-all-recordsclj

(delete-all-records txn-context)
source

delete-by-key-componentclj

(delete-by-key-component txn-context record-type items)

In cases where composite keys are used, this can be used to clear all records for a specific composite key prefix

In cases where composite keys are used, this can be used to clear
all records for a specific composite key prefix
sourceraw docstring

delete-by-prefix-scanclj

(delete-by-prefix-scan txn-context record-type items)

Delete all records surfaced by a prefix scan

Delete all records surfaced by a prefix scan
sourceraw docstring

delete-by-queryclj

(delete-by-query txn-context query)

Delete all records surfaced by a query

Delete all records surfaced by a query
sourceraw docstring

delete-by-rangeclj

(delete-by-range txn-context range)
source

delete-recordclj

(delete-record txn-context k)
(delete-record txn-context record-type items)
source

execute-propertiesclj

(execute-properties {:exoscale.vinyl.store/keys [fail-on-scan-limit-reached?
                                                 isolation-level skip limit]
                     :as props})
source

execute-queryclj

(execute-query txn-context query)
(execute-query txn-context query opts)
(execute-query txn-context query opts values)
source

exists?clj

(exists? txn-context k)
(exists? txn-context record-type items)
source

greater-than-rangeclj

(greater-than-range txn-context record-type items)
source

inc-prefixclj

(inc-prefix p)

Given an object path, yield the next semantic one.

Given an object path, yield the next semantic one.
sourceraw docstring

initializeclj

(initialize schema-name descriptor schema)
(initialize schema-name descriptor schema opts)
source

insert-recordclj

(insert-record txn-context record)
source

insert-record-batchclj

(insert-record-batch txn-context batch)
source

iterator-queryclj

(iterator-query txn-context query)
(iterator-query txn-context query opts)
source

key-forclj

(key-for db record-type & args)
source

key-for*clj

(key-for* db record-type items)
source

list-queryclj

(list-query txn-context query)
(list-query txn-context query opts)
(list-query txn-context query opts values)
source

load-recordclj

(load-record txn-context k)
(load-record txn-context record-type items)
source

long-query-reduceclj

(long-query-reduce db f val query)
(long-query-reduce db
                   f
                   val
                   query
                   {:exoscale.vinyl.store/keys [values] :as opts})
(long-query-reduce db f init query opts values)

A reducer over large queries. Accepts queries as per execute-query. Results are reduced into an accumulator with the help of the reducing function f. The accumulator is initiated to init. clojure.core.reduced is honored.

Obviously, this approach does away with any consistency guarantees usually offered by FDB.

Results being accumulated in memory, this also means that care must be taken with the accumulator.

A reducer over large queries. Accepts queries as per `execute-query`. Results
are reduced into an accumulator with the help of the reducing function `f`.
The accumulator is initiated to `init`. `clojure.core.reduced` is honored.

Obviously, this approach does away with any consistency guarantees usually
offered by FDB.

Results being accumulated in memory, this also means that care must be
taken with the accumulator.
sourceraw docstring

long-range-reduceclj

(long-range-reduce db f val record-type items)
(long-range-reduce db
                   f
                   val
                   record-type
                   items
                   {:exoscale.vinyl.store/keys [marker] :as opts})

A reducer over large ranges. Results are reduced into an accumulator with the help of the reducing function f. The accumulator is initiated to init. clojure.core.reduced is honored.

Obviously, this approach does away with any consistency guarantees usually offered by FDB.

Results being accumulated in memory, this also means that care must be taken with the accumulator.

A reducer over large ranges.
Results are reduced into an accumulator with the help of the reducing
function `f`.
The accumulator is initiated to `init`. `clojure.core.reduced` is honored.

Obviously, this approach does away with any consistency guarantees usually
offered by FDB.

Results being accumulated in memory, this also means that care must be
taken with the accumulator.
sourceraw docstring

long-range-transduceclj

(long-range-transduce db xform f val record-type items)
(long-range-transduce db
                      xform
                      f
                      val
                      record-type
                      items
                      {:exoscale.vinyl.store/keys [marker] :as opts})

A transducer over large ranges. Except for the addition of xform behaves like long-range-reducer.

A transducer over large ranges. Except for the addition of `xform`
behaves like `long-range-reducer`.
sourceraw docstring

marker-rangeclj

(marker-range txn-context record-type items marker)
source

metadata-indexclj

(metadata-index metadata index-name)
source

prefix-rangeclj

(prefix-range txn-context record-type items)
source

record-primary-keyclj

(record-primary-key r)
source

record-store-builderclj

(record-store-builder)

Yield a new record store builder

Yield a new record store builder
sourceraw docstring

RecordStoreclj

source

runner-optsclj

(runner-opts runner
             {:exoscale.vinyl.store/keys [max-attempts initial-delay max-delay
                                          transaction-timeout]})
source

save-recordclj

(save-record txn-context record)
source

save-record-batchclj

(save-record-batch txn-context batch)
source

scan-indexclj

(scan-index txn-context index-name scan-type range continuation opts)
source

scan-prefixclj

(scan-prefix txn-context record-type items opts)
source

scan-propertiesclj

(scan-properties {:exoscale.vinyl.store/keys [reverse?] :as props})
(scan-properties props reverse?)
source

scan-rangeclj

(scan-range txn-context range opts)
source

startclj

source

stopclj

source

store-from-builderclj

(store-from-builder builder context)
source

store-query-fnclj

(store-query-fn query
                {:exoscale.vinyl.store/keys [values intercept-plan-fn log-plan?]
                 :as opts})
source

top-level-keyspaceclj

This builds a directory structure of /$environment/$schema

This builds a directory structure of /$environment/$schema
sourceraw docstring

wrapped-runnerclj

(wrapped-runner db opts)
source

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

× close