public class org.finos.legend.engine.persistence.components.relational.postgres.sql.visitor.SQLMergeVisitor extends org.finos.legend.engine.persistence.components.relational.ansi.sql.visitors.SQLMergeVisitor
{
public void <init>()
{
org.finos.legend.engine.persistence.components.relational.postgres.sql.visitor.SQLMergeVisitor v;
v := @this: org.finos.legend.engine.persistence.components.relational.postgres.sql.visitor.SQLMergeVisitor;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.ansi.sql.visitors.SQLMergeVisitor: void <init>()>();
return;
}
public org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult visit(org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNode, org.finos.legend.engine.persistence.components.logicalplan.operations.Merge, org.finos.legend.engine.persistence.components.transformer.VisitorContext)
{
org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult v;
java.util.ArrayList v;
boolean v;
java.util.Iterator v;
org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue v;
org.finos.legend.engine.persistence.components.relational.postgres.sql.visitor.SQLMergeVisitor v;
org.finos.legend.engine.persistence.components.logicalplan.values.Value v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Merge v, v;
org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNode v;
java.util.List v;
org.finos.legend.engine.persistence.components.transformer.VisitorContext v;
java.util.Optional v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlanNode v;
java.lang.Object v;
org.finos.legend.engine.persistence.components.logicalplan.values.Pair v;
v := @this: org.finos.legend.engine.persistence.components.relational.postgres.sql.visitor.SQLMergeVisitor;
v := @parameter: org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNode;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.operations.Merge;
v := @parameter: org.finos.legend.engine.persistence.components.transformer.VisitorContext;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Merge: java.util.List matchedKeyValuePairs()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.Pair: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlanNode key()>();
v = staticinvoke <java.util.Optional: java.util.Optional empty()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue withDatasetRef(java.util.Optional)>(v);
virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.Pair: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlanNode value()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.values.Pair: org.finos.legend.engine.persistence.components.logicalplan.values.Pair of(org.finos.legend.engine.persistence.components.logicalplan.LogicalPlanNode,org.finos.legend.engine.persistence.components.logicalplan.LogicalPlanNode)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Merge: org.finos.legend.engine.persistence.components.logicalplan.operations.Merge withMatchedKeyValuePairs(java.lang.Iterable)>(v);
v = specialinvoke v.<org.finos.legend.engine.persistence.components.relational.ansi.sql.visitors.SQLMergeVisitor: org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult visit(org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNode,org.finos.legend.engine.persistence.components.logicalplan.operations.Merge,org.finos.legend.engine.persistence.components.transformer.VisitorContext)>(v, v, v);
return v;
}
}