public class HiveRowIsDeletedPropagator extends HiveRelShuttleImpl
HiveRelShuttle to propagate rowIsDeleted column to all HiveRelNodes' rowType in the plan.
General rule: we expect that the rowIsDeleted column is the last column in the input rowType of the current
HiveRelNode.| Modifier and Type | Field and Description |
|---|---|
protected org.apache.calcite.tools.RelBuilder |
relBuilder |
stack| Constructor and Description |
|---|
HiveRowIsDeletedPropagator(org.apache.calcite.tools.RelBuilder relBuilder) |
| Modifier and Type | Method and Description |
|---|---|
org.apache.calcite.rel.RelNode |
propagate(org.apache.calcite.rel.RelNode relNode) |
org.apache.calcite.rel.RelNode |
visit(HiveJoin join)
Create new Join and a Project on top of it.
|
org.apache.calcite.rel.RelNode |
visit(HiveProject project)
Create a new Project with original projected columns plus add rowIsDeleted as last column referencing
the last column of the input
RelNode. |
org.apache.calcite.rel.RelNode |
visit(HiveTableScan scan)
Create a Projection on top of TS that contains all columns from TS.
|
public HiveRowIsDeletedPropagator(org.apache.calcite.tools.RelBuilder relBuilder)
public org.apache.calcite.rel.RelNode propagate(org.apache.calcite.rel.RelNode relNode)
public org.apache.calcite.rel.RelNode visit(HiveTableScan scan)
visit in interface HiveRelShuttlevisit in class HiveRelShuttleImplscan - - TS to transformpublic org.apache.calcite.rel.RelNode visit(HiveProject project)
RelNode.visit in interface HiveRelShuttlevisit in class HiveRelShuttleImplproject - - to transformpublic org.apache.calcite.rel.RelNode visit(HiveJoin join)
visit in interface HiveRelShuttlevisit in class HiveRelShuttleImpljoin - - HiveJoin to transformCopyright © 2022 The Apache Software Foundation. All rights reserved.