io.getquill.sql.norm
Members list
Type members
Classlikes
In actions inner properties typically result from embedded classes, hide them
In actions inner properties typically result from embedded classes, hide them
Attributes
- Supertypes
- Self type
-
HideInnerProperties.type
Attributes
- Supertypes
- Self type
Simple utility that checks if if an AST entity refers to a entity. It traverses through the context types to find out what kind of context a variable refers to. For example, in a query like:
Simple utility that checks if if an AST entity refers to a entity. It traverses through the context types to find out what kind of context a variable refers to. For example, in a query like:
query[Pair].map(p => Pair(p.a, p.b)).distinct.map(p => (p.b, p.a))
Yielding SQL like this:
SELECT p.b, p.a FROM (SELECT DISTINCT p.a, p.b FROM pair p) AS p
the inner p.a and p.b will have a TableContext while the outer p.b and p.a will have a QueryContext.
Note that there are some cases where the id of a field is not in a FromContext at all. For example, in a query like this:
query[Human].filter(h => query[Robot].filter(r => r.friend == h.id).nonEmpty)
Where the sql produced is something like this:
SELECT h.id FROM human h WHERE EXISTS (SELECT r.* FROM robot r WHERE r.friend = h.id)
the field r.friend`` is selected from a sub-query of an SQL operation (i.e.
EXISTS (...)`) so a from-context of it will not exist at all. When deciding which properties to treat as sub-select properties (e.g. if we want to make sure NOT to apply a naming-schema on them) we need to take care to understand that we may not know the FromContext that a property comes from since it may not exist.
Attributes
- Companion
- object
- Supertypes
Attributes
- Companion
- class
- Supertypes
- Self type
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait StatelessTransformerclass Objecttrait Matchableclass AnyShow all
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
Attributes
- Companion
- trait
- Supertypes
- Self type
-
QueryLevel.type
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait StatefulTransformer[State]class Objecttrait Matchableclass AnyShow all
Remove aliases at the top level of the AST since they are not needed (quill uses select row indexes to figure out what data corresponds to what encodable object) as well as entities whose aliases are the same as their selection e.g. "select x.foo as foo" since this just adds syntactic noise.
Remove aliases at the top level of the AST since they are not needed (quill uses select row indexes to figure out what data corresponds to what encodable object) as well as entities whose aliases are the same as their selection e.g. "select x.foo as foo" since this just adds syntactic noise.
Attributes
Filter out unused subquery properties. This is safe to do after ExpandNestedQueries
now since all properties have been propagated from quats from parent to child SQL select trees.
Filter out unused subquery properties. This is safe to do after ExpandNestedQueries
now since all properties have been propagated from quats from parent to child SQL select trees.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
RemoveUnusedSelects.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object ExpandNestedQueries.typeclass RemoveExtraAlias
Attributes
- Supertypes
- Self type
-
VendorizeBooleans.type