easysql.dsl
package easysql.dsl
Members list
Concise view
Type members
Classlikes
Attributes
- Graph
- Supertypes
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any
object AllColumn
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- AllColumn.type
Attributes
- Graph
- Supertypes
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
- class JoinTableclass TableSchema[E]
case class BetweenExpr[T <: SqlDataType](expr: Expr[_], start: Expr[_], end: Expr[_], not: Boolean) extends Expr[Boolean]
Attributes
- Graph
- Supertypes
case class BinaryExpr[T <: SqlDataType](left: Expr[_], op: SqlBinaryOperator, right: Expr[_]) extends Expr[T]
Attributes
- Graph
- Supertypes
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any
case class CaseExpr[T <: SqlDataType](branches: List[CaseBranch[_]], default: Expr[_]) extends Expr[T]
Attributes
- Graph
- Supertypes
Attributes
- Graph
- Supertypes
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalstrait StaticAnnotationclass Annotationclass Objecttrait Matchableclass Any
case class ColumnExpr[T <: SqlDataType, N <: String](tableName: String, columnName: String, identName: N) extends Expr[T]
Attributes
- Graph
- Supertypes
case class CustomColumn[T, D <: SqlDataType](columnName: String, serializer: CustomSerializer[T, D]) extends StaticAnnotation
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalstrait StaticAnnotationclass Annotationclass Objecttrait Matchableclass Any
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
Attributes
- Companion:
- object
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
- class AggExpr[T]class AllColumnExprclass BetweenExpr[T]class BinaryExpr[T]class CaseExpr[T]class CastExpr[T]class FuncExpr[T]class IdentExpr[T]class InExpr[T]class ListExpr[T]class LiteralExpr[T]object NullExpr.typeclass OverExpr[T]class SubQueryExpr[T]
object Expr
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
- object boolOperator.typeobject dateOperator.typeobject stringOperator.typeobject unsafeOperator.type
Attributes
- Graph
- Supertypes
Attributes
- Graph
- Supertypes
case class InExpr[T <: SqlDataType](expr: Expr[_], inExpr: Expr[_], not: Boolean) extends Expr[Boolean]
Attributes
- Graph
- Supertypes
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalstrait StaticAnnotationclass Annotationclass Objecttrait Matchableclass Any
Attributes
- Graph
- Supertypes
Attributes
- Graph
- Supertypes
Attributes
- Graph
- Supertypes
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any
Attributes
- Graph
- Supertypes
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalstrait StaticAnnotationclass Annotationclass Objecttrait Matchableclass Any
case class PrimaryKeyExpr[T <: SqlDataType, N <: String](tableName: String, columnName: String, identName: N, inc: Boolean) extends Expr[T]
Attributes
- Graph
- Supertypes
case class PrimaryKeyGenerator(columnName: String, gernerator: () => SqlDataType) extends StaticAnnotation
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalstrait StaticAnnotationclass Annotationclass Objecttrait Matchableclass Any
Attributes
- Graph
- Supertypes
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalstrait StaticAnnotationclass Annotationclass Objecttrait Matchableclass Any
class TableSchema[E <: Product](`__tableName`: String, `__aliasName`: Option[String], `__cols`: List[ColumnExpr[_, _]]) extends AnyTable with Dynamic
Attributes
- Graph
- Supertypes
Attributes
- Graph
- Supertypes
- Self type
- unsafeOperator.type
Types
type AliasNames[T <: Tuple] = HasAliasName[T] match {
case true => ExtractAliasNames[T]
case false => EmptyTuple
}
type ElementType[T <: Tuple, N <: Tuple, Name <: String] = (T, N) match {
case (t *: tt, n *: nt) => n == Name match {
case true => t match {
case SqlDataType => t
case Option[o] => o match {
case SqlDataType => o
}
case Any => Nothing
}
case false => ElementType[tt, nt, Name]
}
case (EmptyTuple, EmptyTuple) => Nothing
}
type ExtractAliasNames[T <: Tuple] = T match {
case AliasExpr[_$5, n] *: t => n *: ExtractAliasNames[t]
case ColumnExpr[_$6, n] *: t => n *: ExtractAliasNames[t]
case PrimaryKeyExpr[_$7, n] *: t => n *: ExtractAliasNames[t]
case Any => EmptyTuple
}
type FindTypeByName[T <: Tuple, I <: Int, Name <: String] = I >= 0 match {
case true => Elem[T, I] match {
case (t, n) => n == Name match {
case true => t
case false => FindTypeByName[T, I - 1, Name]
}
case Any => Nothing
}
case false => Nothing
}
type HasAliasName[T <: Tuple] = T match {
case AliasExpr[_$2, n] *: t => true && HasAliasName[t]
case ColumnExpr[_$3, n] *: t => true && HasAliasName[t]
case PrimaryKeyExpr[_$4, n] *: t => true && HasAliasName[t]
case EmptyTuple => true
case Any => false
}
type InverseMap[X <: Tuple] = X match {
case Expr[x] *: t => x *: InverseMap[t]
case AliasExpr[x, _$1] *: t => x *: InverseMap[t]
case TableSchema[x] *: t => x *: InverseMap[t]
case EmptyTuple => EmptyTuple
}
type UnionTo[A, B] = A match {
case B => B
case SqlNumberType => B match {
case SqlNumberType => BigDecimal
}
}
type UpdateType[T <: SqlDataType] = T match {
case SqlNumberType => SqlNumberType
case String => String
case Boolean => Boolean
case Date => Date | String
}
Value members
Concrete methods
Givens
Givens
Extensions
Extensions
extension (s: StringContext)