qbits.hayt

This namespace contains aliases for qbits.dsl.*, qbits.fns and qbits.utils

->prepared

Compiles a hayt query into a vector composed of the prepared string query and a vector of parameters.

->raw

Compiles a hayt query into its raw string value

?

? can be used as a query value to mark a prepared statement value ex: (select :foo (where [[> :foo ?] [< :foo 2]]]))

add-column

(add-column identifier type)

Clause: takes a table identifier and a column type

allow-filtering

(allow-filtering value)(allow-filtering)

Clause: sets ALLOW FILTERING on select queries, defaults to true is used without a value

alter-column

(alter-column identifier type)

Clause: takes a table identifier and a column type

alter-column-family

deprecated in 1.5.0

alter-columnfamily

(alter-columnfamily columnfamily & clauses)

http://cassandra.apache.org/doc/cql3/CQL.html#alterTableStmt

Takes a columnfamiliy identifier and additional clause arguments:

  • alter-column
  • add-column
  • alter-column
  • rename-column
  • drop-column
  • with

alter-keyspace

(alter-keyspace keyspace & clauses)

http://cassandra.apache.org/doc/cql3/CQL.html#alterKeyspaceStmt

Takes a keyspace identifier and a with clause.

alter-table

(alter-table table & clauses)

http://cassandra.apache.org/doc/cql3/CQL.html#alterTableStmt

Takes a table identifier and additional clause arguments:

  • alter-column
  • add-column
  • alter-column
  • rename-column
  • drop-column
  • with

alter-type

(alter-type type & clauses)

alter-user

(alter-user user & clauses)

Takes clauses: * password * superuser (defaults to false)

append

Append/conjoin element to Map/Set/List

as

(as selector id)

Aliases a column (selector) to another identifier (id)

ascii->blob

(ascii->blob x__2152__auto__)

batch

(batch & clauses)

http://cassandra.apache.org/doc/cql3/CQL.html#batchStmt

Takes hayt queries optional clauses: * queries * using * counter * logged

bigint->blob

(bigint->blob x__2152__auto__)

blob->ascii

(blob->ascii x__2152__auto__)

blob->bigint

(blob->bigint x__2152__auto__)

blob->boolean

(blob->boolean x__2152__auto__)

blob->counter

(blob->counter x__2152__auto__)

blob->decimal

(blob->decimal x__2152__auto__)

blob->double

(blob->double x__2152__auto__)

blob->float

(blob->float x__2152__auto__)

blob->inet

(blob->inet x__2152__auto__)

blob->int

(blob->int x__2152__auto__)

blob->text

(blob->text x__2152__auto__)

blob->timestamp

(blob->timestamp x__2152__auto__)

blob->timeuuid

(blob->timeuuid x__2152__auto__)

blob->uuid

(blob->uuid x__2152__auto__)

blob->varchar

(blob->varchar x__2152__auto__)

blob->varint

(blob->varint x__2152__auto__)

boolean->blob

(boolean->blob x__2152__auto__)

column-definitions

(column-definitions column-definitions)

Clause: Takes a map of columns definitions (keys are identifiers , values, types), to be used with create-table.

columns

(columns & columns)

Clause: takes columns identifiers ex: (columns :foo “bar” :baz)

contains

contains can be used as a query value to mark CONTAINS in where clause ex: (select :foo (where contains :foo ...]))

contains-key

contains-key can be used as a query value to mark CONTAINS-KEY in where clause ex: (select :foo (where contains :foo ...]))

count*

Returns a count(*) CQL function

count1

Returns a count(1) CQL function

counter

(counter value)(counter)

Clause: Sets COUNTER attribute on BATCH queries

counter->blob

(counter->blob x__2152__auto__)

cql-fn

(cql-fn name & args)

Calls supplied function by name, with the supplied args

cql-ns

(cql-ns & xs)

handles namespaced identifiers

cql-raw

(cql-raw x preparable?)(cql-raw x)

Allows to pass raw (assumed safe) content, no escaping will be applied. preparable? allows to control how the value will be handled when the query is compiled as a prepared statement

create-index

(create-index table name & clauses)

http://cassandra.apache.org/doc/cql3/CQL.html#createIndexStmt

Takes a table identifier and additional clause arguments:

  • index-column
  • index-name
  • custom
  • on (overwrites table id)

create-keyspace

(create-keyspace keyspace & clauses)

http://cassandra.apache.org/doc/cql3/CQL.html#createKeyspaceStmt

Takes a keyspace identifier and clauses: * with

create-table

(create-table table & clauses)

Takes a table identifier and additional clause arguments:

  • column-definitions
  • with

create-trigger

(create-trigger trigger table using)

create-type

(create-type type & clauses)

create-user

(create-user user & clauses)

Takes clauses: * password * superuser (defaults to false)

custom

(custom x)(custom)

Clause: Sets CUSTOM status on create-index query

date->epoch

(date->epoch d)

date-of

(date-of x)

http://cassandra.apache.org/doc/cql3/CQL.html#usingtimeuuid

Returns a dateOf function with the supplied argument

dec-by

Decrement counter by x, usable in values and set-columns

decimal->blob

(decimal->blob x__2152__auto__)

delete

(delete table & clauses)

http://cassandra.apache.org/doc/cql3/CQL.html#deleteStmt

Takes a table identifier and additional clause arguments:

  • columns (defaults to *)
  • using
  • where
  • only-if

distinct*

(distinct* & xs)

Returns DISTINCT column id ex: (select :table (columns (distinct :foo)))

double->blob

(double->blob x__2152__auto__)

drop-column

(drop-column id)

Clause: Takes a column Identifier

drop-columnfamily

(drop-columnfamily cf & clauses)

http://cassandra.apache.org/doc/cql3/CQL.html#dropTableStmt

Takes a column family identifier and additional clauses: * if-exists

drop-index

(drop-index index & clauses)

http://cassandra.apache.org/doc/cql3/CQL.html#dropIndexStmt

Takes an index identifier and additional clauses: * if-exists

drop-keyspace

(drop-keyspace keyspace & clauses)

http://cassandra.apache.org/doc/cql3/CQL.html#dropKeyspaceStmt

Takes a keyspace identifier and additional clauses: * if-exists

drop-table

(drop-table table & clauses)

http://cassandra.apache.org/doc/cql3/CQL.html#dropTableStmt

Takes a table identifier and additional clauses: * if-exists

drop-trigger

(drop-trigger trigger table)

http://cassandra.apache.org/doc/cql3/CQL.html#dropTriggerStmt

Takes a trigger identifier and a table identifier

drop-user

(drop-user user & clauses)

Takes a user identifier * if-exists

float->blob

(float->blob x__2152__auto__)

grant

(grant perm & clauses)

Takes clauses: * resource * user

if-exists

(if-exists b)(if-exists)

Clause: Apply only if the target exists

if-not-exists

(if-not-exists b)(if-not-exists)

DEPRECATED use (if-exists false) Clause: Apply only if the row does not exist

in

in can be used as a query value to mark IN in where clause ex: (select :foo (where in :foo [1 2 3]))

inc-by

Increment counter by x, usable in values and set-columns

index-name

(index-name value)

Clause: Takes an index identifier

inet->blob

(inet->blob x__2152__auto__)

insert

(insert table & clauses)

http://cassandra.apache.org/doc/cql3/CQL.html#insertStmt

Takes a table identifier and additional clause arguments: * values * using * if-exists

int->blob

(int->blob x__2152__auto__)

limit

(limit n)

Clause: Sets LIMIT, takes a numeric value

list-perm

(list-perm & clauses)

Takes clauses: * perm (defaults to ALL if not supplied) * user * resource * recursive (defaults to true)

list-type

Generates a list type definition, takes a single argument indicating the list elements type

list-users

(list-users)

logged

(logged value)(logged)

Clause: Sets LOGGED/UNLOGGED attribute on BATCH queries

map-type

Generates a map type definition, takes 2 arguments, for key and value types

max-timeuuid

(max-timeuuid date)

min-timeuuid

(min-timeuuid date)

now

Returns a now() CQL function

only-if

(only-if args)

Clause: takes a map or a vector of pairs (same as where) to compose the if clause of a update/delete query

only-if'

(only-if' & args)

Clause: takes a map or a vector of pairs (same as where) to compose the if clause of a update/delete query

order-by

(order-by & columns)

Clause: takes vectors of 2 elements, where the first is the column identifier and the second is the ordering as keyword. ex: (order-by [:asc :desc])

password

(password value)

Clause: To be used with alter-user and create-user, sets password

perm

(perm value)

Clause: Sets permission to be listed with list-perm

prepend

Prepend element to List

queries

(queries & queries)

Clause: takes hayt queries to be executed during a batch operation.

recursive

(recursive value)(recursive)

Clause: Sets recusivity on list-perm (LIST PERMISSION) queries

rename-column

(rename-column old-name new-name)

Clause: rename from old-name to new-name

resource

(resource value)

Clause: Sets resource to be modified/used with grant or list-perm

revoke

(revoke perm & clauses)

Takes clauses: * resource * user

select

(select table & clauses)

http://cassandra.apache.org/doc/cql3/CQL.html#selectStmt

Takes a table identifier and additional clause arguments:

  • columns (defaults to *)
  • where
  • order-by
  • limit
  • only-if

set-columns

(set-columns values)(set-columns x y & more)

Clause: Takes a map of columns to be updated

set-type

Generates a set type definition, takes a single argument indicating the set elements type

superuser

(superuser value)(superuser)

Clause: To be used with alter-user and create-user, sets superuser status

text->blob

(text->blob x__2152__auto__)

timestamp->blob

(timestamp->blob x__2152__auto__)

timeuuid->blob

(timeuuid->blob x__2152__auto__)

token

(token & tokens)

http://cassandra.apache.org/doc/cql3/CQL.html#selectStmt

Returns a token function with the supplied argument

truncate

(truncate table)

ttl

(ttl x)

http://cassandra.apache.org/doc/cql3/CQL.html#selectStmt

Returns a TTL function with the supplied argument

tuple-type

Generates a tuple type definition, takes n arguments

unix-timestamp-of

(unix-timestamp-of x)

http://cassandra.apache.org/doc/cql3/CQL.html#usingtimeuuid

Returns a unixTimestampOf function with the supplied argument

update

(update table & clauses)

http://cassandra.apache.org/doc/cql3/CQL.html#updateStmt

Takes a table identifier and additional clause arguments:

  • using
  • set-columns
  • where
  • only-if
  • if-exists

use-keyspace

(use-keyspace keyspace)

user

(user value)

Clause: Sets user to be modified/used with grant or list-perm

user-type

(user-type m)

Marks a map as User Data Type

using

(using opts)(using x y & more)

Clause: Sets USING, takes keyword/value pairs for :timestamp and :ttl

uuid->blob

(uuid->blob x__2152__auto__)

values

(values values)(values x y & more)

Clause: Takes a map of columns to be inserted

varchar->blob

(varchar->blob x__2152__auto__)

varint->blob

(varint->blob x__2152__auto__)

where

(where args)

Clause: takes a map or a vector of pairs to compose the where clause of a select/update/delete query

where'

(where' & args)

Same as where but for people who prefer unrolled args

where1

(where1 args)(where1 x y & more)

backward compatible with hayt 1.0 and 2.0 betas

with

(with values)(with x y & more)

Clause: compiles to a CQL with clause (possibly nested maps)

writetime

(writetime x)

http://cassandra.apache.org/doc/cql3/CQL.html#selectStmt

Returns a WRITETIME function with the supplied argument