io.getquill.ast
Members list
Type members
Classlikes
Attributes
- Supertypes
- Known subtypes
-
class Deleteclass Foreachclass Insertclass OnConflicttrait ReturningActionclass Returningclass ReturningGeneratedclass UpdateShow all
Attributes
- Companion
- trait
- Supertypes
- Self type
-
AggregationOperator.type
Attributes
- Supertypes
- Self type
-
AscNullsFirst.type
Attributes
- Supertypes
- Self type
-
AscNullsLast.type
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait Actionclass Deleteclass Foreachclass Insertclass OnConflicttrait ReturningActionclass Returningclass ReturningGeneratedclass Updateclass Assignmentclass AssignmentDualclass Blockclass Dynamictrait Externaltrait Lifttrait CaseClassLiftclass CaseClassQueryLiftclass CaseClassValueLifttrait ScalarLiftclass ScalarQueryLiftclass ScalarValueLifttrait Tagclass QuotationTagclass ScalarTagclass ExternalIdentclass Functionclass Identclass Ifclass Infixtrait IterableOperationclass ListContainsclass MapContainsclass SetContainsclass Excludedclass Existingtrait Operationclass BinaryOperationclass FunctionApplyclass UnaryOperationtrait OptionOperationclass FilterIfDefinedclass OptionApplyclass OptionContainsclass OptionExistsclass OptionFlatMapclass OptionFlattenclass OptionForallclass OptionGetOrElseclass OptionGetOrNullclass OptionIsDefinedclass OptionIsEmptyclass OptionMapclass OptionNonEmptyclass OptionNoneclass OptionOrElseclass OptionOrNullclass OptionSomeclass OptionTableExistsclass OptionTableFlatMapclass OptionTableForallclass OptionTableMaptrait Orderingtrait PropertyOrderingobject Asc.typeobject AscNullsFirst.typeobject AscNullsLast.typeobject Desc.typeobject DescNullsFirst.typeobject DescNullsLast.typeclass TupleOrderingclass Propertytrait Queryclass Aggregationclass ConcatMapclass Distinctclass DistinctOnclass Dropclass Entityclass Filterclass FlatJoinclass FlatMapclass GroupByclass GroupByMapclass Joinclass Mapclass Nestedclass SortByclass Takeclass Unionclass UnionAllclass QuotedReferencetrait Terminalclass Valtrait Valueclass CaseClassclass Constantobject NullValue.typeclass TupleShow all
Attributes
- Supertypes
- Known subtypes
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
BooleanOperator.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
BottomTypedTerminal.type
Attributes
- Supertypes
- Known subtypes
-
class CaseClassQueryLiftclass CaseClassValueLift
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
CaseClassQueryLift.type
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
CaseClassValueLift.type
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
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
CollectAst.type
Attributes
- Supertypes
- Self type
-
DescNullsFirst.type
Attributes
- Supertypes
- Self type
-
DescNullsLast.type
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 PropertyAlias
s. 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
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
EqualityOperator.type
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
trait Lifttrait CaseClassLiftclass CaseClassQueryLiftclass CaseClassValueLifttrait ScalarLiftclass ScalarQueryLiftclass ScalarValueLifttrait Tagclass QuotationTagclass ScalarTagShow all
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
ExternalIdent.type
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait OptionOperationtrait Astclass Objecttrait Matchableclass AnyShow all
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
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
IfExistElseNull.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Implicits.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
IsNotNullCheck.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
IsNullCheck.type
Attributes
- Supertypes
- Known subtypes
Attributes
- Supertypes
- Known subtypes
-
trait CaseClassLiftclass CaseClassQueryLiftclass CaseClassValueLifttrait ScalarLiftclass ScalarQueryLiftclass ScalarValueLiftShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait IterableOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait IterableOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
NumericOperator.type
Attributes
- Companion
- class
- Supertypes
- Self type
-
OnConflict.type
Attributes
- Supertypes
- Known subtypes
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait AggregationOperatorobject avg.typeobject max.typeobject min.typeobject size.typeobject sum.typetrait BinaryOperatorobject &&.typeobject ||.typeobject _!=.typeobject _==.typeobject %.typeobject *.typeobject +.typeobject -.typeobject /.typeobject <.typeobject <=.typeobject >.typeobject >=.typeobject contains.typeobject +.typeobject split.typeobject startsWith.typetrait UnaryOperatortrait PostfixUnaryOperatorobject isEmpty.typeobject nonEmpty.typeobject toInt.typeobject toLong.typeobject toLowerCase.typeobject toUpperCase.typetrait PrefixUnaryOperatorobject !.typeShow all
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 Objecttrait Matchableclass Any
- Known subtypes
-
trait Renameableobject ByStrategy.typeobject Fixed.typetrait Visibilityobject Hidden.typeobject Visible.typeShow all
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object Renameable.typeobject Visibility.type
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait OptionOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait OptionOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait OptionOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait OptionOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait OptionOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait OptionOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait OptionOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait OptionOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait OptionOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait OptionOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait OptionOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait OptionOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- object
- Supertypes
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
OptionNone.type
Attributes
- Supertypes
- Known subtypes
-
class FilterIfDefinedclass OptionApplyclass OptionContainsclass OptionExistsclass OptionFlatMapclass OptionFlattenclass OptionForallclass OptionGetOrElseclass OptionGetOrNullclass OptionIsDefinedclass OptionIsEmptyclass OptionMapclass OptionNonEmptyclass OptionNoneclass OptionOrElseclass OptionOrNullclass OptionSomeclass OptionTableExistsclass OptionTableFlatMapclass OptionTableForallclass OptionTableMapShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait OptionOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait OptionOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait OptionOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait OptionOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait OptionOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait OptionOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait OptionOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
- Known subtypes
-
trait PropertyOrderingobject Asc.typeobject AscNullsFirst.typeobject AscNullsLast.typeobject Desc.typeobject DescNullsFirst.typeobject DescNullsLast.typeclass TupleOrderingShow all
Attributes
- Supertypes
- Known subtypes
-
object isEmpty.typeobject nonEmpty.typeobject toInt.typeobject toLong.typeobject toLowerCase.typeobject toUpperCase.typeShow all
Attributes
- Supertypes
- Known subtypes
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
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
PropertyOrCore.type
Attributes
- Supertypes
- Known subtypes
-
object Asc.typeobject AscNullsFirst.typeobject AscNullsLast.typeobject Desc.typeobject DescNullsFirst.typeobject DescNullsLast.typeShow all
Attributes
- Supertypes
- Known subtypes
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
object ByStrategy.typeobject Fixed.type
Attributes
- Companion
- trait
- Supertypes
-
trait Sumtrait Mirrortrait OpinionValues[Renameable]class Objecttrait Matchableclass AnyShow all
- Self type
-
Renameable.type
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait ReturningActiontrait Actiontrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
class Returningclass ReturningGenerated
Attributes
- Companion
- trait
- Supertypes
- Self type
-
ReturningAction.type
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait ReturningActiontrait Actiontrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
- Known subtypes
-
class ScalarQueryLiftclass ScalarValueLift
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
ScalarQueryLift.type
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
ScalarValueLift.type
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait IterableOperationtrait Astclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
SetOperator.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class SheathLeafClauses
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class Transform[T]object ExpandMappedInfixCassandra.typeclass ApplyRenamesToPropsclass BetaReductionobject CompleteRenames.typeclass FlattenOptionOperationclass Normalizeobject NormalizeStringConcat.typeclass RepropagateQuatsobject SeedRenames.typeclass SimplifyNullChecksobject HideInnerProperties.typeobject HideTopLevelFilterAlias.typeobject VendorizeBooleans.typeclass ReplaceAssignmentAliasesShow all
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
StringOperator.type
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
class Identtrait Lifttrait CaseClassLiftclass CaseClassQueryLiftclass CaseClassValueLifttrait ScalarLiftclass ScalarQueryLiftclass ScalarValueLiftclass OptionNoneShow all
Attributes
- Companion
- object
- Supertypes
Attributes
- Supertypes
- Known subtypes
-
trait PostfixUnaryOperatorobject isEmpty.typeobject nonEmpty.typeobject toInt.typeobject toLong.typeobject toLowerCase.typeobject toUpperCase.typetrait PrefixUnaryOperatorobject !.typeobject -.typeShow all
Attributes
- Companion
- object
- Supertypes
- Known subtypes
Attributes
- Companion
- trait
- Supertypes
-
trait Sumtrait Mirrortrait OpinionValues[Visibility]class Objecttrait Matchableclass AnyShow all
- Self type
-
Visibility.type