An SQL definition that produces a value of type A.
The definition can be either:
Attributes
- Companion
- object
- Source
- SQLDefinition.scala
- Graph
-
- Supertypes
-
trait SQLDefinitionRead[A]trait Prefixable[A]trait TypedMultiFragment[A]class Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class Column[A]trait WithSQLDefinition[A]
- Self type
Members list
Type members
Value members
Abstract methods
Returns the SQL which evaluates to true if all columns of this SQLDefinition are equal to the given value.
Returns the SQL which evaluates to true if all columns of this SQLDefinition are equal to the given value.
Attributes
- Source
- SQLDefinition.scala
Converts the value into a vector of (columnName, value)
pairs.
Converts the value into a vector of (columnName, value)
pairs.
Attributes
- Source
- SQLDefinition.scala
Changes the type of the definition. The change must be invariant and cannot fail. Useful for wrapper types.
Changes the type of the definition. The change must be invariant and cannot fail. Useful for wrapper types.
Attributes
- Source
- SQLDefinition.scala
Was this SQLDefinition created from a option method.
Creates an Option version of the SQLDefinition, giving that it is not already an Option.
Creates an Option version of the SQLDefinition, giving that it is not already an Option.
Useful when you are doing joins and want a non-nullable Column/SQLDefinition to be represented as a nullable one.
Attributes
- Source
- SQLDefinition.scala
The SQL Fragment containing all of the Column.name joined with ",".
The SQL Fragment containing all of the Column.name joined with ",".
Useful in preparing batch inserts.
Update[Person](
sql"INSERT INTO $personTable (${person.columnsSql}) VALUES (${person.valuesSql})".rawSql
).updateMany(persons)
Attributes
- Source
- SQLDefinition.scala
Concrete methods
Returns Update for batch inserts into the given table.
Full SQL for inserting into the given table.
Generates a Fragment that sets all columns of the SQLDefinition to their excluded values.
Generates a Fragment that sets all columns of the SQLDefinition to their excluded values.
Attributes
- Source
- SQLDefinition.scala
To allow widening the type of Column and similar ones to SQLDefinition.
To allow widening the type of Column and similar ones to SQLDefinition.
This is useful when working with tuples of SQLDefinitions, because (Column[Int], Column[String])
is not the same thing as (SQLDefinition[Int], SQLDefinition[String])
.
Attributes
- Source
- SQLDefinition.scala
Inherited methods
Attributes
- Definition Classes
- Inherited from:
- SQLDefinitionRead
- Source
- SQLDefinition.scala
Changes the type of the definition. The change cannot fail. Useful for wrapper types.
Changes the type of the definition. The change cannot fail. Useful for wrapper types.
Attributes
- Inherited from:
- SQLDefinitionRead
- Source
- SQLDefinition.scala
To allow widening the type of Column and similar ones to SQLDefinitionRead.
To allow widening the type of Column and similar ones to SQLDefinitionRead.
This is useful when working with tuples of SQLDefinitions, because (Column[Int], Column[String])
is not the same thing as (SQLDefinitionRead[Int], SQLDefinitionRead[String])
.
Attributes
- Inherited from:
- SQLDefinitionRead
- Source
- SQLDefinition.scala
To allow widening the type of Column and similar ones to TypedMultiFragment.
To allow widening the type of Column and similar ones to TypedMultiFragment.
This is useful when working with tuples of TypedMultiFragments, because (Column[Int], Column[String])
is not the same thing as (TypedMultiFragment[Int], TypedMultiFragment[String])
.
Attributes
- Inherited from:
- TypedMultiFragment
- Source
- TypedMultiFragment.scala
Inherited and Abstract methods
Vector of columns
Prefixes all column names with prefix.
. If this already had a prefix, the prefix is replaced.
Prefixes all column names with prefix.
. If this already had a prefix, the prefix is replaced.
Attributes
- Inherited from:
- Prefixable
- Source
- TypedMultiFragment.scala
Attributes
- Inherited from:
- TypedMultiFragment
- Source
- TypedMultiFragment.scala
Concrete fields
Combines columnsSql and valuesSql.
Combines columnsSql and valuesSql.
Useful in preparing batch inserts.
Update[Person](
sql"INSERT INTO $personTable ${person.insertSql}".rawSql
).updateMany(persons)
Attributes
- Source
- SQLDefinition.scala
The SQL Fragment containing as many value placeholders (?) as there are columns joined with ",".
The SQL Fragment containing as many value placeholders (?) as there are columns joined with ",".
Useful in preparing batch inserts. See columnsSql.
Attributes
- Source
- SQLDefinition.scala
Inherited fields
Prefixes all column names with EXCLUDED
, which is a special SQL table name when resolving insert/update conflicts.
Prefixes all column names with EXCLUDED
, which is a special SQL table name when resolving insert/update conflicts.
Example:
sql""" ${t.Row.insertSqlFor(t)} ON CONFLICT (${t.userId},
${t.weaponId}) DO UPDATE SET ${t.kills} = ${t.kills} +
${t.kills.excluded} """
Attributes
- Inherited from:
- Prefixable
- Source
- TypedMultiFragment.scala
SQL that lists all of the columns to get this SQL result.
SQL that lists all of the columns to get this SQL result.
Attributes
- Inherited from:
- SQLDefinitionRead
- Source
- SQLDefinition.scala
Givens
Givens
Attributes
- Source
- SQLDefinition.scala
Inherited givens
Attributes
- Inherited from:
- SQLDefinitionRead
- Source
- SQLDefinition.scala