io.getquill.ast

package io.getquill.ast

Members list

Type members

Classlikes

object +!=+

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
+!=+.type
object +&&+

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
+&&+.type
object +==+

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
+==+.type
object +||+

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
+||+.type
sealed trait Action extends Ast

Attributes

Supertypes
trait Ast
class Object
trait Matchable
class Any
Known subtypes
class Delete
class Foreach
class Insert
class OnConflict
class Returning
class Update
Show all
final case class Aggregation(operator: AggregationOperator, ast: Ast) extends Query

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Query
trait Ast
class Object
trait Matchable
class Any
Show all
sealed trait AggregationOperator extends Operator

Attributes

Companion
object
Supertypes
trait Operator
class Object
trait Matchable
class Any
Known subtypes
object avg.type
object max.type
object min.type
object size.type
object sum.type

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
case object Asc extends PropertyOrdering

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Ordering
trait Ast
class Object
trait Matchable
class Any
Show all
Self type
Asc.type
case object AscNullsFirst extends PropertyOrdering

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Ordering
trait Ast
class Object
trait Matchable
class Any
Show all
Self type
case object AscNullsLast extends PropertyOrdering

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Ordering
trait Ast
class Object
trait Matchable
class Any
Show all
Self type
final case class Assignment(alias: Ident, property: Ast, value: Ast) extends Ast

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class AssignmentDual(alias1: Ident, alias2: Ident, property: Ast, value: Ast) extends Ast

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
sealed trait Ast

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Action
class Delete
class Foreach
class Insert
class OnConflict
class Returning
class Update
class Assignment
class Block
class Dynamic
trait External
trait Lift
trait ScalarLift
trait Tag
class QuotationTag
class ScalarTag
class Function
class Ident
class If
class Infix
class ListContains
class MapContains
class SetContains
class Excluded
class Existing
trait Operation
class OptionApply
class OptionExists
class OptionForall
class OptionMap
class OptionNone
class OptionOrElse
class OptionOrNull
class OptionSome
trait Ordering
object Asc.type
object AscNullsFirst.type
object AscNullsLast.type
object Desc.type
object DescNullsFirst.type
object DescNullsLast.type
class Property
trait Query
class Aggregation
class ConcatMap
class Distinct
class DistinctOn
class Drop
class Entity
class Filter
class FlatJoin
class FlatMap
class GroupBy
class GroupByMap
class Join
class Map
class Nested
class SortBy
class Take
class Union
class UnionAll
trait Terminal
class Val
trait Value
class CaseClass
class Constant
object NullValue.type
class Tuple
Show all
object Ast

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Ast.type
final case class BinaryOperation(a: Ast, operator: BinaryOperator, b: Ast) extends Operation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Operation
trait Ast
class Object
trait Matchable
class Any
Show all
sealed trait BinaryOperator extends Operator

Attributes

Supertypes
trait Operator
class Object
trait Matchable
class Any
Known subtypes
object &&.type
object ||.type
object _!=.type
object _==.type
object %.type
object *.type
object +.type
object -.type
object /.type
object <.type
object <=.type
object >.type
object >=.type
object contains.type
object +.type
object split.type
object startsWith.type
Show all
final case class Block(statements: List[Ast]) extends Ast

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
final case class CaseClass(name: String, values: List[(String, Ast)]) extends Value

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Value
trait Ast
class Object
trait Matchable
class Any
Show all
object CaseClass

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
CaseClass.type
sealed trait CaseClassLift extends Lift

Attributes

Supertypes
trait Lift
trait Terminal
trait External
trait Ast
class Object
trait Matchable
class Any
Show all
Known subtypes
final class CaseClassQueryLift(val name: String, val value: Any)(theQuat: => Quat) extends CaseClassLift

Attributes

Companion
object
Supertypes
trait Lift
trait Terminal
trait External
trait Ast
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
final class CaseClassValueLift(val name: String, val simpleName: String, val value: Any)(theQuat: => Quat) extends CaseClassLift

Attributes

Companion
object
Supertypes
trait Lift
trait Terminal
trait External
trait Ast
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
class CollectAst[T](p: PartialFunction[Ast, T], val state: Queue[T]) extends StatefulTransformer[Queue[T]]

The collection is treated as immutable internally but an ArrayBuffer is more efficient then Collection.list at appending which is mostly what the collection does

The collection is treated as immutable internally but an ArrayBuffer is more efficient then Collection.list at appending which is mostly what the collection does

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object CollectAst

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
CollectAst.type
final case class ConcatMap(query: Ast, alias: Ident, body: Ast) extends Query

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Query
trait Ast
class Object
trait Matchable
class Any
Show all
final class Constant(val v: Any)(theQuat: => Quat) extends Value

Attributes

Companion
object
Supertypes
trait Value
trait Ast
class Object
trait Matchable
class Any
object Constant

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Constant.type
object Core

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Core.type
final case class Delete(query: Ast) extends Action

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Action
trait Ast
class Object
trait Matchable
class Any
Show all
case object Desc extends PropertyOrdering

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Ordering
trait Ast
class Object
trait Matchable
class Any
Show all
Self type
Desc.type
case object DescNullsFirst extends PropertyOrdering

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Ordering
trait Ast
class Object
trait Matchable
class Any
Show all
Self type
case object DescNullsLast extends PropertyOrdering

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Ordering
trait Ast
class Object
trait Matchable
class Any
Show all
Self type
final case class Distinct(a: Ast) extends Query

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Query
trait Ast
class Object
trait Matchable
class Any
Show all
final case class DistinctOn(query: Ast, alias: Ident, body: Ast) extends Query

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Query
trait Ast
class Object
trait Matchable
class Any
Show all
final case class Drop(query: Ast, n: Ast) extends Query

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Query
trait Ast
class Object
trait Matchable
class Any
Show all
final class Dynamic(val tree: Any)(theQuat: => Quat) extends Ast

For Dynamic Infix Splices

For Dynamic Infix Splices

Attributes

Companion
object
Supertypes
trait Ast
class Object
trait Matchable
class Any
object Dynamic

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Dynamic.type
final class Entity(val name: String, val properties: List[PropertyAlias])(theQuat: => Product)(val renameable: Renameable) extends Query

Entities represent the actual tables/views being selected. Typically, something like:

Entities represent the actual tables/views being selected. Typically, something like:

`SELECT p.name FROM People p`

comes from something like:

`Map(Entity("People", Nil), Ident("p"), Property(Ident(p),
"name"))`.

When you define a querySchema, the fields you mention inside become PropertyAliass. For example something like:

`querySchema[Person]("t_person", _.name -> "s_name")`

Becomes something like:

`Entity("t_person", List(PropertyAlias(List("name"),
"s_name"))) { def renameable = Fixed }`

Note that Entity has an Opinion called renameable which will be the value Fixed when a querySchema is specified. That means that even if the NamingSchema is UpperCase, the resulting query will select t_person as opposed to T_PERSON or Person.

Attributes

Companion
object
Supertypes
trait Query
trait Ast
class Object
trait Matchable
class Any
object Entity

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Entity.type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait External extends Ast

Attributes

Companion
object
Supertypes
trait Ast
class Object
trait Matchable
class Any
Known subtypes
trait Lift
trait ScalarLift
trait Tag
class QuotationTag
class ScalarTag
Show all
object External

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
External.type
final class ExternalIdent extends Ast

Attributes

Companion
object
Supertypes
trait Ast
class Object
trait Matchable
class Any
object ExternalIdent

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
final case class Filter(query: Ast, alias: Ident, body: Ast) extends Query

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Query
trait Ast
class Object
trait Matchable
class Any
Show all
final case class FilterIfDefined(ast: Ast, alias: Ident, body: Ast) extends OptionOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class FlatJoin(typ: JoinType, a: Ast, aliasA: Ident, on: Ast) extends Query

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Query
trait Ast
class Object
trait Matchable
class Any
Show all
final case class FlatMap(query: Ast, alias: Ident, body: Ast) extends Query

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Query
trait Ast
class Object
trait Matchable
class Any
Show all
final case class Foreach(query: Ast, alias: Ident, body: Ast) extends Action

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Action
trait Ast
class Object
trait Matchable
class Any
Show all
case object FullJoin extends JoinType

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait JoinType
class Object
trait Matchable
class Any
Show all
Self type
FullJoin.type
final case class Function(params: List[Ident], body: Ast) extends Ast

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class FunctionApply(function: Ast, values: List[Ast]) extends Operation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Operation
trait Ast
class Object
trait Matchable
class Any
Show all
final case class GroupBy(query: Ast, alias: Ident, body: Ast) extends Query

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Query
trait Ast
class Object
trait Matchable
class Any
Show all
final case class GroupByMap(query: Ast, byAlias: Ident, byBody: Ast, mapAlias: Ident, mapBody: Ast) extends Query

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Query
trait Ast
class Object
trait Matchable
class Any
Show all
final class Ident extends Terminal, Ast

Attributes

Companion
object
Supertypes
trait Terminal
trait Ast
class Object
trait Matchable
class Any
object Ident

Ident represents a single variable name, this typically refers to a table but not always. Invisible identities are a rare case where a user returns an embedded table from a map clause:

Ident represents a single variable name, this typically refers to a table but not always. Invisible identities are a rare case where a user returns an embedded table from a map clause:

 case class Emb(id: Int, name: String) case class Parent(id: Int,
name: String, emb: Emb) case class GrandParent(id: Int, par: Parent)

query[GrandParent] .map(g => g.par).distinct .map(p => (p.name,
p.emb)).distinct .map(tup => (tup._1, tup._2)).distinct } 

In these situations, the identity whose properties need to be expanded in the ExpandNestedQueries phase, needs to be marked invisible.

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Ident.type
case class IdentName(name: String)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class If(condition: Ast, `then`: Ast, `else`: Ast) extends Ast

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
object IfExist

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
IfExist.type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
object Implicits

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Implicits.type
final class Infix(val parts: List[String], val params: List[Ast], val pure: Boolean, val transparent: Boolean)(theQuat: => Quat) extends Ast

Attributes

Companion
object
Supertypes
trait Ast
class Object
trait Matchable
class Any
object Infix

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Infix.type
case object InnerJoin extends JoinType

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait JoinType
class Object
trait Matchable
class Any
Show all
Self type
InnerJoin.type
final case class Insert(query: Ast, assignments: List[Assignment]) extends Action

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Action
trait Ast
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
object IsNullCheck

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait IterableOperation extends Ast

Attributes

Supertypes
trait Ast
class Object
trait Matchable
class Any
Known subtypes
final case class Join(typ: JoinType, a: Ast, b: Ast, aliasA: Ident, aliasB: Ident, on: Ast) extends Query

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Query
trait Ast
class Object
trait Matchable
class Any
Show all
sealed trait JoinType

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object FullJoin.type
object InnerJoin.type
object LeftJoin.type
object RightJoin.type
case object LeftJoin extends JoinType

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait JoinType
class Object
trait Matchable
class Any
Show all
Self type
LeftJoin.type
sealed trait Lift extends External, Terminal

Attributes

Supertypes
trait Terminal
trait External
trait Ast
class Object
trait Matchable
class Any
Show all
Known subtypes
final case class ListContains(ast: Ast, body: Ast) extends IterableOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class Map(query: Ast, alias: Ident, body: Ast) extends Query

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Query
trait Ast
class Object
trait Matchable
class Any
Show all
final case class MapContains(ast: Ast, body: Ast) extends IterableOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class Nested(a: Ast) extends Query

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Query
trait Ast
class Object
trait Matchable
class Any
Show all
case object NullValue extends Value

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait Value
trait Ast
class Object
trait Matchable
class Any
Show all
Self type
NullValue.type

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
final case class OnConflict(insert: Ast, target: Target, action: Action) extends Action

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait Action
trait Ast
class Object
trait Matchable
class Any
Show all
object OnConflict

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
OnConflict.type
sealed trait Operation extends Ast

Attributes

Supertypes
trait Ast
class Object
trait Matchable
class Any
Known subtypes
sealed trait Operator

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object avg.type
object max.type
object min.type
object size.type
object sum.type
object &&.type
object ||.type
object _!=.type
object _==.type
object %.type
object *.type
object +.type
object -.type
object /.type
object <.type
object <=.type
object >.type
object >=.type
object contains.type
object +.type
object split.type
object startsWith.type
object isEmpty.type
object nonEmpty.type
object toInt.type
object toLong.type
object toLowerCase.type
object toUpperCase.type
object !.type
Show all
sealed trait Opinion[T]

An Opinion represents a piece of data that needs to be propagated through AST transformations but is not directly related to how ASTs are transformed in most stages. For instance, Renameable controls how columns are named (i.e. whether to use a NamingStrategy or not) after most of the SQL transformations are done. Some transformations (e.g. RenameProperties will use Opinions or even modify them so that the correct kind of query comes out at the end of the normalizations. That said, Opinions should be transparent in most steps of the normalization.

An Opinion represents a piece of data that needs to be propagated through AST transformations but is not directly related to how ASTs are transformed in most stages. For instance, Renameable controls how columns are named (i.e. whether to use a NamingStrategy or not) after most of the SQL transformations are done. Some transformations (e.g. RenameProperties will use Opinions or even modify them so that the correct kind of query comes out at the end of the normalizations. That said, Opinions should be transparent in most steps of the normalization.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait Renameable
object ByStrategy.type
object Fixed.type
trait Visibility
object Hidden.type
object Visible.type
Show all
sealed trait OpinionValues[T <: Opinion[T]]

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Renameable.type
object Visibility.type
final case class OptionApply(ast: Ast) extends OptionOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class OptionContains(ast: Ast, body: Ast) extends OptionOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class OptionExists(ast: Ast, alias: Ident, body: Ast) extends OptionOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class OptionFlatMap(ast: Ast, alias: Ident, body: Ast) extends OptionOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class OptionFlatten(ast: Ast) extends OptionOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class OptionForall(ast: Ast, alias: Ident, body: Ast) extends OptionOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class OptionGetOrElse(ast: Ast, body: Ast) extends OptionOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class OptionGetOrNull(ast: Ast) extends OptionOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class OptionIsDefined(ast: Ast) extends OptionOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class OptionIsEmpty(ast: Ast) extends OptionOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class OptionMap(ast: Ast, alias: Ident, body: Ast) extends OptionOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class OptionNonEmpty(ast: Ast) extends OptionOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final class OptionNone(theQuat: => Quat) extends OptionOperation, Terminal

Attributes

Companion
object
Supertypes
trait Terminal
trait Ast
class Object
trait Matchable
class Any
Show all
object OptionNone

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
OptionNone.type
case object OptionNoneId

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type
sealed trait OptionOperation extends Ast

Attributes

Supertypes
trait Ast
class Object
trait Matchable
class Any
Known subtypes
final case class OptionOrElse(ast: Ast, body: Ast) extends OptionOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class OptionOrNull(ast: Ast) extends OptionOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class OptionSome(ast: Ast) extends OptionOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class OptionTableExists(ast: Ast, alias: Ident, body: Ast) extends OptionOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class OptionTableFlatMap(ast: Ast, alias: Ident, body: Ast) extends OptionOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class OptionTableForall(ast: Ast, alias: Ident, body: Ast) extends OptionOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
final case class OptionTableMap(ast: Ast, alias: Ident, body: Ast) extends OptionOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
sealed trait Ordering extends Ast

Attributes

Supertypes
trait Ast
class Object
trait Matchable
class Any
Known subtypes
object Asc.type
object AscNullsFirst.type
object AscNullsLast.type
object Desc.type
object DescNullsFirst.type
object DescNullsLast.type
Show all
sealed trait PostfixUnaryOperator extends UnaryOperator

Attributes

Supertypes
trait Operator
class Object
trait Matchable
class Any
Known subtypes
object isEmpty.type
object nonEmpty.type
object toInt.type
object toLong.type
object toLowerCase.type
object toUpperCase.type
Show all
sealed trait PrefixUnaryOperator extends UnaryOperator

Attributes

Supertypes
trait Operator
class Object
trait Matchable
class Any
Known subtypes
object !.type
object -.type
final class Property(val ast: Ast, val name: String)(val renameable: Renameable, val visibility: Visibility) extends Ast

Properties generally represent column selection from a table or invocation of some kind of method from some other object. Typically, something like

Properties generally represent column selection from a table or invocation of some kind of method from some other object. Typically, something like

`SELECT p.name FROM People p`

comes from something like

`Map(Entity("People"), Ident("p"), Property(Ident(p), "name"))`

Properties also have an Opinion about how the NamingStrategy affects their name. For example something like Property.Opinionated(Ident(p), "s_name", Fixed) will become p.s_name even if the NamingStrategy is UpperCase (whereas Property(Ident(p), "s_name") would become p.S_NAME). When Property is constructed without Opinionated being used, the default opinion ByStrategy is used.

Attributes

Companion
object
Supertypes
trait Ast
class Object
trait Matchable
class Any
object Property

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Property.type
final case class PropertyAlias(path: List[String], alias: String)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait PropertyOrdering extends Ordering

Attributes

Supertypes
trait Ordering
trait Ast
class Object
trait Matchable
class Any
Known subtypes
object Asc.type
object AscNullsFirst.type
object AscNullsLast.type
object Desc.type
object DescNullsFirst.type
object DescNullsLast.type
Show all
sealed trait Query extends Ast

Attributes

Supertypes
trait Ast
class Object
trait Matchable
class Any
Known subtypes
class Aggregation
class ConcatMap
class Distinct
class DistinctOn
class Drop
class Entity
class Filter
class FlatJoin
class FlatMap
class GroupBy
class GroupByMap
class Join
class Map
class Nested
class SortBy
class Take
class Union
class UnionAll
Show all
final case class QuotationTag(uid: String) extends Tag

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Tag
trait External
trait Ast
class Object
trait Matchable
class Any
Show all
final case class QuotationTagId(uid: String)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class QuotedReference(tree: Any, ast: Ast) extends Ast

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
sealed trait Renameable extends Opinion[Renameable]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object ByStrategy.type
object Fixed.type

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Show all
Self type
Renameable.type
final case class Returning(action: Ast, alias: Ident, property: Ast) extends ReturningAction

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Action
trait Ast
class Object
trait Matchable
class Any
Show all
sealed trait ReturningAction extends Action

Attributes

Companion
object
Supertypes
trait Action
trait Ast
class Object
trait Matchable
class Any
Known subtypes

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class ReturningGenerated(action: Ast, alias: Ident, property: Ast) extends ReturningAction

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Action
trait Ast
class Object
trait Matchable
class Any
Show all
case object RightJoin extends JoinType

Attributes

Supertypes
trait Singleton
trait Product
trait Mirror
trait Serializable
trait Product
trait Equals
trait JoinType
class Object
trait Matchable
class Any
Show all
Self type
RightJoin.type
sealed trait ScalarLift extends Lift, Terminal

Attributes

Supertypes
trait Lift
trait Terminal
trait External
trait Ast
class Object
trait Matchable
class Any
Show all
Known subtypes
final class ScalarQueryLift(val name: String, val value: Any, val encoder: Any)(theQuat: => Quat) extends ScalarLift

Attributes

Companion
object
Supertypes
trait ScalarLift
trait Lift
trait Terminal
trait External
trait Ast
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
final case class ScalarTag(uid: String, source: Source) extends Tag

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Tag
trait External
trait Ast
class Object
trait Matchable
class Any
Show all
final case class ScalarTagId(uid: String)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final class ScalarValueLift(val name: String, val source: Source, val value: Any, val encoder: Any)(theQuat: => Quat) extends ScalarLift

Attributes

Companion
object
Supertypes
trait ScalarLift
trait Lift
trait Terminal
trait External
trait Ast
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
final case class SetContains(ast: Ast, body: Ast) extends IterableOperation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
object SetOperator

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
final case class SortBy(query: Ast, alias: Ident, criteria: Ast, ordering: Ast) extends Query

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Query
trait Ast
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
class CollectAst[T]
class Dealias
class References

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
sealed trait Tag extends External

Attributes

Supertypes
trait External
trait Ast
class Object
trait Matchable
class Any
Known subtypes
class QuotationTag
class ScalarTag
final case class Take(query: Ast, n: Ast) extends Query

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Query
trait Ast
class Object
trait Matchable
class Any
Show all
sealed trait Terminal extends Ast

Attributes

Companion
object
Supertypes
trait Ast
class Object
trait Matchable
class Any
Known subtypes
class Ident
trait Lift
trait ScalarLift
class OptionNone
Show all
object Terminal

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Terminal.type

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object Transform

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Transform.type
final case class Tuple(values: List[Ast]) extends Value

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Value
trait Ast
class Object
trait Matchable
class Any
Show all
final case class TupleOrdering(elems: List[Ordering]) extends Ordering

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ordering
trait Ast
class Object
trait Matchable
class Any
Show all
final case class UnaryOperation(operator: UnaryOperator, ast: Ast) extends Operation

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Operation
trait Ast
class Object
trait Matchable
class Any
Show all
sealed trait UnaryOperator extends Operator

Attributes

Supertypes
trait Operator
class Object
trait Matchable
class Any
Known subtypes
object isEmpty.type
object nonEmpty.type
object toInt.type
object toLong.type
object toLowerCase.type
object toUpperCase.type
object !.type
object -.type
Show all
final case class Union(a: Ast, b: Ast) extends Query

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Query
trait Ast
class Object
trait Matchable
class Any
Show all
final case class UnionAll(a: Ast, b: Ast) extends Query

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Query
trait Ast
class Object
trait Matchable
class Any
Show all
final case class Update(query: Ast, assignments: List[Assignment]) extends Action

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Action
trait Ast
class Object
trait Matchable
class Any
Show all
final case class Val(name: Ident, body: Ast) extends Ast

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Ast
class Object
trait Matchable
class Any
Show all
sealed trait Value extends Ast

Attributes

Supertypes
trait Ast
class Object
trait Matchable
class Any
Known subtypes
class CaseClass
class Constant
object NullValue.type
class Tuple
sealed trait Visibility extends Opinion[Visibility]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Hidden.type
object Visible.type

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Show all
Self type
Visibility.type