easysql.dsl
package easysql.dsl
Members list
Concise view
Type members
Classlikes
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalstrait Expr[T]trait SelectItem[T]class Objecttrait Matchableclass Any
case class AliasExpr[T <: SqlDataType, Alias <: String](expr: Expr[T], name: Alias) extends SelectItem[T]
Attributes
- Graph
- Supertypes
object AllColumn
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- AllColumn.type
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalstrait Expr[Nothing]trait SelectItem[Nothing]class Objecttrait Matchableclass Any
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
- trait Serializabletrait Producttrait Equalstrait Expr[Boolean]trait SelectItem[Boolean]class Objecttrait Matchableclass Any
case class BinaryExpr[T <: SqlDataType](left: Expr[_], op: SqlBinaryOperator, right: Expr[_]) extends Expr[T]
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalstrait Expr[T]trait SelectItem[T]class Objecttrait Matchableclass Any
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
- trait Serializabletrait Producttrait Equalstrait Expr[T]trait SelectItem[T]class Objecttrait Matchableclass Any
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalstrait Expr[T]trait SelectItem[T]class Objecttrait Matchableclass Any
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
- trait Serializabletrait Producttrait Equalstrait Expr[T]trait SelectItem[T]class Objecttrait Matchableclass Any
Attributes
- Companion:
- object
- Graph
- Supertypes
- 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
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalstrait Expr[T]trait SelectItem[T]class Objecttrait Matchableclass Any
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalstrait Expr[T]trait SelectItem[T]class Objecttrait Matchableclass Any
case class InExpr[T <: SqlDataType](expr: Expr[_], inExpr: Expr[_], not: Boolean) extends Expr[Boolean]
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalstrait Expr[Boolean]trait SelectItem[Boolean]class Objecttrait Matchableclass Any
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalstrait StaticAnnotationclass Annotationclass Objecttrait Matchableclass Any
Attributes
- Graph
- Supertypes
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalstrait Expr[T]trait SelectItem[T]class Objecttrait Matchableclass Any
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalstrait Expr[T]trait SelectItem[T]class Objecttrait Matchableclass Any
Attributes
- Graph
- Supertypes
- trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalstrait Expr[Nothing]trait SelectItem[Nothing]class Objecttrait Matchableclass Any
- Self type
- NullExpr.type
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass Any
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalstrait Expr[T]trait SelectItem[T]class Objecttrait Matchableclass Any
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
- trait Serializabletrait Producttrait Equalstrait Expr[T]trait SelectItem[T]class Objecttrait Matchableclass Any
case class PrimaryKeyGenerator(columnName: String, gernerator: () => SqlDataType) extends StaticAnnotation
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalstrait StaticAnnotationclass Annotationclass Objecttrait Matchableclass Any
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Known subtypes
- trait Expr[T]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]class TableSchema[E]
Attributes
- Graph
- Supertypes
- trait Serializabletrait Producttrait Equalstrait Expr[T]trait SelectItem[T]class Objecttrait Matchableclass Any
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 with SelectItem[E]
Attributes
- Graph
- Supertypes
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 false => ElementType[tt, nt, Name]
}
case (EmptyTuple, EmptyTuple) => Nothing
}
type ExtractAliasNames[T <: Tuple] = T match {
case AliasExpr[_$4, n] *: t => n *: ExtractAliasNames[t]
case ColumnExpr[_$5, n] *: t => n *: ExtractAliasNames[t]
case PrimaryKeyExpr[_$6, 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[_$1, n] *: t => true && HasAliasName[t]
case ColumnExpr[_$2, n] *: t => true && HasAliasName[t]
case PrimaryKeyExpr[_$3, n] *: t => true && HasAliasName[t]
case EmptyTuple => true
case Any => false
}
type InverseMap[X <: Tuple] = X match {
case SelectItem[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
Extensions
Extensions
extension [T <: SqlDataType](expr: ColumnExpr[T, _] | IdentExpr[T])
extension (s: StringContext)