Utility context to resolve column spec into detailed column information. This class should be explicitly initialized with schema source list info or some physical node with schema intiailized. If initialized by physical node, current context will take a relation name used when column search is assiociated with a relation name. and the node graph can be traversed to resolve column inherited from input nodes.
Given relation name and column name, return schema slice index and column index within current context.
function ResolveColumnIndexByID
Given unique column id, return schema slice index and column index within schema slice within current context.
function ResolveColumnNameByID
Given unique column id, return column name.
function ResolveColumnRefIndex
Resolve index for column reference expression
function ResolveColumnID
Given relation name and column name, return column unique id under current context.
function ResolveColumnID
Resolve source column by relation name and column name recursively. If it can be resolved in current node, child_path_id is -1, else child_path_id is the index of the child which the column is resolved from.
function ResolveExprDependentColumns
Resolve all columns input expression will depend on. Return column id list.
function ResolveExprDependentColumns
function GetName
Get the relation name for this schema context, default ""
function GetRoot
function GetRowFormat
Get detailed format for idxth schema source.
function GetSchemaSource
Get idxth schema source.
function GetSchema
Get raw schema for idxth schema source.
function GetSchemaSourceSize
Get num of total schema sources.
function SetName
Set the relation name for this schema context.
function AddSource
Add new schema source and return the mutable instance of added source.
function Merge
Add schema sources from child and inherit column identifiers.
function MergeWithNewID
Add schema sources from child with new column identifiers. The source informations are set to traceback which child column the new column is from.
function Clear
function Build
function Empty
function GetColumnNum
Get total column num of all schema sources.
function GetOutputSchema
function BuildTrivial
Helper method to init schemas context with trival schema sources this can be commonly used when no plan node is provided.