public class org.finos.legend.engine.persistence.components.relational.ansi.sql.visitors.SQLUpdateVisitor extends java.lang.Object implements org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor
{
public void <init>()
{
org.finos.legend.engine.persistence.components.relational.ansi.sql.visitors.SQLUpdateVisitor v;
v := @this: org.finos.legend.engine.persistence.components.relational.ansi.sql.visitors.SQLUpdateVisitor;
specialinvoke v.<java.lang.Object: 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.Update, org.finos.legend.engine.persistence.components.transformer.VisitorContext)
{
org.finos.legend.engine.persistence.components.logicalplan.conditions.And$Builder v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.values.Pair v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Object[] v, v;
java.util.ArrayList v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.And v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection v, v;
org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.Exists v;
org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNode v;
org.finos.legend.engine.persistence.components.relational.ansi.sql.visitors.SQLUpdateVisitor v;
org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult v;
boolean v, v, v, v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Update v;
java.util.List v, v, v, v;
org.finos.legend.engine.persistence.components.transformer.VisitorContext v;
java.util.Optional v, v, v, v, v, v, v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlanNode v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v;
org.finos.legend.engine.persistence.components.logicalplan.values.SelectValue v;
java.util.Iterator v;
org.finos.legend.engine.persistence.components.relational.sqldom.schemaops.statements.UpdateStatement v;
java.lang.Object v, v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.persistence.components.relational.ansi.sql.visitors.SQLUpdateVisitor;
v := @parameter: org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNode;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.operations.Update;
v := @parameter: org.finos.legend.engine.persistence.components.transformer.VisitorContext;
v = new org.finos.legend.engine.persistence.components.relational.sqldom.schemaops.statements.UpdateStatement;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.sqldom.schemaops.statements.UpdateStatement: void <init>()>();
interfaceinvoke v.<org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNode: void push(java.lang.Object)>(v);
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Update: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset dataset()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Update: java.util.Optional joinDataset()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Update: java.util.Optional joinDataset()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Update: java.util.Optional joinCondition()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
v = v instanceof org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection;
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection: java.util.Optional condition()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.conditions.And: org.finos.legend.engine.persistence.components.logicalplan.conditions.And$Builder builder()>();
v = newarray (org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition)[2];
v[0] = v;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection: java.util.Optional condition()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v[1] = v;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.conditions.And$Builder: org.finos.legend.engine.persistence.components.logicalplan.conditions.And$Builder addConditions(org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition[])>(v);
virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.conditions.And$Builder: org.finos.legend.engine.persistence.components.logicalplan.conditions.And build()>();
label:
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection: java.util.Optional source()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder source(java.util.Optional)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder condition(org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection: java.util.List fields()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder addAllFields(java.lang.Iterable)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection build()>();
goto label;
label:
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder source(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder condition(org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.util.LogicalPlanUtils: java.util.List ALL_COLUMNS()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder addAllFields(java.lang.Iterable)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection build()>();
label:
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.conditions.Exists: org.finos.legend.engine.persistence.components.logicalplan.conditions.Exists of(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Update: java.util.Optional whereCondition()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.conditions.And: org.finos.legend.engine.persistence.components.logicalplan.conditions.And$Builder builder()>();
v = newarray (org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition)[2];
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Update: java.util.Optional whereCondition()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v[0] = v;
v[1] = v;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.conditions.And$Builder: org.finos.legend.engine.persistence.components.logicalplan.conditions.And$Builder addConditions(org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition[])>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.conditions.And$Builder: org.finos.legend.engine.persistence.components.logicalplan.conditions.And build()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Update: java.util.List keyValuePairs()>();
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 value()>();
v = v instanceof org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue;
if v == 0 goto label;
v = v instanceof org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection;
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection: java.util.Optional source()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection: java.util.Optional source()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
label:
virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.Pair: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlanNode key()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder source(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder condition(org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.Pair: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlanNode value()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder addFields(org.finos.legend.engine.persistence.components.logicalplan.values.Value)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection build()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.values.SelectValue: org.finos.legend.engine.persistence.components.logicalplan.values.SelectValue of(org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection)>(v);
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:
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.Update: java.util.Optional whereCondition()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Update: java.util.Optional whereCondition()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Update: java.util.List keyValuePairs()>();
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
label:
v = new org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult;
specialinvoke v.<org.finos.legend.engine.persistence.components.transformer.LogicalPlanVisitor$VisitorResult: void <init>(org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlanNode,java.util.List)>(v, v);
return v;
}
}