(difference s1)
(difference s1 s2)
(difference s1 s2 & sets)
Return a coll that is the first coll without elements of the remaining colls
Return a coll that is the first coll without elements of the remaining colls
(extend xrel m)
(extend xrel k f)
Extends each tuple by assoc:ing k to the result of (f tuple). k can either be a new key or an existing key.
A map from k to f can also be specified, to extend multiple attributes in one call.
Extends each tuple by assoc:ing k to the result of (f tuple). k can either be a new key or an existing key. A map from k to f can also be specified, to extend multiple attributes in one call.
(index xrel ks)
Returns a map of the distinct values of ks in the xrel mapped to a set of the maps in xrel with the corresponding values of ks.
Returns a map of the distinct values of ks in the xrel mapped to a set of the maps in xrel with the corresponding values of ks.
(index-unique xrel ks)
Like index
but requires that each key only have one value. The vals in the
index is a single value and not in a collection like with index
. Throws
if the unique constraint is not met.
Like `index` but requires that each key only have one value. The vals in the index is a single value and not in a collection like with `index`. Throws if the unique constraint is not met.
(intersection s1)
(intersection s1 s2)
(intersection s1 s2 & sets)
Return a coll that is the intersection of the input colls
Return a coll that is the intersection of the input colls
(join xrel yrel)
(join xrel yrel km)
When passed 2 rels, returns the rel corresponding to the natural join. When passed an additional keymap, joins on the corresponding keys.
When passed 2 rels, returns the rel corresponding to the natural join. When passed an additional keymap, joins on the corresponding keys.
(left-join xrel yrel km)
Joins, but always keeps enerything on the left, even if there is no match on the right. Each row will contain all keys from the left, plus all keys in the km (possibly with nil values), and, when there is a match, all keys from the right.
Joins, but always keeps enerything on the left, even if there is no match on the right. Each row will contain all keys from the left, plus all keys in the km (possibly with nil values), and, when there is a match, all keys from the right.
Returns the map with the vals mapped to the keys.
Returns the map with the vals mapped to the keys.
(order-by xrel keyfn)
(order-by xrel keyfn comp)
Orders the tuples according to keyfn and an optional comparator.
Same behavior as clojure.core/sort-by
, but with xrel in first position.
Orders the tuples according to keyfn and an optional comparator. Same behavior as `clojure.core/sort-by`, but with xrel in first position.
(project xrel attr-names)
Returns a rel of the elements of xrel with only the keys in ks
Returns a rel of the elements of xrel with only the keys in ks
(rename xrel kmap)
Returns a rel of the maps in xrel with the keys in kmap renamed to the vals in kmap
Returns a rel of the maps in xrel with the keys in kmap renamed to the vals in kmap
Returns the map with the keys in kmap renamed to the vals in kmap
Returns the map with the keys in kmap renamed to the vals in kmap
(restrict xrel pred?)
Returns a coll of the elements for which pred is true. Same as select
but
with the rel in first position to be more useful in a -> chain.
Returns a coll of the elements for which pred is true. Same as `select` but with the rel in first position to be more useful in a -> chain.
(select pred? xrel)
Returns a coll of the elements for which pred is true
Returns a coll of the elements for which pred is true
(setish xs)
Return a coll of the same type as xs but without duplicates.
Return a coll of the same type as xs but without duplicates.
(subset? coll1 coll2)
Is coll1 a subset of coll2
Is coll1 a subset of coll2
(superset? coll1 coll2)
Is coll1 a superset of coll2?
Is coll1 a superset of coll2?
(union)
(union s1)
(union s1 s2)
(union s1 s2 & sets)
Return a coll that is the union of the input colls
Return a coll that is the union of the input colls
(update xrel k f & args)
Like clojure.core/update, but works on each tuple in a rel.
Like clojure.core/update, but works on each tuple in a rel.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close