Packages

o

molecule.api

in3_out18

object in3_out18 extends core with Molecule_Factory18 with Molecule_In_1_Factory18 with Molecule_In_2_Factory18 with Molecule_In_3_Factory18 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5 with Composite_In_3_Factory5

Source
api.scala
Content Hierarchy
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. in3_out18
  2. Composite_In_3_Factory5
  3. Composite_In_2_Factory5
  4. Composite_In_1_Factory5
  5. Composite_Factory5
  6. Molecule_In_3_Factory18
  7. Molecule_In_2_Factory18
  8. Molecule_In_1_Factory18
  9. Molecule_Factory18
  10. core
  11. GenericVAET
  12. GenericEAVT
  13. GenericAVET
  14. GenericAEVT
  15. GenericLog
  16. GenericSchema
  17. TxMethods
  18. EntityOps
  19. LogicImplicits
  20. AggregateKeywords
  21. AttrExpressions
  22. Datomic
  23. AnyRef
  24. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. type ?? = expression.AttrExpressions.?
    Definition Classes
    AttrExpressions
  2. trait avg extends AnyRef

    Average of attribute values.

    Average of attribute values.

    Apply avg keyword to attribute to return average of attribute values of entities matching the molecule.

    Match.score.insert(1, 2, 4)
    Match.score(avg).get.head === 2.3333333333333335 // (1 + 2 + 4) / 3
    returns

    Double

    Definition Classes
    AggregateKeywords
  3. trait count extends AnyRef

    Count of attribute values.

    Count of attribute values.

    Apply count keyword to attribute to return count of attribute values of entities matching the molecule.

    Person.firstName.lastName.age insert List(
      ("Ben", "Hayday", 42),
      ("Liz", "Taylor", 34),
      ("Liz", "Swifty", 34),
      ("Liz", "Mooray", 25)
    )
    Person.firstName.age(count).get === List(
      ("Ben", 1),
      ("Liz", 3) // 34, 34, 25
    )
    returns

    Int

    Definition Classes
    AggregateKeywords
  4. trait countDistinct extends AnyRef

    Count of distinct attribute values.

    Count of distinct attribute values.

    Apply countDistinct keyword to attribute to return count of distinct attribute values of entities matching the molecule.

    Person.firstName.lastName.age insert List(
      ("Ben", "Hayday", 42),
      ("Liz", "Taylor", 34),
      ("Liz", "Swifty", 34),
      ("Liz", "Mooray", 25)
    )
    Person.firstName.age(countDistinct).get === List(
      ("Ben", 1),
      ("Liz", 2) // 34, 25
    )
    returns

    Int

    Definition Classes
    AggregateKeywords
  5. trait distinct extends AnyRef

    Distinct attribute values.

    Distinct attribute values.

    Apply distinct keyword to attribute to return Vector of distinct attribute values of entities matching the molecule.

    Person.firstName.lastName.age insert List(
      ("Ben", "Hayday", 42),
      ("Liz", "Taylor", 34),
      ("Liz", "Swifty", 34),
      ("Liz", "Mooray", 25)
    )
    Person.firstName.age(distinct) insert List(
      ("Ben", 42),
      ("Liz", Vector(34, 25)) // only single 34 returned
    )
    returns

    List[attribute-type]

    Definition Classes
    AggregateKeywords
  6. trait max extends AnyRef

    Maximum attribute value(s).

    Maximum attribute value(s).

    Apply max keyword to attribute to return the maximum attribute value of entities matching the molecule.

    Person.age.insert(25, 34, 37, 42, 70)
    Person.age(max).get.head === 70

    Apply max(n) to return Vector of the n biggest values.

    Person.age(max(3)).get.head === Vector(37, 42, 70)
    Definition Classes
    AggregateKeywords
    Note

    max/max(n) supports all value types (via comparators).
    max(n) Can at most return the number of values that match.

  7. trait maxs extends AnyRef
    Definition Classes
    AggregateKeywords
  8. trait median extends AnyRef

    Median of attribute values.

    Median of attribute values.

    Apply median keyword to attribute to return median of attribute values of entities matching the molecule.

    Match.score.insert(1, 2, 4)
    Match.score(median).get.head === 2

    OBS: When it comes to an even number of values, Datomic has a special implementation of median that is different from the one described on the Wiki entry on the median function.

    Datomic calculates the median of even number of values as the average of the two middle numbers rounded down to nearest whole number

    Match.score.insert(1, 2, 3, 4)
    Match.score(median).get.head === 2 // (2 + 3) / 2 = 2.5 rounded down to 2

    With decimal numbers this can go wrong:

    Match.score.insert(1.0, 2.5, 2.5, 3.0)
    Match.score(median).get.head === 2 // (2.5 + 2.5) / 2 = 2.5 rounded down to 2 (This is wrong and bug report has been filed)
    returns

    Value of Attribute type

    Definition Classes
    AggregateKeywords
  9. trait min extends AnyRef

    Minimum attribute value(s).

    Minimum attribute value(s).

    Apply min keyword to attribute to return the minimum attribute value of entities matching the molecule.

    Person.age.insert(25, 34, 37, 42, 70)
    Person.age(min).get.head === 25

    Apply min(n) to return Vector of the n smallest values.

    Person.age(min(3)).get.head === Vector(25, 34, 37)
    Definition Classes
    AggregateKeywords
    Note

    min/min(n) supports all value types (via comparators).
    min(n) Can at most return the number of values that match.

  10. trait mins extends AnyRef
    Definition Classes
    AggregateKeywords
  11. trait rand extends AnyRef

    Random attribute value(s).

    Random attribute value(s).

    Apply random keyword to attribute to return a single random attribute of entities matching the molecule.

    Person.age.insert(25, 34, 37, 42, 70)
    Person.age(random).get.head === 34 // or other..

    Apply random(n) to return Vector of n random values. Observe though that duplicate random values can re-occur.

    Person.age(random(3)).get.head === Vector(42, 25, 42) // or other..

    To get distinct values only, use the sample(n) keyword instead.

    Definition Classes
    AggregateKeywords
  12. trait rands extends AnyRef
    Definition Classes
    AggregateKeywords
  13. trait sample extends AnyRef

    Sample attribute value(s).

    Sample attribute value(s).

    Apply sample keyword to attribute to return a single sample (random) attribute value of entities matching the molecule.

    Person.age.insert(25, 34, 37, 42, 70)
    Person.age(sample).get.head === 42 // or other..

    Apply sample(n) to return Vector of up to n distinct sample values.

    Person.age(sample(3)).get.head === Vector(70, 25, 37) // or other..

    If values don't need to be distinct, random(n) can be used also.

    Definition Classes
    AggregateKeywords
    Note

    Can at most return the number of values that match.

  14. trait samples extends AnyRef
    Definition Classes
    AggregateKeywords
  15. trait stddev extends AnyRef

    Variance of attribute values.

    Variance of attribute values.

    Apply stddev keyword to attribute to return variance of attribute values of entities matching the molecule.

    Match.score.insert(1, 2, 4)
    Match.score(stddev).get.head === 1.247219128924647
    returns

    Double

    Definition Classes
    AggregateKeywords
  16. trait sum extends AnyRef

    Sum of attribute values.

    Sum of attribute values.

    Apply sum keyword to attribute to return sum of attribute values of entities matching the molecule.

    Match.score.insert(1, 2, 4)
    Match.score(sum).get.head === 7
    returns

    Value of Attribute type

    Definition Classes
    AggregateKeywords
  17. trait variance extends AnyRef

    Variance of attribute values.

    Variance of attribute values.

    Apply variance keyword to attribute to return variance of attribute values of entities matching the molecule.

    Match.score.insert(1, 2, 4)
    Match.score(variance).get.head === 1.5555555555555556
    returns

    Double

    Definition Classes
    AggregateKeywords
  18. trait ? extends AnyRef

    Turn molecule into input molecule awaiting input.

    Turn molecule into input molecule awaiting input.

    Apply input marker ? to attribute to turn molecule into an 'input molecule'.

    At runtime the input molecule expects input for the attribute in place of the ? marker.

    // Input molecule created at compile time.
    val ageOfPersons = m(Person.name_(?).age) // awaiting name of type String
    
    // At runtime, "Ben" is applied as input replacing the `?` placeholder and we can get the age.
    ageOfPersons("Ben").get === List(42)
    Definition Classes
    AttrExpressions
    Note

    Data can only be retrieved from input molecules once they have been resolved with input.
    Input molecule queries are cached and optimized by Datomic.

  19. trait AttrExpr[Ns, T] extends AnyRef

    Expression methods common for all attributes.

    Expression methods common for all attributes.

    Definition Classes
    AttrExpressions
  20. trait FulltextExpr[Ns, In] extends AnyRef

    Expression methods of String attributes with fulltext search.

    Expression methods of String attributes with fulltext search.

    Definition Classes
    AttrExpressions
  21. trait ManyAttrExpr[Ns, Add, OldNew, Rem] extends AnyRef

    Value update methods for card-many attributes.

    Value update methods for card-many attributes.

    Definition Classes
    AttrExpressions
  22. trait ManyExpr[Ns, In, T] extends ValueAttrExpr[Ns, In, T] with ManyAttrExpr[Ns, T, (T, T), T]

    Expression methods of card-many attributes.

    Expression methods of card-many attributes.

    Definition Classes
    AttrExpressions
  23. trait MapAttrExpr[Ns, In, T] extends ValueAttrExpr[Ns, In, T] with ManyAttrExpr[Ns, (String, T), (String, T), String]

    Expression methods of map attributes.

    Expression methods of map attributes.

    Definition Classes
    AttrExpressions
  24. trait OneExpr[Ns, In, T] extends ValueAttrExpr[Ns, In, T]

    Expression methods of card-one attributes.

    Expression methods of card-one attributes.

    Definition Classes
    AttrExpressions
  25. trait OptionalExpr[Ns, T] extends AnyRef

    Expression methods of optional attributes.

    Expression methods of optional attributes.

    Definition Classes
    AttrExpressions
  26. trait ValueAttrExpr[Ns, In, T] extends AttrExpr[Ns, T]

    Expression methods of value attributes.

    Expression methods of value attributes.

    Definition Classes
    AttrExpressions
  27. trait unify extends AnyRef

    Unify attribute value in self-join.

    Unify attribute value in self-join.

    Apply unify marker to attribute to unify its value with previous values of the same attribute in the molecule in a self-join.

    m(Person.age.name.Beverages * Beverage.name.rating) insert List(
        (23, "Joe", List(("Coffee", 3), ("Cola", 2), ("Pepsi", 3))),
        (25, "Ben", List(("Coffee", 2), ("Tea", 3))),
        (23, "Liz", List(("Coffee", 1), ("Tea", 3), ("Pepsi", 1))))
    
    // What beverages do pairs of 23- AND 25-year-olds like in common?
    // Drink name is unified - Joe and Ben both drink coffee, etc..
    Person.age_(23).name.Beverages.name._Ns.Self
          .age_(25).name.Beverages.name_(unify).get.sorted === List(
      ("Joe", "Coffee", "Ben"),
      ("Liz", "Coffee", "Ben"),
      ("Liz", "Tea", "Ben")
    )
    Definition Classes
    AttrExpressions

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. implicit final def bigDec2Model(v: BigDecimal): TermValue[BigDecimal]

    Definition Classes
    LogicImplicits
  6. implicit final def bigDecSet2Model(set: Set[BigDecimal]): TermValue[Set[BigDecimal]]

    Definition Classes
    LogicImplicits
  7. implicit final def bigInt2Model(v: BigInt): TermValue[BigInt]

    Definition Classes
    LogicImplicits
  8. implicit final def bigIntSet2Model(set: Set[BigInt]): TermValue[Set[BigInt]]

    Definition Classes
    LogicImplicits
  9. implicit final def boolean2Model(v: Boolean): TermValue[Boolean]

    Definition Classes
    LogicImplicits
  10. implicit final def booleanSet2Model(set: Set[Boolean]): TermValue[Set[Boolean]]

    Definition Classes
    LogicImplicits
  11. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  12. implicit final def date2Model(v: Date): TermValue[Date]

    Definition Classes
    LogicImplicits
  13. implicit final def dateSet2Model(set: Set[Date]): TermValue[Set[Date]]

    Definition Classes
    LogicImplicits
  14. def debugRetract(eids: Iterable[Long], txMetaDataMolecules: MoleculeBase*)(implicit conn: Conn): Unit

    Debug retracting multiple entities with optional transaction meta data.

    Debug retracting multiple entities with optional transaction meta data.

    Without affecting the database, a multiple entity retract action can be debugged by adding a 'D' (for 'Debug') to the retract method.

    Here we debug a possible retraction of two comment entities with transaction meta data asserting that the retraction was done by Ben Goodman:

    debugRetract(Seq(commentEid1, commentEid2), MetaData.user("Ben Goodman"))

    This will print debugging info about the retraction to output (without affecting the database):

    ## 1 ## molecule.Datomic.debugRetract
    ===================================================================================================================
    1      Model(
      1      TxMetaData(
        1      Atom(metaData,user,String,1,Eq(List(Ben Goodman)),None,List(),List())))
    ------------------------------------------------
    2      List(
      1      :db/add     'tx                             :MetaData/user     Values(Eq(List(Ben Goodman)),None)   Card(1))
    ------------------------------------------------
    3      List(
      1      List(
        1      :db.fn/retractEntity   17592186045445
        2      :db.fn/retractEntity   17592186045446
        3      :db/add   #db/id[:db.part/tx -1000097]    :MetaData/user     b                                    Card(1)))
    ===================================================================================================================
    eids

    Iterable of entity ids of type Long

    txMetaDataMolecules

    Zero or more transaction meta data molecules

    conn

    Implicit Conn value in scope

    returns

    Unit (prints to output)

    Definition Classes
    EntityOps
  15. macro def debugTransact(txFnCall: Seq[Seq[Statement]], txMolecules: MoleculeBase*): Unit

    Debug tx function invocation

    Print transaction statements to output of a tx function invocation without affecting the live database.

    Debug tx function invocation

    Print transaction statements to output of a tx function invocation without affecting the live database.

    // Print debug info for tx function invocation
    debugTransact(transfer(fromAccount, toAccount, 20))
    
    // Prints produced tx statements to output:
    /*
    ## 1 ## TxReport
    ========================================================================
    1          ArrayBuffer(
      1          List(
        1          :db/add       17592186045445       :Account/balance    80        Card(1))
      2          List(
        1          :db/add       17592186045447       :Account/balance    720       Card(1)))
    ------------------------------------------------
    2          List(
      1    1     added: true ,   t: 13194139534345,   e: 13194139534345,   a: 50,   v: Thu Nov 22 16:23:09 CET 2018
    
      2    2     added: true ,   t: 13194139534345,   e: 17592186045445,   a: 64,   v: 80
           3     added: false,  -t: 13194139534345,  -e: 17592186045445,  -a: 64,  -v: 100
    
      3    4     added: true ,   t: 13194139534345,   e: 17592186045447,   a: 64,   v: 720
           5     added: false,  -t: 13194139534345,  -e: 17592186045447,  -a: 64,  -v: 700)
    ========================================================================
    */
    txFnCall

    Tx function invocation

    txMolecules

    Optional tx meta data molecules

    Definition Classes
    TxMethods
  16. def debugTransact(stmtss: Seq[Seq[Statement]]*)(implicit conn: Conn): Unit

    Debug bundled transaction statements

    Add transaction statements from one or more molecule actions to debugTransact to see the bundled transaction statements.

    Debug bundled transaction statements

    Add transaction statements from one or more molecule actions to debugTransact to see the bundled transaction statements.

    debugTransact(
      // retract
      e1.getRetractTx,
      // save
      Ns.int(4).getSaveTx,
      // insert
      Ns.int.getInsertTx(List(5, 6)),
      // update
      Ns(e2).int(20).getUpdateTx
    )
    
    // Prints transaction data to output:
    /*
      ## 1 ## TxReport
      ========================================================================
      1          ArrayBuffer(
        1          List(
          1          :db.fn/retractEntity   17592186045445)
        2          List(
          1          :db/add       #db/id[:db.part/user -1000247]     :Ns/int          4           Card(1))
        3          List(
          1          :db/add       #db/id[:db.part/user -1000252]     :Ns/int          5           Card(1))
        4          List(
          1          :db/add       #db/id[:db.part/user -1000253]     :Ns/int          6           Card(1))
        5          List(
          1          :db/add       17592186045446                     :Ns/int          20          Card(1)))
      ------------------------------------------------
      2          List(
        1    1     added: true ,   t: 13194139534345,   e: 13194139534345,   a: 50,   v: Wed Nov 14 23:38:15 CET 2018
    
        2    2     added: false,  -t: 13194139534345,  -e: 17592186045445,  -a: 64,  -v: 1
    
        3    3     added: true ,   t: 13194139534345,   e: 17592186045450,   a: 64,   v: 4
    
        4    4     added: true ,   t: 13194139534345,   e: 17592186045451,   a: 64,   v: 5
    
        5    5     added: true ,   t: 13194139534345,   e: 17592186045452,   a: 64,   v: 6
    
        6    6     added: true ,   t: 13194139534345,   e: 17592186045446,   a: 64,   v: 20
             7     added: false,  -t: 13194139534345,  -e: 17592186045446,  -a: 64,  -v: 2)
      ========================================================================
    */
    stmtss

    Statement's from multiple molecule operations

    conn

    Implicit Conn value in scope

    Definition Classes
    TxMethods
  17. implicit final def double2Model(v: Double): TermValue[Double]

    Definition Classes
    LogicImplicits
  18. implicit final def doubleSet2Model(set: Set[Double]): TermValue[Set[Double]]

    Definition Classes
    LogicImplicits
  19. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  21. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  22. implicit final def float2Model(v: Float): TermValue[Float]

    Definition Classes
    LogicImplicits
  23. implicit final def floatSet2Model(set: Set[Float]): TermValue[Set[Float]]

    Definition Classes
    LogicImplicits
  24. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  25. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  26. implicit final def int2Model(v: Int): TermValue[Int]

    Definition Classes
    LogicImplicits
  27. implicit final def intSet2Model(set: Set[Int]): TermValue[Set[Int]]

    Definition Classes
    LogicImplicits
  28. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  29. implicit final def long2Entity(id: Long)(implicit conn: Conn): Entity

    Long -> Entity api implicit.

    Long -> Entity api implicit.

    Convenience implicit to allow calling Entity methods directly on entity Long value.

    // Get entity id of Ben
    val benId = Person.e.name_("Ben").get.head
    
    // Retract Ben entity directly on his entity id
    benId.retract
    id

    Entity id of type Long

    conn

    Implicit Conn value in scope

    Definition Classes
    EntityOps
  30. implicit final def long2Model(v: Long): TermValue[Long]

    Definition Classes
    LogicImplicits
  31. implicit final def longSet2Model(set: Set[Long]): TermValue[Set[Long]]

    Definition Classes
    LogicImplicits
  32. macro def m[I1, I2, I3, T1, T2, T3, T4, T5](dsl: Composite_In_3_05[I1, I2, I3, T1, T2, T3, T4, T5]): InputMolecule_3_05[I1, I2, I3, T1, T2, T3, T4, T5]
    Definition Classes
    Composite_In_3_Factory5
  33. macro def m[I1, I2, I3, T1, T2, T3, T4](dsl: Composite_In_3_04[I1, I2, I3, T1, T2, T3, T4]): InputMolecule_3_04[I1, I2, I3, T1, T2, T3, T4]
    Definition Classes
    Composite_In_3_Factory5
  34. macro def m[I1, I2, I3, T1, T2, T3](dsl: Composite_In_3_03[I1, I2, I3, T1, T2, T3]): InputMolecule_3_03[I1, I2, I3, T1, T2, T3]
    Definition Classes
    Composite_In_3_Factory5
  35. macro def m[I1, I2, I3, T1, T2](dsl: Composite_In_3_02[I1, I2, I3, T1, T2]): InputMolecule_3_02[I1, I2, I3, T1, T2]
    Definition Classes
    Composite_In_3_Factory5
  36. macro def m[I1, I2, I3, T1](dsl: Composite_In_3_01[I1, I2, I3, T1]): InputMolecule_3_01[I1, I2, I3, T1]
    Definition Classes
    Composite_In_3_Factory5
  37. macro def m[I1, I2, T1, T2, T3, T4, T5](dsl: Composite_In_2_05[I1, I2, T1, T2, T3, T4, T5]): InputMolecule_2_05[I1, I2, T1, T2, T3, T4, T5]
    Definition Classes
    Composite_In_2_Factory5
  38. macro def m[I1, I2, T1, T2, T3, T4](dsl: Composite_In_2_04[I1, I2, T1, T2, T3, T4]): InputMolecule_2_04[I1, I2, T1, T2, T3, T4]
    Definition Classes
    Composite_In_2_Factory5
  39. macro def m[I1, I2, T1, T2, T3](dsl: Composite_In_2_03[I1, I2, T1, T2, T3]): InputMolecule_2_03[I1, I2, T1, T2, T3]
    Definition Classes
    Composite_In_2_Factory5
  40. macro def m[I1, I2, T1, T2](dsl: Composite_In_2_02[I1, I2, T1, T2]): InputMolecule_2_02[I1, I2, T1, T2]
    Definition Classes
    Composite_In_2_Factory5
  41. macro def m[I1, I2, T1](dsl: Composite_In_2_01[I1, I2, T1]): InputMolecule_2_01[I1, I2, T1]
    Definition Classes
    Composite_In_2_Factory5
  42. macro def m[I1, T1, T2, T3, T4, T5](dsl: Composite_In_1_05[I1, T1, T2, T3, T4, T5]): InputMolecule_1_05[I1, T1, T2, T3, T4, T5]
    Definition Classes
    Composite_In_1_Factory5
  43. macro def m[I1, T1, T2, T3, T4](dsl: Composite_In_1_04[I1, T1, T2, T3, T4]): InputMolecule_1_04[I1, T1, T2, T3, T4]
    Definition Classes
    Composite_In_1_Factory5
  44. macro def m[I1, T1, T2, T3](dsl: Composite_In_1_03[I1, T1, T2, T3]): InputMolecule_1_03[I1, T1, T2, T3]
    Definition Classes
    Composite_In_1_Factory5
  45. macro def m[I1, T1, T2](dsl: Composite_In_1_02[I1, T1, T2]): InputMolecule_1_02[I1, T1, T2]
    Definition Classes
    Composite_In_1_Factory5
  46. macro def m[I1, T1](dsl: Composite_In_1_01[I1, T1]): InputMolecule_1_01[I1, T1]
    Definition Classes
    Composite_In_1_Factory5
  47. implicit final macro def m[T1, T2, T3, T4, T5](dsl: Composite05[T1, T2, T3, T4, T5]): Molecule05[T1, T2, T3, T4, T5]
    Definition Classes
    Composite_Factory5
  48. implicit final macro def m[T1, T2, T3, T4](dsl: Composite04[T1, T2, T3, T4]): Molecule04[T1, T2, T3, T4]
    Definition Classes
    Composite_Factory5
  49. implicit final macro def m[T1, T2, T3](dsl: Composite03[T1, T2, T3]): Molecule03[T1, T2, T3]
    Definition Classes
    Composite_Factory5
  50. implicit final macro def m[T1, T2](dsl: Composite02[T1, T2]): Molecule02[T1, T2]
    Definition Classes
    Composite_Factory5
  51. implicit final macro def m[T1](dsl: Composite01[T1]): Molecule01[T1]
    Definition Classes
    Composite_Factory5
  52. macro def m[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R](dsl: IN3_18[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R]): InputMolecule_3_18[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R]
    Definition Classes
    Molecule_In_3_Factory18
  53. macro def m[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q](dsl: IN3_17[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q]): InputMolecule_3_17[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q]
    Definition Classes
    Molecule_In_3_Factory18
  54. macro def m[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P](dsl: IN3_16[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P]): InputMolecule_3_16[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P]
    Definition Classes
    Molecule_In_3_Factory18
  55. macro def m[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O](dsl: IN3_15[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O]): InputMolecule_3_15[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O]
    Definition Classes
    Molecule_In_3_Factory18
  56. macro def m[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K, L, M, N](dsl: IN3_14[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K, L, M, N]): InputMolecule_3_14[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K, L, M, N]
    Definition Classes
    Molecule_In_3_Factory18
  57. macro def m[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K, L, M](dsl: IN3_13[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K, L, M]): InputMolecule_3_13[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K, L, M]
    Definition Classes
    Molecule_In_3_Factory18
  58. macro def m[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K, L](dsl: IN3_12[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K, L]): InputMolecule_3_12[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K, L]
    Definition Classes
    Molecule_In_3_Factory18
  59. macro def m[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K](dsl: IN3_11[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K]): InputMolecule_3_11[I1, I2, I3, A, B, C, D, E, F, G, H, I, J, K]
    Definition Classes
    Molecule_In_3_Factory18
  60. macro def m[I1, I2, I3, A, B, C, D, E, F, G, H, I, J](dsl: IN3_10[I1, I2, I3, A, B, C, D, E, F, G, H, I, J]): InputMolecule_3_10[I1, I2, I3, A, B, C, D, E, F, G, H, I, J]
    Definition Classes
    Molecule_In_3_Factory18
  61. macro def m[I1, I2, I3, A, B, C, D, E, F, G, H, I](dsl: IN3_09[I1, I2, I3, A, B, C, D, E, F, G, H, I]): InputMolecule_3_09[I1, I2, I3, A, B, C, D, E, F, G, H, I]
    Definition Classes
    Molecule_In_3_Factory18
  62. macro def m[I1, I2, I3, A, B, C, D, E, F, G, H](dsl: IN3_08[I1, I2, I3, A, B, C, D, E, F, G, H]): InputMolecule_3_08[I1, I2, I3, A, B, C, D, E, F, G, H]
    Definition Classes
    Molecule_In_3_Factory18
  63. macro def m[I1, I2, I3, A, B, C, D, E, F, G](dsl: IN3_07[I1, I2, I3, A, B, C, D, E, F, G]): InputMolecule_3_07[I1, I2, I3, A, B, C, D, E, F, G]
    Definition Classes
    Molecule_In_3_Factory18
  64. macro def m[I1, I2, I3, A, B, C, D, E, F](dsl: IN3_06[I1, I2, I3, A, B, C, D, E, F]): InputMolecule_3_06[I1, I2, I3, A, B, C, D, E, F]
    Definition Classes
    Molecule_In_3_Factory18
  65. macro def m[I1, I2, I3, A, B, C, D, E](dsl: IN3_05[I1, I2, I3, A, B, C, D, E]): InputMolecule_3_05[I1, I2, I3, A, B, C, D, E]
    Definition Classes
    Molecule_In_3_Factory18
  66. macro def m[I1, I2, I3, A, B, C, D](dsl: IN3_04[I1, I2, I3, A, B, C, D]): InputMolecule_3_04[I1, I2, I3, A, B, C, D]
    Definition Classes
    Molecule_In_3_Factory18
  67. macro def m[I1, I2, I3, A, B, C](dsl: IN3_03[I1, I2, I3, A, B, C]): InputMolecule_3_03[I1, I2, I3, A, B, C]
    Definition Classes
    Molecule_In_3_Factory18
  68. macro def m[I1, I2, I3, A, B](dsl: IN3_02[I1, I2, I3, A, B]): InputMolecule_3_02[I1, I2, I3, A, B]
    Definition Classes
    Molecule_In_3_Factory18
  69. macro def m[I1, I2, I3, A](dsl: IN3_01[I1, I2, I3, A]): InputMolecule_3_01[I1, I2, I3, A]
    Definition Classes
    Molecule_In_3_Factory18
  70. macro def m[I1, I2, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R](dsl: IN2_18[I1, I2, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R]): InputMolecule_2_18[I1, I2, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R]
    Definition Classes
    Molecule_In_2_Factory18
  71. macro def m[I1, I2, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q](dsl: IN2_17[I1, I2, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q]): InputMolecule_2_17[I1, I2, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q]
    Definition Classes
    Molecule_In_2_Factory18
  72. macro def m[I1, I2, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P](dsl: IN2_16[I1, I2, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P]): InputMolecule_2_16[I1, I2, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P]
    Definition Classes
    Molecule_In_2_Factory18
  73. macro def m[I1, I2, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O](dsl: IN2_15[I1, I2, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O]): InputMolecule_2_15[I1, I2, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O]
    Definition Classes
    Molecule_In_2_Factory18
  74. macro def m[I1, I2, A, B, C, D, E, F, G, H, I, J, K, L, M, N](dsl: IN2_14[I1, I2, A, B, C, D, E, F, G, H, I, J, K, L, M, N]): InputMolecule_2_14[I1, I2, A, B, C, D, E, F, G, H, I, J, K, L, M, N]
    Definition Classes
    Molecule_In_2_Factory18
  75. macro def m[I1, I2, A, B, C, D, E, F, G, H, I, J, K, L, M](dsl: IN2_13[I1, I2, A, B, C, D, E, F, G, H, I, J, K, L, M]): InputMolecule_2_13[I1, I2, A, B, C, D, E, F, G, H, I, J, K, L, M]
    Definition Classes
    Molecule_In_2_Factory18
  76. macro def m[I1, I2, A, B, C, D, E, F, G, H, I, J, K, L](dsl: IN2_12[I1, I2, A, B, C, D, E, F, G, H, I, J, K, L]): InputMolecule_2_12[I1, I2, A, B, C, D, E, F, G, H, I, J, K, L]
    Definition Classes
    Molecule_In_2_Factory18
  77. macro def m[I1, I2, A, B, C, D, E, F, G, H, I, J, K](dsl: IN2_11[I1, I2, A, B, C, D, E, F, G, H, I, J, K]): InputMolecule_2_11[I1, I2, A, B, C, D, E, F, G, H, I, J, K]
    Definition Classes
    Molecule_In_2_Factory18
  78. macro def m[I1, I2, A, B, C, D, E, F, G, H, I, J](dsl: IN2_10[I1, I2, A, B, C, D, E, F, G, H, I, J]): InputMolecule_2_10[I1, I2, A, B, C, D, E, F, G, H, I, J]
    Definition Classes
    Molecule_In_2_Factory18
  79. macro def m[I1, I2, A, B, C, D, E, F, G, H, I](dsl: IN2_09[I1, I2, A, B, C, D, E, F, G, H, I]): InputMolecule_2_09[I1, I2, A, B, C, D, E, F, G, H, I]
    Definition Classes
    Molecule_In_2_Factory18
  80. macro def m[I1, I2, A, B, C, D, E, F, G, H](dsl: IN2_08[I1, I2, A, B, C, D, E, F, G, H]): InputMolecule_2_08[I1, I2, A, B, C, D, E, F, G, H]
    Definition Classes
    Molecule_In_2_Factory18
  81. macro def m[I1, I2, A, B, C, D, E, F, G](dsl: IN2_07[I1, I2, A, B, C, D, E, F, G]): InputMolecule_2_07[I1, I2, A, B, C, D, E, F, G]
    Definition Classes
    Molecule_In_2_Factory18
  82. macro def m[I1, I2, A, B, C, D, E, F](dsl: IN2_06[I1, I2, A, B, C, D, E, F]): InputMolecule_2_06[I1, I2, A, B, C, D, E, F]
    Definition Classes
    Molecule_In_2_Factory18
  83. macro def m[I1, I2, A, B, C, D, E](dsl: IN2_05[I1, I2, A, B, C, D, E]): InputMolecule_2_05[I1, I2, A, B, C, D, E]
    Definition Classes
    Molecule_In_2_Factory18
  84. macro def m[I1, I2, A, B, C, D](dsl: IN2_04[I1, I2, A, B, C, D]): InputMolecule_2_04[I1, I2, A, B, C, D]
    Definition Classes
    Molecule_In_2_Factory18
  85. macro def m[I1, I2, A, B, C](dsl: IN2_03[I1, I2, A, B, C]): InputMolecule_2_03[I1, I2, A, B, C]
    Definition Classes
    Molecule_In_2_Factory18
  86. macro def m[I1, I2, A, B](dsl: IN2_02[I1, I2, A, B]): InputMolecule_2_02[I1, I2, A, B]
    Definition Classes
    Molecule_In_2_Factory18
  87. macro def m[I1, I2, A](dsl: IN2_01[I1, I2, A]): InputMolecule_2_01[I1, I2, A]
    Definition Classes
    Molecule_In_2_Factory18
  88. macro def m[I1, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R](dsl: IN1_18[I1, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R]): InputMolecule_1_18[I1, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R]
    Definition Classes
    Molecule_In_1_Factory18
  89. macro def m[I1, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q](dsl: IN1_17[I1, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q]): InputMolecule_1_17[I1, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q]
    Definition Classes
    Molecule_In_1_Factory18
  90. macro def m[I1, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P](dsl: IN1_16[I1, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P]): InputMolecule_1_16[I1, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P]
    Definition Classes
    Molecule_In_1_Factory18
  91. macro def m[I1, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O](dsl: IN1_15[I1, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O]): InputMolecule_1_15[I1, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O]
    Definition Classes
    Molecule_In_1_Factory18
  92. macro def m[I1, A, B, C, D, E, F, G, H, I, J, K, L, M, N](dsl: IN1_14[I1, A, B, C, D, E, F, G, H, I, J, K, L, M, N]): InputMolecule_1_14[I1, A, B, C, D, E, F, G, H, I, J, K, L, M, N]
    Definition Classes
    Molecule_In_1_Factory18
  93. macro def m[I1, A, B, C, D, E, F, G, H, I, J, K, L, M](dsl: IN1_13[I1, A, B, C, D, E, F, G, H, I, J, K, L, M]): InputMolecule_1_13[I1, A, B, C, D, E, F, G, H, I, J, K, L, M]
    Definition Classes
    Molecule_In_1_Factory18
  94. macro def m[I1, A, B, C, D, E, F, G, H, I, J, K, L](dsl: IN1_12[I1, A, B, C, D, E, F, G, H, I, J, K, L]): InputMolecule_1_12[I1, A, B, C, D, E, F, G, H, I, J, K, L]
    Definition Classes
    Molecule_In_1_Factory18
  95. macro def m[I1, A, B, C, D, E, F, G, H, I, J, K](dsl: IN1_11[I1, A, B, C, D, E, F, G, H, I, J, K]): InputMolecule_1_11[I1, A, B, C, D, E, F, G, H, I, J, K]
    Definition Classes
    Molecule_In_1_Factory18
  96. macro def m[I1, A, B, C, D, E, F, G, H, I, J](dsl: IN1_10[I1, A, B, C, D, E, F, G, H, I, J]): InputMolecule_1_10[I1, A, B, C, D, E, F, G, H, I, J]
    Definition Classes
    Molecule_In_1_Factory18
  97. macro def m[I1, A, B, C, D, E, F, G, H, I](dsl: IN1_09[I1, A, B, C, D, E, F, G, H, I]): InputMolecule_1_09[I1, A, B, C, D, E, F, G, H, I]
    Definition Classes
    Molecule_In_1_Factory18
  98. macro def m[I1, A, B, C, D, E, F, G, H](dsl: IN1_08[I1, A, B, C, D, E, F, G, H]): InputMolecule_1_08[I1, A, B, C, D, E, F, G, H]
    Definition Classes
    Molecule_In_1_Factory18
  99. macro def m[I1, A, B, C, D, E, F, G](dsl: IN1_07[I1, A, B, C, D, E, F, G]): InputMolecule_1_07[I1, A, B, C, D, E, F, G]
    Definition Classes
    Molecule_In_1_Factory18
  100. macro def m[I1, A, B, C, D, E, F](dsl: IN1_06[I1, A, B, C, D, E, F]): InputMolecule_1_06[I1, A, B, C, D, E, F]
    Definition Classes
    Molecule_In_1_Factory18
  101. macro def m[I1, A, B, C, D, E](dsl: IN1_05[I1, A, B, C, D, E]): InputMolecule_1_05[I1, A, B, C, D, E]
    Definition Classes
    Molecule_In_1_Factory18
  102. macro def m[I1, A, B, C, D](dsl: IN1_04[I1, A, B, C, D]): InputMolecule_1_04[I1, A, B, C, D]
    Definition Classes
    Molecule_In_1_Factory18
  103. macro def m[I1, A, B, C](dsl: IN1_03[I1, A, B, C]): InputMolecule_1_03[I1, A, B, C]
    Definition Classes
    Molecule_In_1_Factory18
  104. macro def m[I1, A, B](dsl: IN1_02[I1, A, B]): InputMolecule_1_02[I1, A, B]
    Definition Classes
    Molecule_In_1_Factory18
  105. macro def m[I1, A](dsl: IN1_01[I1, A]): InputMolecule_1_01[I1, A]
    Definition Classes
    Molecule_In_1_Factory18
  106. implicit final macro def m[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R](dsl: NS18[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R]): Molecule18[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R]
    Definition Classes
    Molecule_Factory18
  107. implicit final macro def m[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q](dsl: NS17[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q]): Molecule17[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q]
    Definition Classes
    Molecule_Factory18
  108. implicit final macro def m[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P](dsl: NS16[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P]): Molecule16[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P]
    Definition Classes
    Molecule_Factory18
  109. implicit final macro def m[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O](dsl: NS15[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O]): Molecule15[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O]
    Definition Classes
    Molecule_Factory18
  110. implicit final macro def m[A, B, C, D, E, F, G, H, I, J, K, L, M, N](dsl: NS14[A, B, C, D, E, F, G, H, I, J, K, L, M, N]): Molecule14[A, B, C, D, E, F, G, H, I, J, K, L, M, N]
    Definition Classes
    Molecule_Factory18
  111. implicit final macro def m[A, B, C, D, E, F, G, H, I, J, K, L, M](dsl: NS13[A, B, C, D, E, F, G, H, I, J, K, L, M]): Molecule13[A, B, C, D, E, F, G, H, I, J, K, L, M]
    Definition Classes
    Molecule_Factory18
  112. implicit final macro def m[A, B, C, D, E, F, G, H, I, J, K, L](dsl: NS12[A, B, C, D, E, F, G, H, I, J, K, L]): Molecule12[A, B, C, D, E, F, G, H, I, J, K, L]
    Definition Classes
    Molecule_Factory18
  113. implicit final macro def m[A, B, C, D, E, F, G, H, I, J, K](dsl: NS11[A, B, C, D, E, F, G, H, I, J, K]): Molecule11[A, B, C, D, E, F, G, H, I, J, K]
    Definition Classes
    Molecule_Factory18
  114. implicit final macro def m[A, B, C, D, E, F, G, H, I, J](dsl: NS10[A, B, C, D, E, F, G, H, I, J]): Molecule10[A, B, C, D, E, F, G, H, I, J]
    Definition Classes
    Molecule_Factory18
  115. implicit final macro def m[A, B, C, D, E, F, G, H, I](dsl: NS09[A, B, C, D, E, F, G, H, I]): Molecule09[A, B, C, D, E, F, G, H, I]
    Definition Classes
    Molecule_Factory18
  116. implicit final macro def m[A, B, C, D, E, F, G, H](dsl: NS08[A, B, C, D, E, F, G, H]): Molecule08[A, B, C, D, E, F, G, H]
    Definition Classes
    Molecule_Factory18
  117. implicit final macro def m[A, B, C, D, E, F, G](dsl: NS07[A, B, C, D, E, F, G]): Molecule07[A, B, C, D, E, F, G]
    Definition Classes
    Molecule_Factory18
  118. implicit final macro def m[A, B, C, D, E, F](dsl: NS06[A, B, C, D, E, F]): Molecule06[A, B, C, D, E, F]
    Definition Classes
    Molecule_Factory18
  119. implicit final macro def m[A, B, C, D, E](dsl: NS05[A, B, C, D, E]): Molecule05[A, B, C, D, E]
    Definition Classes
    Molecule_Factory18
  120. implicit final macro def m[A, B, C, D](dsl: NS04[A, B, C, D]): Molecule04[A, B, C, D]
    Definition Classes
    Molecule_Factory18
  121. implicit final macro def m[A, B, C](dsl: NS03[A, B, C]): Molecule03[A, B, C]
    Definition Classes
    Molecule_Factory18
  122. implicit final macro def m[A, B](dsl: NS02[A, B]): Molecule02[A, B]
    Definition Classes
    Molecule_Factory18
  123. implicit final macro def m[A](dsl: NS01[A]): Molecule01[A]
    Definition Classes
    Molecule_Factory18
  124. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  125. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  126. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  127. def recreateDbFrom(schema: SchemaTransaction, identifier: String = "", protocol: String = "mem"): Conn

    Deletes existing database (!) and creates a new empty db with schema from Schema Transaction file.

    Deletes existing database (!) and creates a new empty db with schema from Schema Transaction file.

    A typical development cycle in the initial stages of creating the db schema:

    1. Edit schema definition file
    2. sbt compile to update boilerplate code in generated jars
    3. Obtain a fresh connection to new empty db with updated schema:
      implicit val conn = recreateDbFrom(YourDomainSchema)
    schema

    Auto-generated YourDomainSchema Transaction object
    (in package yourdomain.schema of generated source jar)

    identifier

    Optional String identifier to name database (default empty string creates a randomUUID)

    protocol

    Datomic protocol. Defaults to "mem" for in-memory database.

    returns

    Conn

    Definition Classes
    Datomic
  128. def recreateDbFromRaw(schemaData: List[_], identifier: String = "", protocol: String = "mem"): Conn

    Deletes existing database (!) and creates a new empty db with schema from schema data structure.

    Deletes existing database (!) and creates a new empty db with schema from schema data structure.

    Schema data structure is a java List of Map's of key/value pairs defining the schema.

    Can be an EDN file like the mbrainz example.

    schemaData

    java.util.List of java.util.Maps of key/values defining a Datomic schema

    identifier

    Optional String identifier to name database (default empty string creates a randomUUID)

    protocol

    Datomic protocol. Defaults to "mem" for in-memory database.

    returns

    Conn

    Definition Classes
    Datomic
    See also

    https://docs.datomic.com/on-prem/data-structure-literals.html

  129. def retract(eids: Iterable[Long], txMetaDataMolecules: MoleculeBase*)(implicit conn: Conn): TxReport

    Retract multiple entities with optional transaction meta data.

    Retract multiple entities with optional transaction meta data.

    0 or more transaction meta data molecules can be asserted together with a retraction of entities.

    Here we retract two comment entities with transaction meta data asserting that the retraction was done by Ben Goodman:

    retract(Seq(commentEid1, commentEid2), MetaData.user("Ben Goodman"))

    We can then later see what comments Ben Goodman retracted (op_(false)):

    Comment.e.text.op_(false).Tx(MetaData.user_("Ben Goodman")).getHistory === List(
      (commentEid1, "I like this"),
      (commentEid2, "I hate this")
    )
    eids

    Iterable of entity ids of type Long

    txMetaDataMolecules

    Zero or more transaction meta data molecules

    conn

    Implicit Conn value in scope

    returns

    TxReport with result of retract

    Definition Classes
    EntityOps
    See also

    Manual | Test

  130. def retractAsync(eids: Iterable[Long], txMetaDataMolecules: MoleculeBase*)(implicit conn: Conn, ec: ExecutionContext): Future[TxReport]

    Asynchronously retract multiple entities with optional transaction meta data.

    Asynchronously retract multiple entities with optional transaction meta data.

    0 or more transaction meta data molecules can be asserted together with a retraction of entities.

    Here we asynchronously retract two comment entities with transaction meta data asserting that the retraction was done by Ben Goodman:

    retractAsync(Seq(commentEid1, commentEid2), MetaData.user("Ben Goodman"))

    We can then later see what comments Ben Goodman retracted (op_(false)):

    Comment.e.text.op_(false).Tx(MetaData.user_("Ben Goodman")).getHistory === List(
      (commentEid1, "I like this"),
      (commentEid2, "I hate this")
    )
    eids

    Iterable of entity ids of type Long

    txMetaDataMolecules

    Zero or more transaction meta data molecules

    conn

    Implicit Conn value in scope

    returns

    TxReport with result of retract

    Definition Classes
    EntityOps
    See also

    Manual | Test

  131. implicit final def string2Model(v: String): TermValue[String]

    Definition Classes
    LogicImplicits
  132. implicit final def stringSet2Model(set: Set[String]): TermValue[Set[String]]

    Definition Classes
    LogicImplicits
  133. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  134. def toString(): String
    Definition Classes
    AnyRef → Any
  135. macro def transact(txFnCall: Seq[Seq[Statement]], txMolecules: MoleculeBase*): TxReport

    Transact tx function invocation

    Macro that takes a tx function invocation itself as its argument.

    Transact tx function invocation

    Macro that takes a tx function invocation itself as its argument. The tx function is analyzed by the macro and the necessary transaction preparations done at compile time.

    At runtime, the returned statements from the tx function is transacted as one atomic transaction.

    val txReport = transact(transfer(fromAccount, toAccount, 20))

    Transaction meta data molecules can be added

    // Add tx meta data that John did the transfer and that it is a scheduled transfer
    transact(
      transfer(fromAccount, toAccount, 20),
      Person.name("John"),
      UseCase.name("Scheduled transfer"))
    
    // Query multiple Tx meta data molecules
    Account(fromAccount).balance
      .Tx(Person.name_("John"))
      .Tx(UseCase.name_("Scheduled transfer")).get.head === 80
    Account(toAccount).balance
      .Tx(Person.name_("John"))
      .Tx(UseCase.name_("Scheduled transfer")).get.head === 720
    txFnCall

    Tx function invocation

    txMolecules

    Optional tx meta data molecules

    returns

    TxReport with result of transaction

    Definition Classes
    TxMethods
  136. def transact(stmtss: Seq[Seq[Statement]]*)(implicit conn: Conn): TxReport

    Transact bundled transaction statements

    Supply transaction statements of one or more molecule actions to perform a single atomic transaction.

    Transact bundled transaction statements

    Supply transaction statements of one or more molecule actions to perform a single atomic transaction.

    transact(
      // retract entity
      e1.getRetractTx,
      // save new entity
      Ns.int(4).getSaveTx,
      // insert multiple new entities
      Ns.int.getInsertTx(List(5, 6)),
      // update entity
      Ns(e2).int(20).getUpdateTx
    )
    stmtss

    Statement's from multiple molecule operations

    conn

    Implicit Conn value in scope

    returns

    TxReport with result of transaction

    Definition Classes
    TxMethods
  137. macro def transactAsync(txFnCall: Seq[Seq[Statement]], txMolecules: MoleculeBase*): TxReport

    Asynchronously transact tx function invocation

    Macro that takes a tx function invocation itself as its argument.

    Asynchronously transact tx function invocation

    Macro that takes a tx function invocation itself as its argument. The tx function is analyzed by the macro and the necessary transaction preparations done at compile time.

    At runtime, the returned statements from the tx function is asynchronously transacted as one atomic transaction using Datomic's asynchronous API.

    Await.result(
      transactAsync(transfer(fromAccount, toAccount, 20)) map { txReport =>
        Account(fromAccount).balance.get.head === 80 // (could be asynchronous too)
        Account(toAccount).balance.get.head === 720
      },
      2.seconds
    )

    Additional transaction meta data can be added

    Await.result(
      transactAsync(
        transfer(fromAccount, toAccount, 20),
        Person.name("John"),
        UseCase.name("Scheduled transfer")) map { txReport =>
          Account(fromAccount).balance
          .Tx(Person.name_("John"))
          .Tx(UseCase.name_("Scheduled transfer"))
          .get.head === 80 // (could be asynchronous too)
      },
      2.seconds
    )
    txFnCall

    Tx function invocation

    txMolecules

    Optional tx meta data molecules

    returns

    Future with TxReport with result of transaction

    Definition Classes
    TxMethods
  138. def transactAsync(stmtss: Seq[Seq[Statement]]*)(implicit conn: Conn, ec: ExecutionContext): Future[TxReport]

    Asynchronously transact bundled transaction statements

    Asynchronously transact bundled transaction statements

    Supply transaction statements of one or more molecule actions to asynchronously transact a single atomic transaction.

    Await.result(
      transactAsync(
        e1.getRetractTx,
        Ns.int(4).getSaveTx,
        Ns.int.getInsertTx(List(5, 6)),
        Ns(e2).int(20).getUpdateTx
      ) map { bundleTx =>
        Ns.int.getAsync map { queryResult =>
          queryResult === List(3, 4, 5, 6, 20)
        }
      },
      2.seconds
    )
    stmtss

    Statement's from multiple molecule operations

    conn

    Implicit Conn value in scope

    returns

    Future with TxReport with result of transaction

    Definition Classes
    TxMethods
  139. def transactSchema(schema: SchemaTransaction, identifier: String, protocol: String = "mem"): Conn

    Transact schema from auto-generated schema transaction data.

    Transact schema from auto-generated schema transaction data.

    schema

    sbt-plugin auto-generated Transaction file path.to.schema.YourDomainSchema

    Definition Classes
    Datomic
  140. implicit final def tuple2Model[A, B](tpl: (A, B)): TermValue[(A, B)]

    Definition Classes
    LogicImplicits
  141. implicit final def uri2Model(v: URI): TermValue[URI]

    Definition Classes
    LogicImplicits
  142. implicit final def uriSet2Model(set: Set[URI]): TermValue[Set[URI]]

    Definition Classes
    LogicImplicits
  143. implicit final def uuid2Model(v: UUID): TermValue[UUID]

    Definition Classes
    LogicImplicits
  144. implicit final def uuidSet2Model(set: Set[UUID]): TermValue[Set[UUID]]

    Definition Classes
    LogicImplicits
  145. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  146. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  147. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  148. object ? extends expression.AttrExpressions.?
    Definition Classes
    core
  149. object avg extends core.avg
    Definition Classes
    core
  150. object count extends core.count
    Definition Classes
    core
  151. object countDistinct extends core.countDistinct
    Definition Classes
    core
  152. object distinct extends core.distinct
    Definition Classes
    core
  153. object max extends core.max
    Definition Classes
    core
  154. object median extends core.median
    Definition Classes
    core
  155. object min extends core.min
    Definition Classes
    core
  156. object rand extends core.rand
    Definition Classes
    core
  157. object sample extends core.sample
    Definition Classes
    core
  158. object stddev extends core.stddev
    Definition Classes
    core
  159. object sum extends core.sum
    Definition Classes
    core
  160. object unify extends core.unify
    Definition Classes
    core
  161. object variance extends core.variance
    Definition Classes
    core
  162. object Log extends Log_0 with FirstNS

    Log object to start Log molecule.

    Log object to start Log molecule.

    Definition Classes
    GenericLog
  163. object AEVT extends AEVT_0 with FirstNS

    AEVT Index object to start AEVT Index molecule.

    AEVT Index object to start AEVT Index molecule.

    Definition Classes
    GenericAEVT
  164. object AVET extends AVET_0 with FirstNS

    AVET Index object to start AVET Index molecule.

    AVET Index object to start AVET Index molecule.

    Definition Classes
    GenericAVET
  165. object EAVT extends EAVT_0 with FirstNS

    EAVT Index object to instantiate EAVT Index molecule.

    EAVT Index object to instantiate EAVT Index molecule.

    Definition Classes
    GenericEAVT
  166. object VAET extends VAET_0 with FirstNS

    VAET Index object to start VAET reverse Index molecule.

    VAET Index object to start VAET reverse Index molecule.

    Definition Classes
    GenericVAET
  167. object Schema extends Schema_0 with FirstNS

    Schema object to start Schema molecule.

    Schema object to start Schema molecule.

    Definition Classes
    GenericSchema

Inherited from Composite_Factory5

Inherited from Molecule_Factory18

Inherited from core

Inherited from GenericVAET

Inherited from GenericEAVT

Inherited from GenericAVET

Inherited from GenericAEVT

Inherited from GenericLog

Inherited from GenericSchema

Inherited from TxMethods

Inherited from EntityOps

Inherited from LogicImplicits

Inherited from AggregateKeywords

Inherited from AttrExpressions

Inherited from Datomic

Inherited from AnyRef

Inherited from Any

Database operations

Entity operations

Bundled transactions

Multiple molecule operations in one atomic transaction.

Transaction functions

Atomic transaction logic with access to tx database value.

Attribute markers

Markers applied to attributes that change the semantics of the attribute/molecule.

Expression implicits

Turns basic types into TermValue's that can be used in Expression

Aggregate keywords

Keywords applied to attributes that return aggregated value(s).

Number aggregation keywords

Keywords applied to number attributes that return aggregated value(s).

Ungrouped