Data structure managing DB table and column aliases.
Aliases are scoped by the result path, which is unique in the GraphQL output even in the presence of GraphQL field alises. Table aliases apply from the given output path and below.
Column aliases are synthesized whenever an SQL union has to be nested in a subquery and hence requires a uniform set of column names. These column aliases apply from the given path and above.
Tables are only aliased if they have already been seen in an depth-first in-order traversal of the output graph. This data structure also track the seen state for tables.
AliasedMappings also maintains the bookeeping information needed to supply arbitrary fresh names. Currently these are used to name identity/predicate joins.
- Companion
- object
Value members
Concrete methods
Alias the given columns to the suppiled aliased columns from the context result path and above
Alias the given columns to the suppiled aliased columns from the context result path and above
Alias the given table at all the paths from the context result path and below
Alias the given table at all the paths from the context result path and below
Returns the aliased column corresponding to the atomic field fieldName
in context
Returns the aliased column corresponding to the atomic field fieldName
in context
Returns the aliased columns corresponding to term
in context
Returns the aliased columns corresponding to term
in context
Returns the columns for leaf field fieldName
in context
Returns the columns for leaf field fieldName
in context
Returns the aliased columns corresponding to term
in context
Returns the aliased columns corresponding to term
in context
Derive a column alias for the given column in new table table
Derive a column alias for the given column in new table table
Derive column aliases for the given columns in new table table
Derive column aliases for the given columns in new table table
Does the result of query
in context
contain lists of subobjects?
Does the result of query
in context
contain lists of subobjects?
Returns the discriminator columns for the context type
Returns the discriminator columns for the context type
Returns the field mapping for field fieldName
in context
if any
Returns the field mapping for field fieldName
in context
if any
Return an indicator of the kind of field mapping correspoding to fieldName
in context
Return an indicator of the kind of field mapping correspoding to fieldName
in context
Creates a fresh name of the form <prefix>_<unique>
Creates a fresh name of the form <prefix>_<unique>
Is the context type mapped to an associative table?
Is the context type mapped to an associative table?
Returns the aliased joins for traversing the path suffix
from the context path
Returns the aliased joins for traversing the path suffix
from the context path
Returns the aliased joins for constructing the subobject corresponding to the field fieldName
in context
Returns the aliased joins for constructing the subobject corresponding to the field fieldName
in context
Does the type of fieldName
in context
represent a list of subobjects?
Does the type of fieldName
in context
represent a list of subobjects?
Returns the fully aliased table for the type at context
Returns the fully aliased table for the type at context
Record that the given table has been seen and will require an alias if if referred to again.
Record that the given table has been seen and will require an alias if if referred to again.