Create a Cast expression with the session local time zone.
Create a Cast expression with the session local time zone.
Configuration used to create a valid cast expression.
Configuration used to create a valid cast expression.
Name for this rule, automatically inferred based on class name.
Name for this rule, automatically inferred based on class name.
Make sure that a view's child plan produces the view's output attributes. We try to wrap the child by: 1. Generate the
queryOutput
by: 1.1. If the query column names are defined, map the column names to attributes in the child output by name(This is mostly for handling view queries like SELECT * FROM ..., the schema of the referenced table/view may change after the view has been created, so we have to save the output of the query toviewQueryColumnNames
, and restore them during view resolution, in this way, we are able to get the correct view column ordering and omit the extra columns that we don't require); 1.2. Else set the child output attributes toqueryOutput
. 2. Map thequeryQutput
to view output by index, if the corresponding attributes don't match, try to up cast and alias the attribute inqueryOutput
to the attribute in the view output. 3. Add a Project over the child, with the new output generated by the previous steps. If the view output doesn't have the same number of columns neither with the child output, nor with the query column names, throw an AnalysisException.This should be only done after the batch of Resolution, because the view attributes are not completely resolved during the batch of Resolution.