Implementation of relational algebra based on Mike Sperbers relational-algebra.scm. Replaced alist with hash-map.
Implementation of relational algebra based on Mike Sperbers relational-algebra.scm. Replaced alist with hash-map.
(->aggregation op expr)Positional factory function for class sqlosure.relational_algebra.aggregation.
Positional factory function for class sqlosure.relational_algebra.aggregation.
(->aggregation* op)Positional factory function for class sqlosure.relational_algebra.aggregation*.
Positional factory function for class sqlosure.relational_algebra.aggregation*.
(->application rator rands)Positional factory function for class sqlosure.relational_algebra.application.
Positional factory function for class sqlosure.relational_algebra.application.
(->attribute-ref name)Positional factory function for class sqlosure.relational_algebra.attribute-ref.
Positional factory function for class sqlosure.relational_algebra.attribute-ref.
(->base-relation name scheme handle)Positional factory function for class sqlosure.relational_algebra.base-relation.
Positional factory function for class sqlosure.relational_algebra.base-relation.
(->case-expr alist default)Positional factory function for class sqlosure.relational_algebra.case-expr.
Positional factory function for class sqlosure.relational_algebra.case-expr.
(->combine rel-op query-1 query-2)Positional factory function for class sqlosure.relational_algebra.combine.
Positional factory function for class sqlosure.relational_algebra.combine.
(->const type val)Positional factory function for class sqlosure.relational_algebra.const.
Positional factory function for class sqlosure.relational_algebra.const.
(->empty-query)Positional factory function for class sqlosure.relational_algebra.empty-query.
Positional factory function for class sqlosure.relational_algebra.empty-query.
(->group columns query)Positional factory function for class sqlosure.relational_algebra.group.
Positional factory function for class sqlosure.relational_algebra.group.
(->null type)Positional factory function for class sqlosure.relational_algebra.null.
Positional factory function for class sqlosure.relational_algebra.null.
(->order alist query)Positional factory function for class sqlosure.relational_algebra.order.
Positional factory function for class sqlosure.relational_algebra.order.
(->project alist query)Positional factory function for class sqlosure.relational_algebra.project.
Positional factory function for class sqlosure.relational_algebra.project.
(->rator name range-type-proc proc data)Positional factory function for class sqlosure.relational_algebra.rator.
Positional factory function for class sqlosure.relational_algebra.rator.
(->rel-scheme columns map grouped)Positional factory function for class sqlosure.relational_algebra.rel-scheme.
Positional factory function for class sqlosure.relational_algebra.rel-scheme.
(->restrict exp query)Positional factory function for class sqlosure.relational_algebra.restrict.
Positional factory function for class sqlosure.relational_algebra.restrict.
(->restrict-outer exp query)Positional factory function for class sqlosure.relational_algebra.restrict-outer.
Positional factory function for class sqlosure.relational_algebra.restrict-outer.
(->scalar-subquery query)Positional factory function for class sqlosure.relational_algebra.scalar-subquery.
Positional factory function for class sqlosure.relational_algebra.scalar-subquery.
(->set-subquery query)Positional factory function for class sqlosure.relational_algebra.set-subquery.
Positional factory function for class sqlosure.relational_algebra.set-subquery.
(->top offset count query)Positional factory function for class sqlosure.relational_algebra.top.
Positional factory function for class sqlosure.relational_algebra.top.
(->tuple expressions)Positional factory function for class sqlosure.relational_algebra.tuple.
Positional factory function for class sqlosure.relational_algebra.tuple.
(aggregate? expr)Returns true if expr is or contains an aggregation.
Returns true if `expr` is or contains an aggregation.
(aggregation*-operator aggregation*)Access op field from a [[aggregation*]] record. See sqlosure.relational-algebra/really-make-aggregation*.
Access `op` field from a [[aggregation*]] record. See [[sqlosure.relational-algebra/really-make-aggregation*]].
(aggregation*? thing)Is object a aggregation* record? See sqlosure.relational-algebra/really-make-aggregation*.
Is object a `aggregation*` record? See [[sqlosure.relational-algebra/really-make-aggregation*]].
(aggregation-expr aggregation)Access expr field from a [[aggregation]] record. See sqlosure.relational-algebra/really-make-aggregation.
Access `expr` field from a [[aggregation]] record. See [[sqlosure.relational-algebra/really-make-aggregation]].
(aggregation-operator aggregation)Access op field from a [[aggregation]] record. See sqlosure.relational-algebra/really-make-aggregation.
Access `op` field from a [[aggregation]] record. See [[sqlosure.relational-algebra/really-make-aggregation]].
(aggregation? thing)Is object a aggregation record? See sqlosure.relational-algebra/really-make-aggregation.
Is object a `aggregation` record? See [[sqlosure.relational-algebra/really-make-aggregation]].
(alist->rel-scheme alist)Construct a relational scheme from an alist of [column-name type].
Construct a relational scheme from an alist of `[column-name type]`.
(application-rands application)Access rands field from a [[application]] record. See sqlosure.relational-algebra/really-make-application.
Access `rands` field from a [[application]] record. See [[sqlosure.relational-algebra/really-make-application]].
(application-rator application)Access rator field from a [[application]] record. See sqlosure.relational-algebra/really-make-application.
Access `rator` field from a [[application]] record. See [[sqlosure.relational-algebra/really-make-application]].
(application? thing)Is object a application record? See sqlosure.relational-algebra/really-make-application.
Is object a `application` record? See [[sqlosure.relational-algebra/really-make-application]].
(attach-rel-scheme-cache query fun)Attach a rel-scheme cache to query.
query is the queryfun is a function accepting an environment, yielding the scheme of the queryAttach a rel-scheme cache to query. - `query` is the query - `fun` is a function accepting an environment, yielding the scheme of the query
(attribute-ref-name attribute-ref)Access name field from a [[attribute-ref]] record. See sqlosure.relational-algebra/make-attribute-ref.
Access `name` field from a [[attribute-ref]] record. See [[sqlosure.relational-algebra/make-attribute-ref]].
(attribute-ref? thing)Is object a attribute-ref record? See sqlosure.relational-algebra/make-attribute-ref.
Is object a `attribute-ref` record? See [[sqlosure.relational-algebra/make-attribute-ref]].
(base-relation-handle base-relation)Access handle field from a [[base-relation]] record. See sqlosure.relational-algebra/really-make-base-relation.
Access `handle` field from a [[base-relation]] record. See [[sqlosure.relational-algebra/really-make-base-relation]].
(base-relation-name base-relation)Access name field from a [[base-relation]] record. See sqlosure.relational-algebra/really-make-base-relation.
Access `name` field from a [[base-relation]] record. See [[sqlosure.relational-algebra/really-make-base-relation]].
(base-relation-scheme base-relation)Access scheme field from a [[base-relation]] record. See sqlosure.relational-algebra/really-make-base-relation.
Access `scheme` field from a [[base-relation]] record. See [[sqlosure.relational-algebra/really-make-base-relation]].
(base-relation? thing)Is object a base-relation record? See sqlosure.relational-algebra/really-make-base-relation.
Is object a `base-relation` record? See [[sqlosure.relational-algebra/really-make-base-relation]].
(case-expr-alist case-expr)Access alist field from a [[case-expr]] record. See sqlosure.relational-algebra/make-case-expr.
Access `alist` field from a [[case-expr]] record. See [[sqlosure.relational-algebra/make-case-expr]].
(case-expr-default case-expr)Access default field from a [[case-expr]] record. See sqlosure.relational-algebra/make-case-expr.
Access `default` field from a [[case-expr]] record. See [[sqlosure.relational-algebra/make-case-expr]].
(case-expr? thing)Is object a case-expr record? See sqlosure.relational-algebra/make-case-expr.
Is object a `case-expr` record? See [[sqlosure.relational-algebra/make-case-expr]].
(combine-query-1 combine)Access query-1 field from a [[combine]] record. See sqlosure.relational-algebra/really-make-combine.
Access `query-1` field from a [[combine]] record. See [[sqlosure.relational-algebra/really-make-combine]].
(combine-query-2 combine)Access query-2 field from a [[combine]] record. See sqlosure.relational-algebra/really-make-combine.
Access `query-2` field from a [[combine]] record. See [[sqlosure.relational-algebra/really-make-combine]].
(combine-rel-op combine)Access rel-op field from a [[combine]] record. See sqlosure.relational-algebra/really-make-combine.
Access `rel-op` field from a [[combine]] record. See [[sqlosure.relational-algebra/really-make-combine]].
(combine? thing)Is object a combine record? See sqlosure.relational-algebra/really-make-combine.
Is object a `combine` record? See [[sqlosure.relational-algebra/really-make-combine]].
(compose-environments e1 e2)Combine two environments. e1 takes precedence over e2.
Combine two environments. e1 takes precedence over e2.
(const-null? thing)Is object a null record? See sqlosure.relational-algebra/make-null.
Is object a `null` record? See [[sqlosure.relational-algebra/make-null]].
(const-type const)Access type field from a [[const]] record. See sqlosure.relational-algebra/make-const.
Access `type` field from a [[const]] record. See [[sqlosure.relational-algebra/make-const]].
(const-val const)Access val field from a [[const]] record. See sqlosure.relational-algebra/make-const.
Access `val` field from a [[const]] record. See [[sqlosure.relational-algebra/make-const]].
(const? thing)Is object a const record? See sqlosure.relational-algebra/make-const.
Is object a `const` record? See [[sqlosure.relational-algebra/make-const]].
(count-aggregations e)Count all aggregations in an expression.
Count all aggregations in an expression.
(cull-substitution-alist alist underlying)Takes an map and a 'underlying' query and returns a map of
substitutions not already featured in underlying.
Takes an map and a 'underlying' query and returns a map of substitutions not already featured in `underlying`.
(datum->expression d universe)Takes a datum and returns the corresponding expression. This is the inverse
function of expression->datum, so
(= d (datum->expression (expression->datum d) u))
should hold.
Takes a datum and returns the corresponding expression. This is the inverse function of expression->datum, so `(= d (datum->expression (expression->datum d) u))` should hold.
(empty-query? thing)Is object a empty-query record? See sqlosure.relational-algebra/make-empty-query.
Is object a `empty-query` record? See [[sqlosure.relational-algebra/make-empty-query]].
(expression->datum e)Takes an expression and returns a data representation of it. Example:
Takes an expression and returns a data representation of it. Example: * `(expression->datum (make-attribute-ref "foo")) => (attribute-ref "foo")'
(expression-attribute-names expr)Takes an expression and returns a seq all attribute-ref's names.
Takes an expression and returns a seq all attribute-ref's names.
(expression-type env expr)expression-type takes an environment map and an expression and tries to
find the expressions type (either based on expr itself or on the
mappings of the env).
`expression-type` takes an environment map and an expression and tries to find the expressions type (either based on expr itself or on the mappings of the env).
(fold-expression on-attribute-ref
on-const
on-null
on-application
on-tuple
on-aggregation
on-aggregation*
on-case
on-scalar-subquery
on-set-subquery
expr)(group-columns group)Access columns field (set of columns to group by) from a [[group]] record. See sqlosure.relational-algebra/really-make-group.
Access `columns` field (set of columns to group by) from a [[group]] record. See [[sqlosure.relational-algebra/really-make-group]].
(group-query group)Access query field (underlying query) from a [[group]] record. See sqlosure.relational-algebra/really-make-group.
Access `query` field (underlying query) from a [[group]] record. See [[sqlosure.relational-algebra/really-make-group]].
(group? thing)Is object a group record? See sqlosure.relational-algebra/really-make-group.
Is object a `group` record? See [[sqlosure.relational-algebra/really-make-group]].
(lookup-env name env)Lookup a name in an environment.
Lookup a name in an environment.
(make-attribute-ref name)Construct a attribute-ref record.
name: access via sqlosure.relational-algebra/attribute-ref-name
Construct a `attribute-ref` record. `name`: access via [[sqlosure.relational-algebra/attribute-ref-name]]
(make-base-relation name
scheme
&
{:keys [universe handle] :or {universe nil handle nil}})Returns a new base relation. If :handle is supplied, use is as base-relation-handle, defaults to nil. If :universe is supplied, return a vector of [relation universe]
Returns a new base relation. If :handle is supplied, use is as base-relation-handle, defaults to nil. If :universe is supplied, return a vector of [relation universe]
(make-case-expr alist default)Construct a case-expr record.
alist: access via sqlosure.relational-algebra/case-expr-alist
default: access via sqlosure.relational-algebra/case-expr-default
Construct a `case-expr` record. `alist`: access via [[sqlosure.relational-algebra/case-expr-alist]] `default`: access via [[sqlosure.relational-algebra/case-expr-default]]
(make-const type val)Construct a const record.
type: access via sqlosure.relational-algebra/const-type
val: access via sqlosure.relational-algebra/const-val
Construct a `const` record. `type`: access via [[sqlosure.relational-algebra/const-type]] `val`: access via [[sqlosure.relational-algebra/const-val]]
(make-empty-query)Construct a empty-query record.
Construct a `empty-query` record.
(make-extend alist query)Creates a projection of some attributes while keeping all other attributes in the relation visible too.
Creates a projection of some attributes while keeping all other attributes in the relation visible too.
(make-group columns query)Make a grouped query from a basic query.
columns is a seq of columns to be grouped byquery is the underlying queryMake a grouped query from a basic query. - `columns` is a seq of columns to be grouped by - `query` is the underlying query
(make-monomorphic-combinator name domains range proc & {:keys [universe data]})(make-monomorphic-rator name
domain-types
range-type
proc
&
{:keys [universe data]})(make-null type)Construct a null record.
type: access via sqlosure.relational-algebra/null-type
Construct a `null` record. `type`: access via [[sqlosure.relational-algebra/null-type]]
(make-rel-scheme-cache fun)Make a rel-scheme cache.
fun is a function accepting an environment, producing the schemeMake a rel-scheme cache. - `fun` is a function accepting an environment, producing the scheme
(make-restrict exp query)Create a restriction:
exp is a boolean expression, acting as a filterquery is the underlying queryCreate a restriction: - `exp` is a boolean expression, acting as a filter - `query` is the underlying query
(make-restrict-outer exp query)Restrict a right-hand side of a left-outer product.
Restrict a right-hand side of a left-outer product.
(make-scalar-subquery query)Construct a scalar-subquery record.
query: access via sqlosure.relational-algebra/scalar-subquery-query
Construct a `scalar-subquery` record. `query`: access via [[sqlosure.relational-algebra/scalar-subquery-query]]
(make-set-subquery query)Construct a set-subquery record.
query: access via sqlosure.relational-algebra/set-subquery-query
Construct a `set-subquery` record. `query`: access via [[sqlosure.relational-algebra/set-subquery-query]]
(make-top offset count query)The top count entries, optionally starting at offset, defaulting to 0.
The top `count` entries, optionally starting at `offset`, defaulting to 0.
(make-tuple expressions)Construct a tuple record.
expressions: access via sqlosure.relational-algebra/tuple-expressions
Construct a `tuple` record. `expressions`: access via [[sqlosure.relational-algebra/tuple-expressions]]
(map->aggregation m__7585__auto__)Factory function for class sqlosure.relational_algebra.aggregation, taking a map of keywords to field values.
Factory function for class sqlosure.relational_algebra.aggregation, taking a map of keywords to field values.
(map->aggregation* m__7585__auto__)Factory function for class sqlosure.relational_algebra.aggregation*, taking a map of keywords to field values.
Factory function for class sqlosure.relational_algebra.aggregation*, taking a map of keywords to field values.
(map->application m__7585__auto__)Factory function for class sqlosure.relational_algebra.application, taking a map of keywords to field values.
Factory function for class sqlosure.relational_algebra.application, taking a map of keywords to field values.
(map->attribute-ref m__7585__auto__)Factory function for class sqlosure.relational_algebra.attribute-ref, taking a map of keywords to field values.
Factory function for class sqlosure.relational_algebra.attribute-ref, taking a map of keywords to field values.
(map->base-relation m__7585__auto__)Factory function for class sqlosure.relational_algebra.base-relation, taking a map of keywords to field values.
Factory function for class sqlosure.relational_algebra.base-relation, taking a map of keywords to field values.
(map->case-expr m__7585__auto__)Factory function for class sqlosure.relational_algebra.case-expr, taking a map of keywords to field values.
Factory function for class sqlosure.relational_algebra.case-expr, taking a map of keywords to field values.
(map->combine m__7585__auto__)Factory function for class sqlosure.relational_algebra.combine, taking a map of keywords to field values.
Factory function for class sqlosure.relational_algebra.combine, taking a map of keywords to field values.
(map->const m__7585__auto__)Factory function for class sqlosure.relational_algebra.const, taking a map of keywords to field values.
Factory function for class sqlosure.relational_algebra.const, taking a map of keywords to field values.
(map->empty-query m__7585__auto__)Factory function for class sqlosure.relational_algebra.empty-query, taking a map of keywords to field values.
Factory function for class sqlosure.relational_algebra.empty-query, taking a map of keywords to field values.
(map->group m__7585__auto__)Factory function for class sqlosure.relational_algebra.group, taking a map of keywords to field values.
Factory function for class sqlosure.relational_algebra.group, taking a map of keywords to field values.
(map->null m__7585__auto__)Factory function for class sqlosure.relational_algebra.null, taking a map of keywords to field values.
Factory function for class sqlosure.relational_algebra.null, taking a map of keywords to field values.
(map->order m__7585__auto__)Factory function for class sqlosure.relational_algebra.order, taking a map of keywords to field values.
Factory function for class sqlosure.relational_algebra.order, taking a map of keywords to field values.
(map->project m__7585__auto__)Factory function for class sqlosure.relational_algebra.project, taking a map of keywords to field values.
Factory function for class sqlosure.relational_algebra.project, taking a map of keywords to field values.
(map->rator m__7585__auto__)Factory function for class sqlosure.relational_algebra.rator, taking a map of keywords to field values.
Factory function for class sqlosure.relational_algebra.rator, taking a map of keywords to field values.
(map->rel-scheme m__7585__auto__)Factory function for class sqlosure.relational_algebra.rel-scheme, taking a map of keywords to field values.
Factory function for class sqlosure.relational_algebra.rel-scheme, taking a map of keywords to field values.
(map->restrict m__7585__auto__)Factory function for class sqlosure.relational_algebra.restrict, taking a map of keywords to field values.
Factory function for class sqlosure.relational_algebra.restrict, taking a map of keywords to field values.
(map->restrict-outer m__7585__auto__)Factory function for class sqlosure.relational_algebra.restrict-outer, taking a map of keywords to field values.
Factory function for class sqlosure.relational_algebra.restrict-outer, taking a map of keywords to field values.
(map->scalar-subquery m__7585__auto__)Factory function for class sqlosure.relational_algebra.scalar-subquery, taking a map of keywords to field values.
Factory function for class sqlosure.relational_algebra.scalar-subquery, taking a map of keywords to field values.
(map->set-subquery m__7585__auto__)Factory function for class sqlosure.relational_algebra.set-subquery, taking a map of keywords to field values.
Factory function for class sqlosure.relational_algebra.set-subquery, taking a map of keywords to field values.
(map->top m__7585__auto__)Factory function for class sqlosure.relational_algebra.top, taking a map of keywords to field values.
Factory function for class sqlosure.relational_algebra.top, taking a map of keywords to field values.
(map->tuple m__7585__auto__)Factory function for class sqlosure.relational_algebra.tuple, taking a map of keywords to field values.
Factory function for class sqlosure.relational_algebra.tuple, taking a map of keywords to field values.
(null-lift-binary-predicate pred)Helper for defining rators. Takes a predicate and returns a function that takes two values to apply this predicate to.
Helper for defining rators. Takes a predicate and returns a function that takes two values to apply this predicate to.
(null-type null)Access type field from a [[null]] record. See sqlosure.relational-algebra/make-null.
Access `type` field from a [[null]] record. See [[sqlosure.relational-algebra/make-null]].
(order-alist order)Access alist field from a [[order]] record. See sqlosure.relational-algebra/really-make-order.
Access `alist` field from a [[order]] record. See [[sqlosure.relational-algebra/really-make-order]].
(order-query order)Access query field from a [[order]] record. See sqlosure.relational-algebra/really-make-order.
Access `query` field from a [[order]] record. See [[sqlosure.relational-algebra/really-make-order]].
(order? thing)Is object a order record? See sqlosure.relational-algebra/really-make-order.
Is object a `order` record? See [[sqlosure.relational-algebra/really-make-order]].
(project-aggregate? pr)Test whether a project contains aggregate right-hand sides.
Test whether a project contains aggregate right-hand sides.
(project-alist project)Access alist field (Maps newly bound attribute names to expressions.) from a [[project]] record. See sqlosure.relational-algebra/really-really-make-project.
Access `alist` field (Maps newly bound attribute names to expressions.) from a [[project]] record. See [[sqlosure.relational-algebra/really-really-make-project]].
(project-alist-aggregate? alist)Test whether a project alist contains aggregate right-hand sides.
Test whether a project alist contains aggregate right-hand sides.
(project-query project)Access query field from a [[project]] record. See sqlosure.relational-algebra/really-really-make-project.
Access `query` field from a [[project]] record. See [[sqlosure.relational-algebra/really-really-make-project]].
(project? thing)Is object a project record? See sqlosure.relational-algebra/really-really-make-project.
Is object a `project` record? See [[sqlosure.relational-algebra/really-really-make-project]].
(query-attribute-names q)Takes a query and returns a set of all attribute-ref's names.
Takes a query and returns a set of all attribute-ref's names.
(query-scheme q)(query-scheme q env)Return the query scheme of query q as a rel-scheme.
Return the query scheme of query `q` as a `rel-scheme`.
(query? obj)Returns true if the obj is a query.
Returns true if the `obj` is a query.
(rator-data rator)Access data field from a [[rator]] record. See sqlosure.relational-algebra/really-make-rator.
Access `data` field from a [[rator]] record. See [[sqlosure.relational-algebra/really-make-rator]].
(rator-name rator)Access name field from a [[rator]] record. See sqlosure.relational-algebra/really-make-rator.
Access `name` field from a [[rator]] record. See [[sqlosure.relational-algebra/really-make-rator]].
(rator-proc rator)Access proc field from a [[rator]] record. See sqlosure.relational-algebra/really-make-rator.
Access `proc` field from a [[rator]] record. See [[sqlosure.relational-algebra/really-make-rator]].
(rator-range-type-proc rator)Access range-type-proc field from a [[rator]] record. See sqlosure.relational-algebra/really-make-rator.
Access `range-type-proc` field from a [[rator]] record. See [[sqlosure.relational-algebra/really-make-rator]].
(rator? thing)Is object a rator record? See sqlosure.relational-algebra/really-make-rator.
Is object a `rator` record? See [[sqlosure.relational-algebra/really-make-rator]].
(really-make-aggregation op expr)Construct a aggregation record.
op: access via sqlosure.relational-algebra/aggregation-operator
expr: access via sqlosure.relational-algebra/aggregation-expr
Construct a `aggregation` record. `op`: access via [[sqlosure.relational-algebra/aggregation-operator]] `expr`: access via [[sqlosure.relational-algebra/aggregation-expr]]
(really-make-aggregation* op)Construct a aggregation* record.
op: access via sqlosure.relational-algebra/aggregation*-operator
Construct a `aggregation*` record. `op`: access via [[sqlosure.relational-algebra/aggregation*-operator]]
(really-make-application rator rands)Construct a application record.
rator: access via sqlosure.relational-algebra/application-rator
rands: access via sqlosure.relational-algebra/application-rands
Construct a `application` record. `rator`: access via [[sqlosure.relational-algebra/application-rator]] `rands`: access via [[sqlosure.relational-algebra/application-rands]]
(really-make-base-relation name scheme handle)Construct a base-relation record.
name: access via sqlosure.relational-algebra/base-relation-name
scheme: access via sqlosure.relational-algebra/base-relation-scheme
handle: access via sqlosure.relational-algebra/base-relation-handle
Construct a `base-relation` record. `name`: access via [[sqlosure.relational-algebra/base-relation-name]] `scheme`: access via [[sqlosure.relational-algebra/base-relation-scheme]] `handle`: access via [[sqlosure.relational-algebra/base-relation-handle]]
(really-make-combine rel-op query-1 query-2)Construct a combine record.
rel-op: access via sqlosure.relational-algebra/combine-rel-op
query-1: access via sqlosure.relational-algebra/combine-query-1
query-2: access via sqlosure.relational-algebra/combine-query-2
Construct a `combine` record. `rel-op`: access via [[sqlosure.relational-algebra/combine-rel-op]] `query-1`: access via [[sqlosure.relational-algebra/combine-query-1]] `query-2`: access via [[sqlosure.relational-algebra/combine-query-2]]
(really-make-group columns query)Construct a group record.
columns (set of columns to group by): access via sqlosure.relational-algebra/group-columns
query (underlying query): access via sqlosure.relational-algebra/group-query
Construct a `group` record. `columns` (set of columns to group by): access via [[sqlosure.relational-algebra/group-columns]] `query` (underlying query): access via [[sqlosure.relational-algebra/group-query]]
(really-make-order alist query)Construct a order record.
alist: access via sqlosure.relational-algebra/order-alist
query: access via sqlosure.relational-algebra/order-query
Construct a `order` record. `alist`: access via [[sqlosure.relational-algebra/order-alist]] `query`: access via [[sqlosure.relational-algebra/order-query]]
(really-make-rator name range-type-proc proc data)Construct a rator record.
name: access via sqlosure.relational-algebra/rator-name
range-type-proc: access via sqlosure.relational-algebra/rator-range-type-proc
proc: access via sqlosure.relational-algebra/rator-proc
data: access via sqlosure.relational-algebra/rator-data
Construct a `rator` record. `name`: access via [[sqlosure.relational-algebra/rator-name]] `range-type-proc`: access via [[sqlosure.relational-algebra/rator-range-type-proc]] `proc`: access via [[sqlosure.relational-algebra/rator-proc]] `data`: access via [[sqlosure.relational-algebra/rator-data]]
(really-make-rel-scheme-cache fun map-atom)Construct a RelSchemeCache (Cache for the relational scheme of a query.) record.
fun (Function accepting an environment, producing a rel scheme.): access via sqlosure.relational-algebra/rel-scheme-cache-fun
map-atom (Atom containing map environment |-> scheme): access via sqlosure.relational-algebra/rel-scheme-cache-map-atom
Construct a `RelSchemeCache` (Cache for the relational scheme of a query.) record. `fun` (Function accepting an environment, producing a rel scheme.): access via [[sqlosure.relational-algebra/rel-scheme-cache-fun]] `map-atom` (Atom containing map `environment |-> scheme`): access via [[sqlosure.relational-algebra/rel-scheme-cache-map-atom]]
(really-make-restrict exp query)Construct a restrict record.
exp: access via sqlosure.relational-algebra/restrict-exp
query: access via sqlosure.relational-algebra/restrict-query
Construct a `restrict` record. `exp`: access via [[sqlosure.relational-algebra/restrict-exp]] `query`: access via [[sqlosure.relational-algebra/restrict-query]]
(really-make-restrict-outer exp query)Construct a restrict-outer (Restrict a left outer product.
This will restrict all the right-hand sides of left outer products.
If it doesn't hold, these right-hand sides will have all-null
columns.) record.
exp: access via sqlosure.relational-algebra/restrict-outer-exp
query: access via sqlosure.relational-algebra/restrict-outer-query
Construct a `restrict-outer` (Restrict a left outer product. This will restrict all the right-hand sides of left outer products. If it doesn't hold, these right-hand sides will have all-null columns.) record. `exp`: access via [[sqlosure.relational-algebra/restrict-outer-exp]] `query`: access via [[sqlosure.relational-algebra/restrict-outer-query]]
(really-make-top offset count query)Construct a top record.
offset: access via sqlosure.relational-algebra/top-offset
count: access via sqlosure.relational-algebra/top-count
query: access via sqlosure.relational-algebra/top-query
Construct a `top` record. `offset`: access via [[sqlosure.relational-algebra/top-offset]] `count`: access via [[sqlosure.relational-algebra/top-count]] `query`: access via [[sqlosure.relational-algebra/top-query]]
(really-really-make-project alist query)Construct a project record.
alist (Maps newly bound attribute names to expressions.): access via sqlosure.relational-algebra/project-alist
query: access via sqlosure.relational-algebra/project-query
Construct a `project` record. `alist` (Maps newly bound attribute names to expressions.): access via [[sqlosure.relational-algebra/project-alist]] `query`: access via [[sqlosure.relational-algebra/project-query]]
(rel-scheme->environment s)Returns the relation table of a rel-scheme.
Returns the relation table of a rel-scheme.
(rel-scheme-cache-fun RelSchemeCache)Access fun field (Function accepting an environment, producing a rel scheme.) from a [[RelSchemeCache]] record. See sqlosure.relational-algebra/really-make-rel-scheme-cache.
Access `fun` field (Function accepting an environment, producing a rel scheme.) from a [[RelSchemeCache]] record. See [[sqlosure.relational-algebra/really-make-rel-scheme-cache]].
(rel-scheme-cache-map-atom RelSchemeCache)Access map-atom field (Atom containing map environment |-> scheme) from a [[RelSchemeCache]] record. See sqlosure.relational-algebra/really-make-rel-scheme-cache.
Access `map-atom` field (Atom containing map `environment |-> scheme`) from a [[RelSchemeCache]] record. See [[sqlosure.relational-algebra/really-make-rel-scheme-cache]].
(rel-scheme-cache-scheme cache env)Compute a relational scheme from a cache, using the cached version if possible.
Compute a relational scheme from a cache, using the cached version if possible.
(rel-scheme-cache? thing)Is object a RelSchemeCache record? See sqlosure.relational-algebra/really-make-rel-scheme-cache.
Is object a `RelSchemeCache` record? See [[sqlosure.relational-algebra/really-make-rel-scheme-cache]].
(rel-scheme-columns rel-scheme)Access columns field (Ordered sequence of the columns.) from a [[rel-scheme]] record. See [[sqlosure.relational-algebra/really-make-rel-scheme]].
Access `columns` field (Ordered sequence of the columns.) from a [[rel-scheme]] record. See [[sqlosure.relational-algebra/really-make-rel-scheme]].
(rel-scheme-concat s1 s2)Takes two rel-schemes and concatenates them. This means:
Takes two rel-schemes and concatenates them. This means: - concatenate columns - merge alists - union grouped-sets
(rel-scheme-difference s1 s2)Return a new rel-scheme resulting of the (set-)difference of s1's and s2's alist.
Return a new rel-scheme resulting of the (set-)difference of s1's and s2's alist.
(rel-scheme-grouped rel-scheme)Access grouped field from a [[rel-scheme]] record. See [[sqlosure.relational-algebra/really-make-rel-scheme]].
Access `grouped` field from a [[rel-scheme]] record. See [[sqlosure.relational-algebra/really-make-rel-scheme]].
Lens for the grouped field from a [[rel-scheme]] record.See [[sqlosure.relational-algebra/really-make-rel-scheme]].
Lens for the `grouped` field from a [[rel-scheme]] record.See [[sqlosure.relational-algebra/really-make-rel-scheme]].
(rel-scheme-map rel-scheme)Access map field (Map of labels to types.) from a [[rel-scheme]] record. See [[sqlosure.relational-algebra/really-make-rel-scheme]].
Access `map` field (Map of labels to types.) from a [[rel-scheme]] record. See [[sqlosure.relational-algebra/really-make-rel-scheme]].
(rel-scheme-nullable scheme)Makes all columns in a scheme nullable.
Makes all columns in a scheme nullable.
(rel-scheme-types rs)Returns the types of a rel-scheme, in the order they were created.
Returns the types of a rel-scheme, in the order they were created.
(rel-scheme-unary=? rs)Does rel scheme have only 1 column?
Does rel scheme have only 1 column?
(rel-scheme-unary? scheme)Returns true if the rel-scheme's alist consist of only one pair.
Returns true if the rel-scheme's alist consist of only one pair.
(rel-scheme=? t1 t2)Returns true if t1 and t2 are the same.
Returns true if t1 and t2 are the same.
(rel-scheme? thing)Is object a rel-scheme record? See [[sqlosure.relational-algebra/really-make-rel-scheme]].
Is object a `rel-scheme` record? See [[sqlosure.relational-algebra/really-make-rel-scheme]].
(restrict-exp restrict)Access exp field from a [[restrict]] record. See sqlosure.relational-algebra/really-make-restrict.
Access `exp` field from a [[restrict]] record. See [[sqlosure.relational-algebra/really-make-restrict]].
(restrict-outer-exp restrict-outer)Access exp field from a [[restrict-outer]] record. See sqlosure.relational-algebra/really-make-restrict-outer.
Access `exp` field from a [[restrict-outer]] record. See [[sqlosure.relational-algebra/really-make-restrict-outer]].
(restrict-outer-query restrict-outer)Access query field from a [[restrict-outer]] record. See sqlosure.relational-algebra/really-make-restrict-outer.
Access `query` field from a [[restrict-outer]] record. See [[sqlosure.relational-algebra/really-make-restrict-outer]].
(restrict-outer? thing)Is object a restrict-outer record? See sqlosure.relational-algebra/really-make-restrict-outer.
Is object a `restrict-outer` record? See [[sqlosure.relational-algebra/really-make-restrict-outer]].
(restrict-query restrict)Access query field from a [[restrict]] record. See sqlosure.relational-algebra/really-make-restrict.
Access `query` field from a [[restrict]] record. See [[sqlosure.relational-algebra/really-make-restrict]].
(restrict? thing)Is object a restrict record? See sqlosure.relational-algebra/really-make-restrict.
Is object a `restrict` record? See [[sqlosure.relational-algebra/really-make-restrict]].
(scalar-subquery-query scalar-subquery)Access query field from a [[scalar-subquery]] record. See sqlosure.relational-algebra/make-scalar-subquery.
Access `query` field from a [[scalar-subquery]] record. See [[sqlosure.relational-algebra/make-scalar-subquery]].
(scalar-subquery? thing)Is object a scalar-subquery record? See sqlosure.relational-algebra/make-scalar-subquery.
Is object a `scalar-subquery` record? See [[sqlosure.relational-algebra/make-scalar-subquery]].
(set-subquery-query set-subquery)Access query field from a [[set-subquery]] record. See sqlosure.relational-algebra/make-set-subquery.
Access `query` field from a [[set-subquery]] record. See [[sqlosure.relational-algebra/make-set-subquery]].
(set-subquery? thing)Is object a set-subquery record? See sqlosure.relational-algebra/make-set-subquery.
Is object a `set-subquery` record? See [[sqlosure.relational-algebra/make-set-subquery]].
(top-count top)Access count field from a [[top]] record. See sqlosure.relational-algebra/really-make-top.
Access `count` field from a [[top]] record. See [[sqlosure.relational-algebra/really-make-top]].
(top-offset top)Access offset field from a [[top]] record. See sqlosure.relational-algebra/really-make-top.
Access `offset` field from a [[top]] record. See [[sqlosure.relational-algebra/really-make-top]].
(top-query top)Access query field from a [[top]] record. See sqlosure.relational-algebra/really-make-top.
Access `query` field from a [[top]] record. See [[sqlosure.relational-algebra/really-make-top]].
(top? thing)Is object a top record? See sqlosure.relational-algebra/really-make-top.
Is object a `top` record? See [[sqlosure.relational-algebra/really-make-top]].
(tuple-expressions tuple)Access expressions field from a [[tuple]] record. See sqlosure.relational-algebra/make-tuple.
Access `expressions` field from a [[tuple]] record. See [[sqlosure.relational-algebra/make-tuple]].
(tuple? thing)Is object a tuple record? See sqlosure.relational-algebra/make-tuple.
Is object a `tuple` record? See [[sqlosure.relational-algebra/make-tuple]].
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |