io.getquill.context
Members list
Packages
Type members
Classlikes
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Supertypes
- Known subtypes
-
trait H2Dialectobject H2Dialect.typetrait MySQLDialecttrait MySQL5Dialectobject MySQL5Dialect.typeobject MySQLDialect.typetrait PostgresDialectobject PostgresDialect.typetrait SQLServerDialectobject SQLServerDialect.typeShow all
Attributes
- Supertypes
- Known subtypes
Attributes
- Supertypes
- Known subtypes
-
trait H2Dialectobject H2Dialect.typetrait MySQLDialecttrait MySQL5Dialectobject MySQL5Dialect.typeobject MySQLDialect.typetrait PostgresDialectobject PostgresDialect.typetrait SQLServerDialectobject SQLServerDialect.typetrait SqliteDialectobject SqliteDialect.typeShow all
Attributes
- Supertypes
- Known subtypes
-
trait OracleDialectobject OracleDialect.type
Attributes
- Supertypes
- Known subtypes
Attributes
- Supertypes
- Known subtypes
-
class MirrorIdiomobject MirrorIdiom.typeobject MirrorIdiomPrinting.typeobject MirrorSqlDialectWithReturnClause.typetrait PostgresDialectobject PostgresDialect.typeShow all
Attributes
- Supertypes
- Known subtypes
-
trait H2Dialectobject H2Dialect.typetrait MirrorSqlDialectobject MirrorSqlDialect.typetrait StrategizeElementsobject StrategizeElements.typeobject MirrorSqlDialectWithBooleanLiterals.typetrait MySQLDialecttrait MySQL5Dialectobject MySQL5Dialect.typeobject MySQLDialect.typetrait SqliteDialectobject SqliteDialect.typeShow all
Attributes
- Supertypes
- Known subtypes
Attributes
- Supertypes
- Known subtypes
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.
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.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
ExecutionInfo.type
Attributes
- Companion
- trait
- Supertypes
- Self type
-
ExecutionType.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait H2Dialectobject H2Dialect.typetrait MySQLDialecttrait MySQL5Dialectobject MySQL5Dialect.typeobject MySQLDialect.typetrait PostgresDialectobject PostgresDialect.typetrait SQLServerDialectobject SQLServerDialect.typetrait OracleDialectobject OracleDialect.typetrait SqliteDialectobject SqliteDialect.typeShow all
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait CanInsertWithMultiValuestrait H2Dialectobject H2Dialect.typetrait MySQLDialecttrait MySQL5Dialectobject MySQL5Dialect.typeobject MySQLDialect.typetrait PostgresDialectobject PostgresDialect.typetrait SQLServerDialectobject SQLServerDialect.typetrait SqliteDialectobject SqliteDialect.typetrait CanInsertWithSingleValuetrait OracleDialectobject OracleDialect.typeShow all
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait CanOutputClauseobject MirrorSqlDialectWithOutputClause.typetrait SQLServerDialectobject SQLServerDialect.typetrait CanReturnClauseclass MirrorIdiomobject MirrorIdiom.typeobject MirrorIdiomPrinting.typeobject MirrorSqlDialectWithReturnClause.typetrait PostgresDialectobject PostgresDialect.typetrait CanReturnFieldtrait H2Dialectobject H2Dialect.typetrait MirrorSqlDialectobject MirrorSqlDialect.typetrait StrategizeElementsobject StrategizeElements.typeobject MirrorSqlDialectWithBooleanLiterals.typetrait MySQLDialecttrait MySQL5Dialectobject MySQL5Dialect.typeobject MySQLDialect.typetrait SqliteDialectobject SqliteDialect.typetrait CanReturnMultiFieldobject MirrorSqlDialectWithReturnMulti.typetrait OracleDialectobject OracleDialect.typetrait CannotReturnobject CqlIdiom.typeobject MirrorSqlDialectWithNoReturn.typetrait Idiomtrait CqlIdiomtrait SqlIdiomtrait BooleanLiteralSupporttrait MirrorIdiomBaseShow all
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
object InsertReturningValueMulti.type
Attributes
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
object InsertReturningValueSingle.type
Attributes
While many databases allow multiple VALUES clauses, they do not support doing getGeneratedKeys or allow returning
clauses for those situations (or actually do not fail but just have wrong behavior e.g. Sqlite.) This context controls which DBs can do batch-insert and actually return the generated IDs from the batch inserts (currently only Postgres and SQL Server can do this).
While many databases allow multiple VALUES clauses, they do not support doing getGeneratedKeys or allow returning
clauses for those situations (or actually do not fail but just have wrong behavior e.g. Sqlite.) This context controls which DBs can do batch-insert and actually return the generated IDs from the batch inserts (currently only Postgres and SQL Server can do this).
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object InsertReturningValueMulti.typeobject InsertReturningValueSingle.type
The DB supports multiple values-clauses per insert-query
The DB supports multiple values-clauses per insert-query
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
object InsertValueMulti.type
Attributes
- Companion
- trait
- Supertypes
-
trait Sumtrait Mirrortrait InsertValueMultitrait InsertValuesCapabilityclass Objecttrait Matchableclass AnyShow all
- Self type
-
InsertValueMulti.type
The DB supports only one single values-clauses per insert-query
The DB supports only one single values-clauses per insert-query
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
object InsertValueSingle.type
Attributes
- Companion
- trait
- Supertypes
-
trait Sumtrait Mirrortrait InsertValueSingletrait InsertValuesCapabilityclass Objecttrait Matchableclass AnyShow all
- Self type
-
InsertValueSingle.type
Whether values-clause in INSERT INTO Someplaces (...) VALUES (values-clause)
can be repeated i.e: INSERT INTO Someplaces (...) VALUES (values1), (values2), (values3), etc...
Whether values-clause in INSERT INTO Someplaces (...) VALUES (values-clause)
can be repeated i.e: INSERT INTO Someplaces (...) VALUES (values1), (values2), (values3), etc...
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait InsertValueMultiobject InsertValueMulti.typetrait InsertValueSingleobject InsertValueSingle.type
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
.
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
.
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
object OutputClauseSupported.type
Attributes
- Companion
- trait
- Supertypes
-
trait Sumtrait Mirrortrait OutputClauseSupportedtrait ReturningCapabilityclass Objecttrait Matchableclass AnyShow all
- Self type
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.
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.
Attributes
- Supertypes
Attributes
- Supertypes
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait OutputClauseSupportedobject OutputClauseSupported.typetrait ReturningClauseSupportedobject ReturningClauseSupported.typeobject ReturningMultipleFieldSupported.typetrait ReturningNotSupportedobject ReturningNotSupported.typeobject ReturningSingleFieldSupported.typeShow all
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))
.
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))
.
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
object ReturningClauseSupported.type
Attributes
- Companion
- trait
- Supertypes
-
trait Sumtrait Mirrortrait ReturningClauseSupportedtrait ReturningCapabilityclass Objecttrait Matchableclass AnyShow all
- Self type
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, ..."))
.
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, ..."))
.
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
object ReturningMultipleFieldSupported.type
Attributes
- Companion
- trait
- Supertypes
- Self type
Data cannot be returned Insert/Update/etc... clauses in the target database.
Data cannot be returned Insert/Update/etc... clauses in the target database.
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
object ReturningNotSupported.type
Attributes
- Companion
- trait
- Supertypes
-
trait Sumtrait Mirrortrait ReturningNotSupportedtrait ReturningCapabilityclass Objecttrait Matchableclass AnyShow all
- Self type
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"))
.
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"))
.
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
object ReturningSingleFieldSupported.type
Attributes
- Companion
- trait
- Supertypes
- Self type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-