Packages

class Conn_Peer extends Conn_Datomic with Helpers with BridgeDatomicFuture

Facade to Datomic Connection for peer api.

Source
Conn_Peer.scala
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Conn_Peer
  2. BridgeDatomicFuture
  3. Helpers
  4. DateHandling
  5. RegexMatching
  6. Conn_Datomic
  7. Conn
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Conn_Peer(peerConn: Connection)

Type Members

  1. implicit class Regex extends AnyRef
    Definition Classes
    RegexMatching

Value Members

  1. object mkDate
    Attributes
    protected
    Definition Classes
    Helpers
  2. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  3. final def ##(): Int
    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  5. var _adhocDb: Option[TempDb]
    Attributes
    protected
  6. def _index(model: Model): Collection[List[AnyRef]]
    Definition Classes
    Conn_PeerConn
  7. def _query(model: Model, query: Query, _db: Option[DatomicDb] = None): Collection[List[AnyRef]]
    Definition Classes
    Conn_PeerConn
  8. var _testDb: Option[Database]
    Attributes
    protected
  9. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  10. def cast(value: Any): String
    Attributes
    protected
    Definition Classes
    Helpers
  11. def clean(attr: String): String
    Definition Classes
    Helpers
  12. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  13. def date2datomicStr(date: Date, zoneOffset: ZoneOffset = localZoneOffset): String
    Definition Classes
    DateHandling
  14. def date2str(date: Date, zoneOffset: ZoneOffset = localZoneOffset): String
    Definition Classes
    DateHandling
  15. def daylight(ms: Long): Int
    Definition Classes
    DateHandling
  16. def db: DatomicDb

    Get current test/live db.

    Get current test/live db. Test db has preference.

    Definition Classes
    Conn_PeerConn
  17. def entity(id: Any): DatomicEntity

    Convenience method to retrieve entity directly from connection.

    Convenience method to retrieve entity directly from connection.

    Definition Classes
    Conn_PeerConn
  18. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  20. def escStr(s: String): String
    Definition Classes
    Helpers
  21. def expandDateStr(dateStr: String): String
    Definition Classes
    DateHandling
  22. final def f(a: Any): Any
    Attributes
    protected
    Definition Classes
    Helpers
  23. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  24. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  25. def getT(tx: Long): Long

    Convenience retrieval of time t.

    Convenience retrieval of time t.

    Definition Classes
    Conn
  26. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  27. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  28. def liveDbUsed: Boolean

    Flag to indicate if live database is used

    Flag to indicate if live database is used

    Definition Classes
    Conn_PeerConn
  29. lazy val localOffset: String
    Definition Classes
    DateHandling
  30. lazy val localZoneOffset: ZoneOffset
    Definition Classes
    DateHandling
  31. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  32. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  33. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  34. final def o(opt: Option[Any]): String
    Attributes
    protected
    Definition Classes
    Helpers
  35. final def os(opt: Option[Set[_]]): String
    Attributes
    protected
    Definition Classes
    Helpers
  36. val peerConn: Connection
  37. def q(db: DatomicDb, query: String, inputs: Seq[Any]): List[List[AnyRef]]

    Query Datomic directly with db value and optional Scala inputs.

    Query Datomic directly with db value and optional Scala inputs.

    // Sample data
    Ns.str.int.get === List(
      ("Liz", 37),
      ("Ben", 42),
    )
    
    // Start out easily with a Datomic query from inspect output
    Ns.str.int.inspectGet // shows datomic query...
    
    // Paste Datomic query into `q` call and use some db value
    conn.q(conn.db,
           """[:find  ?b ?c
             | :where [?a :Ns/str ?b]
             |        [?a :Ns/int ?c]]""".stripMargin) === List(
      List("Liz", 37),
      List("Ben", 42)
    )
    
    // Modify Datomic query to see result, for instance
    // by adding input to query and applying input value
    conn.q(conn.db,
           """[:find  ?b ?c
             | :in    $ ?c
             | :where [?a :Ns/str ?b]
             |        [?a :Ns/int ?c]]""".stripMargin,
           Seq(42) // input values in list
     ) === List(
      List("Ben", 42)
    )
    db

    Any Datomic Database value (could be asOf(x) etc)

    query

    Datomic query string

    inputs

    Seq of optional input(s) to query

    returns

    List[List[AnyRef]]

    Definition Classes
    Conn_DatomicConn
  38. def q(query: String, inputs: Any*): List[List[AnyRef]]

    Query Datomic directly with optional Scala inputs.

    Query Datomic directly with optional Scala inputs.

    // Sample data
    Ns.str.int.get === List(
      ("Liz", 37),
      ("Ben", 42),
    )
    
    // Start out easily with a Datomic query from inspect output
    Ns.str.int.inspectGet // shows datomic query...
    
    // Paste Datomic query into `q` call
    conn.q("""[:find  ?b ?c
             | :where [?a :Ns/str ?b]
             |        [?a :Ns/int ?c]]""".stripMargin) === List(
      List("Liz", 37),
      List("Ben", 42)
    )
    
    // Modify Datomic query to see result, for instance
    // by adding input to query and applying input value
    conn.q("""[:find  ?b ?c
             | :in    $ ?c
             | :where [?a :Ns/str ?b]
             |        [?a :Ns/int ?c]]""".stripMargin, 42) === List(
      List("Ben", 42)
    )
    query

    Datomic query string

    inputs

    Optional input(s) to query

    returns

    List[List[AnyRef]]

    Definition Classes
    Conn
  39. def qRaw(db: DatomicDb, query: String, inputs0: Seq[Any]): Collection[List[AnyRef]]

    Query Datomic directly with db value and optional Scala inputs and get raw Java result.

    Query Datomic directly with db value and optional Scala inputs and get raw Java result.

    // Sample data
    Ns.str.int.get === List(
      ("Liz", 37),
      ("Ben", 42),
    )
    
    // Get some Datomic query from inspect output
    Ns.str.int.inspectGet // shows datomic query...
    
    // Paste Datomic query into `q` call and use some db value
    conn.q(conn.db,
           """[:find  ?b ?c
             | :where [?a :Ns/str ?b]
             |        [?a :Ns/int ?c]]""".stripMargin)
        .toString === """[["Liz" 37], ["Ben" 42]]"""
    
    // Modify Datomic query to see result, for instance
    // by adding input to query and applying input value
    conn.q(conn.db,
           """[:find  ?b ?c
             | :in    $ ?c
             | :where [?a :Ns/str ?b]
             |        [?a :Ns/int ?c]]""".stripMargin,
           Seq(42) // input values in list
     ).toString === """[["Ben" 42]]"""
    db

    Any Datomic Database value (could be asOf(x) etc)

    query

    Datomic query string

    inputs0

    Seq of optional input(s) to query

    returns

    java.util.Collection[java.util.List[AnyRef]]

    Definition Classes
    Conn_PeerConn
  40. def qRaw(query: String, inputs: Any*): Collection[List[AnyRef]]

    Query Datomic directly with optional Scala inputs and get raw Java result.

    Query Datomic directly with optional Scala inputs and get raw Java result.

    // Sample data
    Ns.str.int.get === List(
      ("Liz", 37),
      ("Ben", 42),
    )
    
    // Start out easily with a Datomic query from inspect output
    Ns.str.int.inspectGet // shows datomic query...
    
    // Paste Datomic query into `q` call
    conn.q("""[:find  ?b ?c
             | :where [?a :Ns/str ?b]
             |        [?a :Ns/int ?c]]""".stripMargin)
        .toString === """[["Liz" 37], ["Ben" 42]]"""
    
    // Modify Datomic query to see result, for instance
    // by adding input to query and applying input value
    conn.q("""[:find  ?b ?c
             | :in    $ ?c
             | :where [?a :Ns/str ?b]
             |        [?a :Ns/int ?c]]""".stripMargin, 42).toString === """[["Ben" 42]]"""
    query

    Datomic query string

    inputs

    Optional input(s) to query

    returns

    java.util.Collection[java.util.List[AnyRef]]

    Definition Classes
    Conn
  41. def query(model: Model, query: Query): Collection[List[AnyRef]]

    Query Datomic with Model and Query to get raw Java data.

    Query Datomic with Model and Query to get raw Java data.

    Will transparently relegate query depending on Model to:

    - Datalog query execution - Datoms API accessing index - Log API accessing log

    Return type (tuple matching the molecule) is the same for all 3 APIs so that application code can query and access data of all molecules the same way.

    model

    Model instance

    query

    Query instance

    returns

    java.util.Collection[java.util.List[AnyRef]]

    Definition Classes
    Conn_PeerConn
  42. final def seq[T](values: Seq[T]): String
    Attributes
    protected
    Definition Classes
    Helpers
  43. def str2date(s: String, zoneOffset: ZoneOffset = localZoneOffset): Date
    Definition Classes
    DateHandling
  44. def str2zdt(s: String, zoneOffset: ZoneOffset = localZoneOffset): ZonedDateTime
    Definition Classes
    DateHandling
  45. def sync(t: Long): ListenableFuture[Database]
  46. def sync: ListenableFuture[Database]
  47. def syncIndex(t: Long): ListenableFuture[Database]
  48. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  49. def testDb(db: DatomicDb): Unit

    Manually apply a database to use.

    Manually apply a database to use.

    Definition Classes
    Conn_PeerConn
  50. def testDbAsOf(d: Date): Unit

    Use test database as of date.

    Use test database as of date.

    d

    Date

    Definition Classes
    Conn_PeerConn
  51. def testDbAsOf(txR: TxReport): Unit

    Use test database as of transaction report.

    Use test database as of transaction report.

    txR

    Transaction report

    Definition Classes
    Conn_PeerConn
  52. def testDbAsOf(tOrTx: Long): Unit

    Use test database as of time t / tx id.

    Use test database as of time t / tx id.

    Definition Classes
    Conn_PeerConn
  53. def testDbAsOfNow: Unit

    Use test database as of now.

    Use test database as of now.

    Definition Classes
    Conn_PeerConn
  54. def testDbSince(txR: TxReport): Unit

    Use test database since transaction report.

    Use test database since transaction report.

    txR

    Transaction report

    Definition Classes
    Conn_PeerConn
  55. def testDbSince(d: Date): Unit

    Use test database since date.

    Use test database since date.

    d

    Date

    Definition Classes
    Conn_PeerConn
  56. def testDbSince(t: Long): Unit

    Use test database since time t.

    Use test database since time t.

    t

    Long

    Definition Classes
    Conn_PeerConn
  57. def testDbWith(txDataJava: List[List[AnyRef]]): Unit

    Use test database with temporary raw Java transaction data.

    Use test database with temporary raw Java transaction data.

    Definition Classes
    Conn_PeerConn
  58. def testDbWith(txData: Seq[Seq[Statement]]*): Unit

    Use test database with temporary transaction data.

    Use test database with temporary transaction data.

    Transaction data can be supplied from any molecule:

    val benId = Person.name("Ben").save.eid
    
    // Use temporary db with given transaction data applied
    conn.testDbWith(
      Person.name("liz").getSaveTx
    )
    
    // Query using temporary database including Liz
    Person.name.get === List("Ben", "Liz")
    
    // Multiple transactions can be applied
    conn.testDbWith(
      Person.name("Joe").getSaveTx,
      benId.getRetractTx
    )
    Person.name.get === List("Liz", "Joe")
    txData

    List of List of transaction Statement's

    Definition Classes
    Conn_PeerConn
  59. final def time(n: Int, prev: Int = 0): Unit
    Attributes
    protected
    Definition Classes
    Helpers
  60. def toString(): String
    Definition Classes
    AnyRef → Any
  61. def transact(javaStmts: List[_], scalaStmts: Seq[Seq[Statement]] = Nil): TxReport

    Transact edn files or other raw transaction data.

    Transact edn files or other raw transaction data.

    val data_rdr2 = new FileReader("examples/resources/seattle/seattle-data1a.dtm")
    val rawTxStmts = Util.readAll(data_rdr2).get(0).asInstanceOf[java.util.List[Object]]
    
    // transact
    val result: TxReport = conn.transact(rawTxStmts)
    javaStmts

    Raw transaction data, typically from edn file.

    returns

    TxReport

    Definition Classes
    Conn_PeerConn
  62. def transact(scalaStmts: Seq[Seq[Statement]]): TxReport

    Transact Seq of Seqs of molecule.core.ast.transactionModel.Statements

    returns

    TxReport

    Definition Classes
    Conn_PeerConn
  63. def transactAsync(javaStmts: List[_], scalaStmts: Seq[Seq[Statement]] = Nil)(implicit ec: ExecutionContext): Future[TxReport]

    Asynchronously transact edn files or other raw transaction data.

    Asynchronously transact edn files or other raw transaction data.

    val data_rdr2 = new FileReader("examples/resources/seattle/seattle-data1a.dtm")
    val rawTxStmts = Util.readAll(data_rdr2).get(0).asInstanceOf[java.util.List[Object]]
    
    // transact
    val result: Future[TxReport] = conn.transactAsync(rawTxStmts)
    javaStmts

    Raw transaction data, typically from edn file.

    returns

    Future with TxReport with result of transaction

    Definition Classes
    Conn_PeerConn
  64. def transactAsync(scalaStmts: Seq[Seq[Statement]])(implicit ec: ExecutionContext): Future[TxReport]

    Asynchronously transact Seq of Seqs of molecule.core.ast.transactionModel.Statements

    Asynchronously transact Seq of Seqs of molecule.core.ast.transactionModel.Statements

    returns

    TxReport

    Definition Classes
    Conn_PeerConn
  65. def truncateDateStr(dateStr: String): String
    Definition Classes
    DateHandling
  66. final def tupleToSeq(arg: Any): Seq[Any]
    Attributes
    protected
    Definition Classes
    Helpers
  67. def unescStr(s: String): String
    Definition Classes
    Helpers
  68. def useLiveDb: Unit

    Get out of test mode and back to live db.

    Get out of test mode and back to live db.

    Definition Classes
    Conn_PeerConn
  69. def usingTempDb(tempDb: TempDb): Conn
    Definition Classes
    Conn_PeerConn
  70. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  71. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  72. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  73. lazy val zone: ZoneId
    Definition Classes
    DateHandling

Inherited from BridgeDatomicFuture

Inherited from Helpers

Inherited from DateHandling

Inherited from RegexMatching

Inherited from Conn_Datomic

Inherited from Conn

Inherited from AnyRef

Inherited from Any

Ungrouped