Package

io.getquill

context

Permalink

package context

Visibility
  1. Public
  2. All

Type Members

  1. trait AstSplicing extends AnyRef

    Permalink
  2. trait CanOutputClause extends Capabilities

    Permalink
  3. trait CanReturnClause extends Capabilities

    Permalink
  4. trait CanReturnField extends Capabilities

    Permalink
  5. trait CanReturnMultiField extends Capabilities

    Permalink
  6. trait CannotReturn extends Capabilities

    Permalink
  7. trait Capabilities extends AnyRef

    Permalink
  8. class ExecutionInfo extends AnyRef

    Permalink

    Metadata related to query execution.

    Metadata related to query execution. Note that AST should be lazy so as not to be evaluated at runtime (which would happen with a by-value property since { ExecutionInfo(stuff, ast) } is spliced into a query-execution site). Additionally, there are performance overheads even splicing the finalized version of the AST into call sites of the run functions. For this reason, this functionality is being used only in ProtoQuill and only when a trait extends the trait AstSplicing. In the future it might potentially be controlled by a compiler argument.

  9. sealed trait ExecutionType extends AnyRef

    Permalink
  10. sealed trait OutputClauseSupported extends ReturningCapability

    Permalink

    An actual OUTPUT clause is supported in the SQL dialect of the specified database e.g.

    An actual OUTPUT clause is supported in the SQL dialect of the specified database e.g. MSSQL Server. this typically means that columns returned from Insert/Update/etc... clauses can have arithmetic operations done on them such as OUTPUT INSERTED.id + 1.

  11. trait ProtoContext[Dialect <: Idiom, Naming <: NamingStrategy] extends RowContext

    Permalink

    A common context used between Quill and ProtoQuill.

    A common context used between Quill and ProtoQuill. This is more like a pre-context because the actual run methods cannot be contained here since they use macros. Right now not all Scala2-Quill context extend this context but hopefully they will all in the future. This will establish a common general-api that Quill contexts can use. In ProtoQuill, this context is used for the base of all other context and allows the Scala 3 macros to call the execute_ methods. In Scala2-Quill wherein macros are less strict about signatures, this cannot be used for Context (in Context.scala) but various higher-level context extend it as a guard-rail against API drift i.e. so that the Scala2-Quill and ProtoQuill internal-context APIs remain largely the same.

  12. trait ProtoStreamContext[Dialect <: Idiom, Naming <: NamingStrategy] extends RowContext

    Permalink
  13. sealed trait ReturningCapability extends AnyRef

    Permalink
  14. sealed trait ReturningClauseSupported extends ReturningCapability

    Permalink

    An actual RETURNING clause is supported in the SQL dialect of the specified database e.g.

    An actual RETURNING clause is supported in the SQL dialect of the specified database e.g. Postgres. this typically means that columns returned from Insert/Update/etc... clauses can have other database operations done on them such as arithmetic RETURNING id + 1, UDFs RETURNING udf(id) or others. In JDBC, the following is done: connection.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)).

  15. sealed trait ReturningMultipleFieldSupported extends ReturningCapability

    Permalink

    Returning multiple columns from Insert/Update/etc...

    Returning multiple columns from Insert/Update/etc... clauses is supported. This generally means that columns besides auto-incrementing ones can be returned. This is supported by Oracle. In JDBC, the following is done: connection.prepareStatement(sql, Array("column1, column2, ...")).

  16. sealed trait ReturningNotSupported extends ReturningCapability

    Permalink

    Data cannot be returned Insert/Update/etc...

    Data cannot be returned Insert/Update/etc... clauses in the target database.

  17. sealed trait ReturningSingleFieldSupported extends ReturningCapability

    Permalink

    Returning a single field from Insert/Update/etc...

    Returning a single field from Insert/Update/etc... clauses is supported. This is the most common databases e.g. MySQL, Sqlite, and H2 (although as of h2database/h2database#1972 this may change. See #1496 regarding this. Typically this needs to be setup in the JDBC connection.prepareStatement(sql, Array("returnColumn")).

  18. trait RowContext extends AnyRef

    Permalink

Ungrouped