Trait/Object

org.scalarelational.model

Datastore

Related Docs: object Datastore | package model

Permalink

trait Datastore extends Logging with SessionSupport with DSLSupport with SQLContainer with DDLSupport with DDLDSLSupport with BasicFunctionTypes

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Datastore
  2. BasicFunctionTypes
  3. DDLDSLSupport
  4. DataTypeSupport
  5. DDLSupport
  6. SQLContainer
  7. DSLSupport
  8. SessionSupport
  9. Logging
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. implicit class CallableInstructions extends AnyRef

    Permalink

Abstract Value Members

  1. abstract def catalog: Option[String]

    Permalink

    The catalog name for the database.

    The catalog name for the database. Should be defined to help filtering jdbc metadata if supported by the database.

    Attributes
    protected
  2. abstract def column2Create[T, S](column: Column[T, S]): CreateColumn[T, S]

    Permalink
    Definition Classes
    DDLSupport
  3. abstract def dataSource: Option[DataSource]

    Permalink
  4. abstract def ddl(drop: DropIndex): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLSupport
  5. abstract def ddl(drop: DropColumn): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLSupport
  6. abstract def ddl(drop: DropTable): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLSupport
  7. abstract def ddl[T, S](alter: ChangeColumnType[T, S]): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLSupport
  8. abstract def ddl(alter: RestartColumn): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLSupport
  9. abstract def ddl(alter: RenameColumn): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLSupport
  10. abstract def ddl(create: CreateIndex): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLSupport
  11. abstract def ddl(alter: CreateForeignKey): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLSupport
  12. abstract def ddl[T, S](create: CreateColumn[T, S]): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLSupport
  13. abstract def ddl(create: CreateTable): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLSupport
  14. abstract def ddl(tables: List[Table], ifNotExists: Boolean = true): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLSupport
  15. abstract def describe[E, R](query: Query[E, R]): (String, List[TypedValue[_, _]])

    Permalink

    Converts the Query to a SQL String and a List of arguments.

    Converts the Query to a SQL String and a List of arguments.

    E

    expressions

    R

    result

    query

    to describe

    returns

    (String, List[TypedValue[_, _])

  16. abstract def invoke(delete: Delete)(implicit session: Session): Int

    Permalink
    Attributes
    protected
  17. abstract def invoke[T](update: Update[T])(implicit session: Session): Int

    Permalink
    Attributes
    protected
  18. abstract def invoke(merge: Merge)(implicit session: Session): Int

    Permalink
    Attributes
    protected
  19. abstract def invoke(insert: InsertMultiple)(implicit session: Session): List[Int]

    Permalink
    Attributes
    protected
  20. abstract def invoke[T](insert: InsertSingle[T])(implicit session: Session): Int

    Permalink
    Attributes
    protected
  21. abstract def invoke[E, R](query: Query[E, R])(implicit session: Session): ResultSet

    Permalink
    Attributes
    protected
  22. abstract def table2Create(table: Table, ifNotExists: Boolean = true): CreateTable

    Permalink
    Definition Classes
    DDLSupport

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. val Avg: DerivedFunctionType

    Permalink
    Definition Classes
    BasicFunctionTypes
  5. val BoolAnd: SpecificFunctionType[Boolean, Boolean]

    Permalink
    Definition Classes
    BasicFunctionTypes
  6. val BoolOr: SpecificFunctionType[Boolean, Boolean]

    Permalink
    Definition Classes
    BasicFunctionTypes
  7. val Concat: ValueFunctionType[String, String]

    Permalink
    Definition Classes
    BasicFunctionTypes
  8. val Count: SpecificFunctionType[Long, Long]

    Permalink
    Definition Classes
    BasicFunctionTypes
  9. def DefaultBinaryLength: Int

    Permalink
  10. def DefaultVarCharLength: Int

    Permalink
  11. val GroupConcat: SpecificFunctionType[String, String]

    Permalink
    Definition Classes
    BasicFunctionTypes
  12. val Max: DerivedFunctionType

    Permalink
    Definition Classes
    BasicFunctionTypes
  13. val Min: DerivedFunctionType

    Permalink
    Definition Classes
    BasicFunctionTypes
  14. val Now: DefaultFunctionType[Timestamp, Timestamp]

    Permalink

    Definition Classes
    BasicFunctionTypes
    Note

    Not available in H2

  15. val Sum: DerivedFunctionType

    Permalink
    Definition Classes
    BasicFunctionTypes
  16. val UnixTimestamp: DefaultFunctionType[Long, Long]

    Permalink

    Definition Classes
    BasicFunctionTypes
    Note

    Not available in H2

  17. val _session: ThreadLocal[Option[Session]] { def initialValue(): None.type }

    Permalink
    Attributes
    protected
    Definition Classes
    SessionSupport
  18. def add(table: Table): Unit

    Permalink
    Attributes
    protected[org.scalarelational]
  19. def afterInvoke(delete: Delete): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    SQLContainer
  20. def afterInvoke[T](update: Update[T]): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    SQLContainer
  21. def afterInvoke(merge: Merge): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    SQLContainer
  22. def afterInvoke(insert: InsertMultiple): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    SQLContainer
  23. def afterInvoke[T](insert: InsertSingle[T]): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    SQLContainer
  24. def afterInvoke[E, R](query: Query[E, R]): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    SQLContainer
  25. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  26. def async[Result](f: (Session) ⇒ Result): Future[Result]

    Permalink

    Executes the inline function asynchronously and surrounds in a session returning Future[Result].

    Executes the inline function asynchronously and surrounds in a session returning Future[Result].

    Definition Classes
    SessionSupport
  27. def beforeInvoke(delete: Delete): Delete

    Permalink
    Attributes
    protected
    Definition Classes
    SQLContainer
  28. def beforeInvoke[T](update: Update[T]): Update[T]

    Permalink
    Attributes
    protected
    Definition Classes
    SQLContainer
  29. def beforeInvoke(merge: Merge): Merge

    Permalink
    Attributes
    protected
    Definition Classes
    SQLContainer
  30. def beforeInvoke(insert: InsertMultiple): InsertMultiple

    Permalink
    Attributes
    protected
    Definition Classes
    SQLContainer
  31. def beforeInvoke[T](insert: InsertSingle[T]): InsertSingle[T]

    Permalink
    Attributes
    protected
    Definition Classes
    SQLContainer
  32. def beforeInvoke[E, R](query: Query[E, R]): Query[E, R]

    Permalink
    Attributes
    protected
    Definition Classes
    SQLContainer
  33. implicit def bigDecimalType: SimpleDataType[BigDecimal]

    Permalink
    Definition Classes
    DataTypeSupport
  34. implicit def blobType: SimpleDataType[Blob]

    Permalink
    Definition Classes
    DataTypeSupport
  35. implicit def booleanType: SimpleDataType[Boolean]

    Permalink
    Definition Classes
    DataTypeSupport
  36. implicit def byteArrayType: SimpleDataType[Array[Byte]]

    Permalink
    Definition Classes
    DataTypeSupport
  37. def calling(instructionType: InstructionType, sql: String): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    SQLContainer
  38. def changeColumnType[T, S](tableName: String, columnName: String, properties: ColumnProperty*)(implicit dataType: DataType[T, S]): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLDSLSupport
  39. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  40. def create(tables: Table*)(implicit session: Session): Int

    Permalink
  41. def createColumn[T](tableName: String, columnName: String, columnProperty: ColumnProperty*)(implicit dataType: SimpleDataType[T]): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLDSLSupport
  42. def createColumn[T, S](tableName: String, columnName: String, columnProperty: ColumnProperty*)(implicit dataType: DataType[T, S]): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLDSLSupport
  43. def createColumn[T, S](column: Column[T, S]): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLDSLSupport
  44. def createSession(): (Boolean, Session)

    Permalink
    Attributes
    protected
    Definition Classes
    SessionSupport
  45. def createTable(tableName: String): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLDSLSupport
  46. def createTable(table: Table): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLDSLSupport
  47. def creating(): Unit

    Permalink

    Called when the datastore is being created for the first time.

    Called when the datastore is being created for the first time. This does not mean the tables are being created but just the datastore.

  48. def dataTypeForInstance[T, S](dataTypeInstance: DataTypeInstance[T, S]): DataType[T, S]

    Permalink

    All columns that are created receive a DataType responsible for converting data between Scala and the database.

    All columns that are created receive a DataType responsible for converting data between Scala and the database. This processor receives all of those DataTypes before they are assigned to the column allowing modification by database implementations or other customizations of how the datastore interacts with the database.

  49. def delete(table: Table): Delete

    Permalink
    Definition Classes
    DSLSupport
  50. def dispose(): Unit

    Permalink
  51. def disposeDataSource(dataSource: DataSource): Unit

    Permalink
    Attributes
    protected
  52. def disposeSession(session: Session): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    SessionSupport
  53. implicit def doubleType: SimpleDataType[Double]

    Permalink
    Definition Classes
    DataTypeSupport
  54. def dropColumn(tableName: String, columnName: String): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLDSLSupport
  55. def dropColumn(column: Column[_, _]): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLDSLSupport
  56. def dropIndex(tableName: String, indexName: String): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLDSLSupport
  57. def dropIndex(table: Table, indexName: String): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLDSLSupport
  58. def dropTable(tableName: String, cascade: Boolean): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLDSLSupport
  59. def dropTable(table: Table, cascade: Boolean): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLDSLSupport
  60. def empty()(implicit session: Session): Boolean

    Permalink
  61. implicit def enum[T <: EnumEntry](implicit enumeration: Enum[T], manifest: Manifest[T]): DataType[T, String]

    Permalink
    Definition Classes
    DataTypeSupport
  62. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  63. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  64. def executionContext: ExecutionContextExecutor

    Permalink
    Attributes
    protected
    Definition Classes
    SessionSupport
  65. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  66. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  67. def hasSession: Boolean

    Permalink
    Definition Classes
    SessionSupport
  68. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  69. def insert(values: ColumnValue[_, _]*): InsertSingle[Int]

    Permalink
    Definition Classes
    DSLSupport
  70. implicit def insert2Rows(inserts: Seq[Insert[_]]): Seq[Seq[ColumnValue[_, _]]]

    Permalink
    Definition Classes
    DSLSupport
  71. def insertBatch(rows: Seq[Seq[ColumnValue[_, _]]]): InsertMultiple

    Permalink
    Definition Classes
    DSLSupport
  72. def insertInto(table: Table, values: Any*): InsertSingle[Int]

    Permalink
    Definition Classes
    DSLSupport
  73. def instantiateSession(): Session

    Permalink
    Attributes
    protected
    Definition Classes
    SessionSupport
  74. implicit def intType: SimpleDataType[Int]

    Permalink
    Definition Classes
    DataTypeSupport
  75. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  76. def jdbcColumns(tableName: String)(implicit session: Session): Set[String]

    Permalink
  77. def jdbcTables(implicit session: Session): Set[String]

    Permalink
  78. def logger: Logger

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  79. def loggerName: String

    Permalink
    Attributes
    protected
    Definition Classes
    Logging
  80. implicit def longTimestampType: DataType[Long, Timestamp]

    Permalink
    Definition Classes
    DataTypeSupport
  81. implicit def longType: SimpleDataType[Long]

    Permalink
    Definition Classes
    DataTypeSupport
  82. def merge(key: Column[_, _], values: ColumnValue[_, _]*): Merge

    Permalink
    Definition Classes
    DSLSupport
  83. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  84. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  85. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  86. implicit def option[T, S](implicit dataType: DataType[T, S]): DataType[Option[T], S]

    Permalink
    Definition Classes
    DataTypeSupport
  87. implicit def reference[T]: DataType[Ref[T], Int]

    Permalink
    Definition Classes
    DataTypeSupport
  88. def renameColumn(tableName: String, oldName: String, newName: String): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLDSLSupport
  89. def restartColumn(tableName: String, columnName: String, value: Long): List[CallableInstruction]

    Permalink
    Definition Classes
    DDLDSLSupport
  90. def select(expressions: List[SelectExpression[_]]): SelectQueryPart[Vector[SelectExpression[_]], QueryResult]

    Permalink
    Definition Classes
    DSLSupport
  91. def select[E1, E2, E3, E4, E5, E6, E7, E8, E9, E10](e1: SelectExpression[E1], e2: SelectExpression[E2], e3: SelectExpression[E3], e4: SelectExpression[E4], e5: SelectExpression[E5], e6: SelectExpression[E6], e7: SelectExpression[E7], e8: SelectExpression[E8], e9: SelectExpression[E9], e10: SelectExpression[E10]): SelectQueryPart[(E1, E2, E3, E4, E5, E6, E7, E8, E9, E10), (E1, E2, E3, E4, E5, E6, E7, E8, E9, E10)]

    Permalink
    Definition Classes
    DSLSupport
  92. def select[E1, E2, E3, E4, E5, E6, E7, E8, E9](e1: SelectExpression[E1], e2: SelectExpression[E2], e3: SelectExpression[E3], e4: SelectExpression[E4], e5: SelectExpression[E5], e6: SelectExpression[E6], e7: SelectExpression[E7], e8: SelectExpression[E8], e9: SelectExpression[E9]): SelectQueryPart[(E1, E2, E3, E4, E5, E6, E7, E8, E9), (E1, E2, E3, E4, E5, E6, E7, E8, E9)]

    Permalink
    Definition Classes
    DSLSupport
  93. def select[E1, E2, E3, E4, E5, E6, E7, E8](e1: SelectExpression[E1], e2: SelectExpression[E2], e3: SelectExpression[E3], e4: SelectExpression[E4], e5: SelectExpression[E5], e6: SelectExpression[E6], e7: SelectExpression[E7], e8: SelectExpression[E8]): SelectQueryPart[(E1, E2, E3, E4, E5, E6, E7, E8), (E1, E2, E3, E4, E5, E6, E7, E8)]

    Permalink
    Definition Classes
    DSLSupport
  94. def select[E1, E2, E3, E4, E5, E6, E7](e1: SelectExpression[E1], e2: SelectExpression[E2], e3: SelectExpression[E3], e4: SelectExpression[E4], e5: SelectExpression[E5], e6: SelectExpression[E6], e7: SelectExpression[E7]): SelectQueryPart[(E1, E2, E3, E4, E5, E6, E7), (E1, E2, E3, E4, E5, E6, E7)]

    Permalink
    Definition Classes
    DSLSupport
  95. def select[E1, E2, E3, E4, E5, E6](e1: SelectExpression[E1], e2: SelectExpression[E2], e3: SelectExpression[E3], e4: SelectExpression[E4], e5: SelectExpression[E5], e6: SelectExpression[E6]): SelectQueryPart[(E1, E2, E3, E4, E5, E6), (E1, E2, E3, E4, E5, E6)]

    Permalink
    Definition Classes
    DSLSupport
  96. def select[E1, E2, E3, E4, E5](e1: SelectExpression[E1], e2: SelectExpression[E2], e3: SelectExpression[E3], e4: SelectExpression[E4], e5: SelectExpression[E5]): SelectQueryPart[(E1, E2, E3, E4, E5), (E1, E2, E3, E4, E5)]

    Permalink
    Definition Classes
    DSLSupport
  97. def select[E1, E2, E3, E4](e1: SelectExpression[E1], e2: SelectExpression[E2], e3: SelectExpression[E3], e4: SelectExpression[E4]): SelectQueryPart[(E1, E2, E3, E4), (E1, E2, E3, E4)]

    Permalink
    Definition Classes
    DSLSupport
  98. def select[E1, E2, E3](e1: SelectExpression[E1], e2: SelectExpression[E2], e3: SelectExpression[E3]): SelectQueryPart[(E1, E2, E3), (E1, E2, E3)]

    Permalink
    Definition Classes
    DSLSupport
  99. def select[E1, E2](e1: SelectExpression[E1], e2: SelectExpression[E2]): SelectQueryPart[(E1, E2), (E1, E2)]

    Permalink
    Definition Classes
    DSLSupport
  100. def select[E](e1: SelectExpression[E]): SelectQueryPart[E, E]

    Permalink
    Definition Classes
    DSLSupport
  101. implicit def stringType: SimpleDataType[String]

    Permalink
    Definition Classes
    DataTypeSupport
  102. def supportsBatchInsertResponse: Boolean

    Permalink

    True if this database implementation supports multiple id responses on batch insert.

  103. def supportsMerge: Boolean

    Permalink

    True if this database implementation supports merges.

  104. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  105. def tableByName(name: String): Option[Table]

    Permalink
  106. def tableExists(name: String)(implicit session: Session): Boolean

    Permalink
  107. implicit def thisDatastore: Datastore

    Permalink
  108. implicit def timestampType: SimpleDataType[Timestamp]

    Permalink
    Definition Classes
    DataTypeSupport
  109. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  110. def transaction[Result](f: (Session) ⇒ Result): Result

    Permalink
    Definition Classes
    SessionSupport
  111. def update(values: ColumnValue[_, _]*): Update[Int]

    Permalink
    Definition Classes
    DSLSupport
  112. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  113. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  114. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  115. def withSession[Result](f: (Session) ⇒ Result): Result

    Permalink
    Definition Classes
    SessionSupport

Inherited from BasicFunctionTypes

Inherited from DDLDSLSupport

Inherited from DataTypeSupport

Inherited from DDLSupport

Inherited from SQLContainer

Inherited from DSLSupport

Inherited from SessionSupport

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Ungrouped