trait GenericAVET extends AnyRef
AVET Index.
"The AVET index provides efficient access to particular combinations of attribute and value." (from Datomic documentation)
Access the AVET Index in Molecule by instantiating an AVET object with one or more arguments and then add generic attributes:
// Create AVET Index molecule with 1 entity id argument AVET(":Person/age").e.v.t.get === List( (e1, 42, t2), (e2, 37, t5) (e3, 14, t7), ) // Narrow search with multiple arguments AVET(":Person/age", 42).e.t.get === List( (e1, t2) ) AVET(":Person/age", 42, e1).e.v.get === List( (e1, t2) ) AVET(":Person/age", 42, e1, t2).e.v.get === List( (e1, t2) )
The AVET Index can be filtered by a range of values between from (inclusive) and
until (exclusive) for an attribute:
AVET.range(":Person/age", Some(14), Some(37)).v.e.t.get === List( (14, e4, t7) // 14 is included in value range // 37 not included in value range // 42 outside value range ) // If `from` is None, the range starts from the beginning AVET.range(":Person/age", None, Some(40)).v.e.t.get === List( (14, e3, t7), (37, e2, t5), ) // If `until` is None, the range goes to the end AVET.range(":Person/age", Some(20), None).v.e.t.get === List( (37, e2, t5), (42, e1, t2) )
Index attributes available:
e- Entity id (Long)a- Full attribute name like ":Person/name" (String)v- Value of Datoms (Any)t- Transaction pointer (Long/Int)tx- Transaction entity id (Long)txInstant- Transaction wall clock time (java.util.Date)op- Operation status: assertion (true) / retraction (false)
- Source
- GenericAVET.scala
- Note
The Molecule Index API's don't allow returning the whole Index/the whole database. So omitting arguments constructing the Index object (like
AVET.a.v.e.t.get) will throw an exception.
Please use Datomics API if you need to return the whole database Index:
conn.db.datoms(datomic.Database.AVET)
fromanduntilcannot both be None since Molecule doesn't allow returning all datoms.
- Alphabetic
- By Inheritance
- GenericAVET
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
object
AVET extends AVET_0_0_L0[AVET_, Init] with FirstNS
AVET Index object to start AVET Index molecule.

Documentation/API for the Molecule library - a meta DSL for the Datomic database.
scalamolecule.org | Github | Forum