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-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__2035__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__2035__auto__)

blob->ascii

(blob->ascii x__2035__auto__)

blob->bigint

(blob->bigint x__2035__auto__)

blob->boolean

(blob->boolean x__2035__auto__)

blob->counter

(blob->counter x__2035__auto__)

blob->decimal

(blob->decimal x__2035__auto__)

blob->double

(blob->double x__2035__auto__)

blob->float

(blob->float x__2035__auto__)

blob->inet

(blob->inet x__2035__auto__)

blob->int

(blob->int x__2035__auto__)

blob->text

(blob->text x__2035__auto__)

blob->timestamp

(blob->timestamp x__2035__auto__)

blob->timeuuid

(blob->timeuuid x__2035__auto__)

blob->uuid

(blob->uuid x__2035__auto__)

blob->varchar

(blob->varchar x__2035__auto__)

blob->varint

(blob->varint x__2035__auto__)

boolean->blob

(boolean->blob x__2035__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__2035__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-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__2035__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__2035__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__2035__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__2035__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__2035__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__2035__auto__)

timestamp->blob

(timestamp->blob x__2035__auto__)

timeuuid->blob

(timeuuid->blob x__2035__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

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

using

(using opts)(using x y & more)
Clause: Sets USING, takes keyword/value pairs for :timestamp and :ttl

uuid->blob

(uuid->blob x__2035__auto__)

values

(values values)(values x y & more)
Clause: Takes a map of columns to be inserted

varchar->blob

(varchar->blob x__2035__auto__)

varint->blob

(varint->blob x__2035__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