class org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner extends org.finos.legend.engine.persistence.components.planner.Planner
{
private final org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition pkMatchCondition;
private final org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition digestMatchCondition;
private final org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition versioningCondition;
private final java.util.Optional deleteIndicatorField;
private final java.util.List deleteIndicatorValues;
private final java.util.Optional deleteIndicatorIsNotSetCondition;
private final java.util.Optional deleteIndicatorIsSetCondition;
private final org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp batchStartTimestamp;
private final org.finos.legend.engine.persistence.components.logicalplan.values.BatchIdValue batchIdValue;
private final java.util.Optional dataSplitInRangeCondition;
private java.util.List dataFields;
void <init>(org.finos.legend.engine.persistence.components.common.Datasets, org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta, org.finos.legend.engine.persistence.components.planner.PlannerOptions, java.util.Set)
{
org.finos.legend.engine.persistence.components.common.Datasets v;
org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp v;
org.finos.legend.engine.persistence.components.ingestmode.merge.MergeStrategyVisitor v, v;
org.finos.legend.engine.persistence.components.util.MetadataUtils v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy v;
java.util.Set v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor v;
java.util.List v, v, v;
org.finos.legend.engine.persistence.components.ingestmode.merge.MergeStrategy v, v;
org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta v, v, v, v;
java.util.Optional v, v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.values.StringValue v;
java.lang.Object[] v;
org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner v;
java.lang.String[] v;
java.util.function.Function v, v, v;
java.util.function.Supplier v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v, v, v, v, v, v;
java.lang.String v, v;
org.finos.legend.engine.persistence.components.planner.PlannerOptions v;
org.finos.legend.engine.persistence.components.logicalplan.values.BatchIdValue v;
java.lang.Object v, v, v, v;
v := @this: org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner;
v := @parameter: org.finos.legend.engine.persistence.components.common.Datasets;
v := @parameter: org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta;
v := @parameter: org.finos.legend.engine.persistence.components.planner.PlannerOptions;
v := @parameter: java.util.Set;
specialinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: void <init>(org.finos.legend.engine.persistence.components.common.Datasets,org.finos.legend.engine.persistence.components.ingestmode.IngestMode,org.finos.legend.engine.persistence.components.planner.PlannerOptions,java.util.Set)>(v, v, v, v);
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.List primaryKeys>;
virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: void validatePrimaryKeysNotEmpty(java.util.List)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset()>();
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.List primaryKeys>;
v = newarray (java.lang.String)[0];
v = interfaceinvoke v.<java.util.List: java.lang.Object[] toArray(java.lang.Object[])>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.util.LogicalPlanUtils: org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition getPrimaryKeyMatchCondition(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,java.lang.String[])>(v, v, v);
v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition pkMatchCondition> = v;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta ingestMode()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta: java.lang.String digestField()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.util.LogicalPlanUtils: org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition getDigestMatchCondition(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,java.lang.String)>(v, v, v);
v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition digestMatchCondition> = v;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta ingestMode()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy versioningStrategy()>();
v = new org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta ingestMode()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta: java.lang.String digestField()>();
specialinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningConditionVisitor: void <init>(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,boolean,java.lang.String)>(v, v, 0, v);
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy: java.lang.Object accept(org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategyVisitor)>(v);
v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition versioningCondition> = v;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta: org.finos.legend.engine.persistence.components.ingestmode.merge.MergeStrategy mergeStrategy()>();
v = <org.finos.legend.engine.persistence.components.ingestmode.merge.MergeStrategyVisitors: org.finos.legend.engine.persistence.components.ingestmode.merge.MergeStrategyVisitor EXTRACT_DELETE_FIELD>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.merge.MergeStrategy: java.lang.Object accept(org.finos.legend.engine.persistence.components.ingestmode.merge.MergeStrategyVisitor)>(v);
v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorField> = v;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta: org.finos.legend.engine.persistence.components.ingestmode.merge.MergeStrategy mergeStrategy()>();
v = <org.finos.legend.engine.persistence.components.ingestmode.merge.MergeStrategyVisitors: org.finos.legend.engine.persistence.components.ingestmode.merge.MergeStrategyVisitor EXTRACT_DELETE_VALUES>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.merge.MergeStrategy: java.lang.Object accept(org.finos.legend.engine.persistence.components.ingestmode.merge.MergeStrategyVisitor)>(v);
v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.List deleteIndicatorValues> = v;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorField>;
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner$lambda_new_0__83: java.util.function.Function bootstrap$(org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner)>(v);
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorIsNotSetCondition> = v;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorField>;
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner$lambda_new_1__84: java.util.function.Function bootstrap$(org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner)>(v);
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorIsSetCondition> = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp: org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp INSTANCE>;
v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp batchStartTimestamp> = v;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.util.MetadataUtils metadataUtils>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference datasetReference()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference: java.util.Optional name()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner$init__85: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.values.StringValue: org.finos.legend.engine.persistence.components.logicalplan.values.StringValue of(java.lang.String)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.util.MetadataUtils: org.finos.legend.engine.persistence.components.logicalplan.values.BatchIdValue getBatchId(org.finos.legend.engine.persistence.components.logicalplan.values.StringValue)>(v);
v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.values.BatchIdValue batchIdValue> = v;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta: java.util.Optional dataSplitField()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner$lambda_new_2__86: java.util.function.Function bootstrap$(org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner)>(v);
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional dataSplitInRangeCondition> = v;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.List getDataFields()>();
v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.List dataFields> = v;
return;
}
protected org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta ingestMode()
{
org.finos.legend.engine.persistence.components.ingestmode.IngestMode v;
org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner v;
v := @this: org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner;
v = specialinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode()>();
return v;
}
public org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan buildLogicalPlanForIngest(org.finos.legend.engine.persistence.components.common.Resources)
{
org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Insert v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Update v;
org.finos.legend.engine.persistence.components.util.Capability v;
java.util.Set v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan v;
java.util.ArrayList v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Merge v;
org.finos.legend.engine.persistence.components.common.Resources v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Delete v;
java.util.Optional v, v;
boolean v, v, v;
v := @this: org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner;
v := @parameter: org.finos.legend.engine.persistence.components.common.Resources;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Set capabilities>;
v = <org.finos.legend.engine.persistence.components.util.Capability: org.finos.legend.engine.persistence.components.util.Capability MERGE>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = specialinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.operations.Merge getMergeOperation()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = specialinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.operations.Insert getInsertOperation()>();
v = specialinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.operations.Update getUpdateOperation()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorField>;
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorIsSetCondition>;
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = specialinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.operations.Delete getDeleteOperation()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan of(java.util.List)>(v);
return v;
}
private org.finos.legend.engine.persistence.components.logicalplan.operations.Delete getDeleteOperation()
{
org.finos.legend.engine.persistence.components.logicalplan.conditions.Exists$Builder v, v;
org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Delete$Builder v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition v, v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Delete v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.And$Builder v, v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.And v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.Exists v;
org.finos.legend.engine.persistence.components.logicalplan.values.All v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition[] v;
java.util.Optional v;
java.lang.Object v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder v, v, v, v;
v := @this: org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner;
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.operations.Delete: org.finos.legend.engine.persistence.components.logicalplan.operations.Delete$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Delete$Builder: org.finos.legend.engine.persistence.components.logicalplan.operations.Delete$Builder dataset(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.conditions.Exists: org.finos.legend.engine.persistence.components.logicalplan.conditions.Exists$Builder builder()>();
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.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset()>();
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 = <org.finos.legend.engine.persistence.components.logicalplan.values.All: org.finos.legend.engine.persistence.components.logicalplan.values.All INSTANCE>;
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 = 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)[3];
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition pkMatchCondition>;
v[0] = v;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition digestMatchCondition>;
v[1] = v;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorIsSetCondition>;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v[2] = 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()>();
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$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection build()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.conditions.Exists$Builder: org.finos.legend.engine.persistence.components.logicalplan.conditions.Exists$Builder source(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.conditions.Exists$Builder: org.finos.legend.engine.persistence.components.logicalplan.conditions.Exists build()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Delete$Builder: org.finos.legend.engine.persistence.components.logicalplan.operations.Delete$Builder condition(org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Delete$Builder: org.finos.legend.engine.persistence.components.logicalplan.operations.Delete build()>();
return v;
}
private org.finos.legend.engine.persistence.components.logicalplan.operations.Merge getMergeOperation()
{
org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp v;
org.finos.legend.engine.persistence.components.ingestmode.audit.AuditingVisitor v;
java.util.stream.Collector v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.And$Builder v, v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Merge v;
java.util.stream.Stream v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition[] v;
org.finos.legend.engine.persistence.components.logicalplan.values.Pair v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder v, v, v, v, v;
java.util.function.Supplier v;
java.lang.String v;
org.finos.legend.engine.persistence.components.ingestmode.audit.Auditing v, v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Merge$Builder v, v, v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue v, v;
org.finos.legend.engine.persistence.components.logicalplan.values.BatchIdValue v;
org.finos.legend.engine.persistence.components.planner.Planner$AuditEnabled v;
org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder v, v, v, v, v, v;
boolean v, v, v;
java.util.List v, v;
org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta v, v, v, v;
java.util.Optional v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v, v, v, v;
java.lang.Object v, v, v, v, v;
v := @this: org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner;
v = specialinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.List getKeyValuePairs()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta ingestMode()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta: java.util.Optional dataSplitField()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto 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 = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional dataSplitInRangeCondition>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder condition(java.util.Optional)>(v);
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.List dataFields>;
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.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference datasetReference()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference: java.util.Optional alias()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder alias(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 build()>();
label:
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorIsNotSetCondition>;
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 = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition versioningCondition>;
v[0] = v;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorIsNotSetCondition>;
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);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.conditions.And$Builder: org.finos.legend.engine.persistence.components.logicalplan.conditions.And build()>();
goto label;
label:
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition versioningCondition>;
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta ingestMode()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta: org.finos.legend.engine.persistence.components.ingestmode.audit.Auditing auditing()>();
v = <org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.planner.Planner$AuditEnabled AUDIT_ENABLED>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.audit.Auditing: java.lang.Object accept(org.finos.legend.engine.persistence.components.ingestmode.audit.AuditingVisitor)>(v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta ingestMode()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta: org.finos.legend.engine.persistence.components.ingestmode.audit.Auditing auditing()>();
v = <org.finos.legend.engine.persistence.components.ingestmode.audit.AuditingVisitors: org.finos.legend.engine.persistence.components.ingestmode.audit.AuditingVisitor EXTRACT_AUDIT_FIELD>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.audit.Auditing: java.lang.Object accept(org.finos.legend.engine.persistence.components.ingestmode.audit.AuditingVisitor)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner$init__87: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference datasetReference()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder datasetRef(org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder fieldName(java.lang.String)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue build()>();
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp batchStartTimestamp>;
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);
label:
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference datasetReference()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder datasetRef(org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta ingestMode()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta: java.lang.String batchIdField()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder fieldName(java.lang.String)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue build()>();
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.values.BatchIdValue batchIdValue>;
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);
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
specialinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: void removePrimaryKeysFromKeyValuePairs(java.util.List)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.operations.Merge: org.finos.legend.engine.persistence.components.logicalplan.operations.Merge$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Merge$Builder: org.finos.legend.engine.persistence.components.logicalplan.operations.Merge$Builder dataset(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Merge$Builder: org.finos.legend.engine.persistence.components.logicalplan.operations.Merge$Builder usingDataset(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Merge$Builder: org.finos.legend.engine.persistence.components.logicalplan.operations.Merge$Builder addAllMatchedKeyValuePairs(java.lang.Iterable)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Merge$Builder: org.finos.legend.engine.persistence.components.logicalplan.operations.Merge$Builder addAllUnmatchedKeyValuePairs(java.lang.Iterable)>(v);
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition pkMatchCondition>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Merge$Builder: org.finos.legend.engine.persistence.components.logicalplan.operations.Merge$Builder onCondition(org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Merge$Builder: org.finos.legend.engine.persistence.components.logicalplan.operations.Merge$Builder matchedCondition(org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition)>(v);
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorIsNotSetCondition>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Merge$Builder: org.finos.legend.engine.persistence.components.logicalplan.operations.Merge$Builder notMatchedCondition(java.util.Optional)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Merge$Builder: org.finos.legend.engine.persistence.components.logicalplan.operations.Merge build()>();
return v;
}
private org.finos.legend.engine.persistence.components.logicalplan.operations.Update getUpdateOperation()
{
org.finos.legend.engine.persistence.components.planner.Planner$AuditEnabled v;
org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp v;
org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.ingestmode.audit.AuditingVisitor v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.And$Builder v, v, v, v;
boolean v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Update v;
java.util.List v, v;
org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition[] v, v;
java.util.Optional v, v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.values.Pair v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder v, v, v, v, v;
org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner v;
java.util.function.Supplier v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v, v, v, v;
java.lang.String v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.And v;
org.finos.legend.engine.persistence.components.ingestmode.audit.Auditing v, v;
org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue v, v;
org.finos.legend.engine.persistence.components.logicalplan.values.BatchIdValue v;
java.lang.Object v, v, v, v;
v := @this: org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorIsNotSetCondition>;
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)[3];
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition pkMatchCondition>;
v[0] = v;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition versioningCondition>;
v[1] = v;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorIsNotSetCondition>;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v[2] = 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()>();
goto label;
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 = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition pkMatchCondition>;
v[0] = v;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition versioningCondition>;
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()>();
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset()>();
v = specialinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.List getKeyValuePairs()>();
specialinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: void removePrimaryKeysFromKeyValuePairs(java.util.List)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta ingestMode()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta: org.finos.legend.engine.persistence.components.ingestmode.audit.Auditing auditing()>();
v = <org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.planner.Planner$AuditEnabled AUDIT_ENABLED>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.audit.Auditing: java.lang.Object accept(org.finos.legend.engine.persistence.components.ingestmode.audit.AuditingVisitor)>(v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta ingestMode()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta: org.finos.legend.engine.persistence.components.ingestmode.audit.Auditing auditing()>();
v = <org.finos.legend.engine.persistence.components.ingestmode.audit.AuditingVisitors: org.finos.legend.engine.persistence.components.ingestmode.audit.AuditingVisitor EXTRACT_AUDIT_FIELD>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.audit.Auditing: java.lang.Object accept(org.finos.legend.engine.persistence.components.ingestmode.audit.AuditingVisitor)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner$init__88: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference datasetReference()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder datasetRef(org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder fieldName(java.lang.String)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue build()>();
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp batchStartTimestamp>;
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);
label:
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference datasetReference()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder datasetRef(org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta ingestMode()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta: java.lang.String batchIdField()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder fieldName(java.lang.String)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue build()>();
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.values.BatchIdValue batchIdValue>;
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);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta ingestMode()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta: java.util.Optional dataSplitField()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto 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 = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional dataSplitInRangeCondition>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder condition(java.util.Optional)>(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.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference datasetReference()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference: java.util.Optional alias()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder alias(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 build()>();
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.operations.UpdateAbstract: org.finos.legend.engine.persistence.components.logicalplan.operations.Update of(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,java.lang.Iterable,org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition)>(v, v, v, v);
return v;
}
private java.util.List getKeyValuePairs()
{
org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner v;
java.util.function.Function v;
java.util.ArrayList v;
java.util.List v;
java.util.stream.Stream v, v;
java.util.Optional v, v;
java.lang.Object v, v;
java.util.stream.Collector v;
boolean v;
v := @this: org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner;
v = new java.util.ArrayList;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.List dataFields>;
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorField>;
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorField>;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
staticinvoke <org.finos.legend.engine.persistence.components.util.LogicalPlanUtils: void removeField(java.util.List,java.lang.String)>(v, v);
label:
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner$lambda_getKeyValuePairs_3__89: java.util.function.Function bootstrap$(org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
return v;
}
private void removePrimaryKeysFromKeyValuePairs(java.util.List)
{
java.util.List v;
org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner v;
java.util.function.Predicate v;
v := @this: org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner;
v := @parameter: java.util.List;
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner$lambda_removePrimaryKeysFromKeyValuePairs_4__90: java.util.function.Predicate bootstrap$(org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner)>(v);
interfaceinvoke v.<java.util.List: boolean removeIf(java.util.function.Predicate)>(v);
return;
}
private org.finos.legend.engine.persistence.components.logicalplan.operations.Insert getInsertOperation()
{
org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp v;
org.finos.legend.engine.persistence.components.ingestmode.audit.AuditingVisitor v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.And$Builder v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Insert v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition[] v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder v, v, v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.Not v;
java.util.function.Supplier v;
java.util.ArrayList v, v;
java.lang.String v;
org.finos.legend.engine.persistence.components.ingestmode.audit.Auditing v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection v, v;
org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue v, v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.Exists v;
org.finos.legend.engine.persistence.components.logicalplan.values.BatchIdValue v;
org.finos.legend.engine.persistence.components.planner.Planner$AuditEnabled v;
org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder v, v, v, v, v, v;
boolean v, v, v, v;
java.util.List v, v, v;
org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta v, v, v, v;
java.util.Optional v, v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference v, v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v, v, v, v;
java.lang.Object v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner;
v = new java.util.ArrayList;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.List dataFields>;
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = new java.util.ArrayList;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.List dataFields>;
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorField>;
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorField>;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
staticinvoke <org.finos.legend.engine.persistence.components.util.LogicalPlanUtils: void removeField(java.util.List,java.lang.String)>(v, v);
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorField>;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
staticinvoke <org.finos.legend.engine.persistence.components.util.LogicalPlanUtils: void removeField(java.util.List,java.lang.String)>(v, v);
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.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset()>();
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 = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition pkMatchCondition>;
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()>();
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 = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.conditions.Not: org.finos.legend.engine.persistence.components.logicalplan.conditions.Not of(org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition)>(v);
v = v;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta ingestMode()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta: java.util.Optional dataSplitField()>();
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 = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional dataSplitInRangeCondition>;
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()>();
label:
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorIsNotSetCondition>;
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 = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorIsNotSetCondition>;
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()>();
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta ingestMode()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta: org.finos.legend.engine.persistence.components.ingestmode.audit.Auditing auditing()>();
v = <org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.planner.Planner$AuditEnabled AUDIT_ENABLED>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.audit.Auditing: java.lang.Object accept(org.finos.legend.engine.persistence.components.ingestmode.audit.AuditingVisitor)>(v);
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta ingestMode()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta: org.finos.legend.engine.persistence.components.ingestmode.audit.Auditing auditing()>();
v = <org.finos.legend.engine.persistence.components.ingestmode.audit.AuditingVisitors: org.finos.legend.engine.persistence.components.ingestmode.audit.AuditingVisitor EXTRACT_AUDIT_FIELD>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.audit.Auditing: java.lang.Object accept(org.finos.legend.engine.persistence.components.ingestmode.audit.AuditingVisitor)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner$init__91: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference datasetReference()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder datasetRef(org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder fieldName(java.lang.String)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue build()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp batchStartTimestamp>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference datasetReference()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder datasetRef(org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta ingestMode()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta: java.lang.String batchIdField()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder fieldName(java.lang.String)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue build()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.values.BatchIdValue batchIdValue>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
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.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset()>();
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.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()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.operations.Insert: org.finos.legend.engine.persistence.components.logicalplan.operations.Insert of(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,java.util.List)>(v, v, v);
return v;
}
public java.util.Optional getDataSplitInRangeConditionForStatistics()
{
java.util.Optional v;
org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner v;
v := @this: org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional dataSplitInRangeCondition>;
return v;
}
protected void addPostRunStatsForRowsUpdated(java.util.Map)
{
org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner v;
java.util.Map v;
v := @this: org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner;
v := @parameter: java.util.Map;
return;
}
protected void addPostRunStatsForRowsInserted(java.util.Map)
{
org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner v;
java.util.Map v;
v := @this: org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner;
v := @parameter: java.util.Map;
return;
}
public java.util.Map buildLogicalPlanForPreRunStatistics(org.finos.legend.engine.persistence.components.common.Resources)
{
org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner v;
org.finos.legend.engine.persistence.components.common.Resources v;
java.util.HashMap v;
org.finos.legend.engine.persistence.components.planner.PlannerOptions v;
boolean v;
v := @this: org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner;
v := @parameter: org.finos.legend.engine.persistence.components.common.Resources;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.planner.PlannerOptions options()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.PlannerOptions: boolean collectStatistics()>();
if v == 0 goto label;
virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: void addPreRunStatsForRowsDeleted(java.util.Map)>(v);
label:
return v;
}
java.util.List getDigestOrRemainingColumns()
{
java.util.List v;
org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner v;
org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta v;
java.lang.String[] v;
java.lang.String v;
v := @this: org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner;
v = newarray (java.lang.String)[1];
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta ingestMode()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.NontemporalDelta: java.lang.String digestField()>();
v[0] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
return v;
}
protected void addPostRunStatsForRowsDeleted(java.util.Map)
{
org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner v;
java.util.Map v;
java.util.Optional v, v;
boolean v, v;
v := @this: org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner;
v := @parameter: java.util.Map;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorField>;
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorIsSetCondition>;
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v != 0 goto label;
label:
specialinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: void addPostRunStatsForRowsDeleted(java.util.Map)>(v);
label:
return;
}
protected void addPreRunStatsForRowsDeleted(java.util.Map)
{
org.finos.legend.engine.persistence.components.common.StatisticName v, v;
java.util.Map v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.And$Builder v, v;
boolean v, v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition[] v;
java.util.Optional v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.Exists$Builder v, v;
org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan$Builder v, v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v;
java.lang.String 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.conditions.Exists v;
org.finos.legend.engine.persistence.components.logicalplan.values.All v;
java.lang.Object v;
v := @this: org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner;
v := @parameter: java.util.Map;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorField>;
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorIsSetCondition>;
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset()>();
v = <org.finos.legend.engine.persistence.components.common.StatisticName: org.finos.legend.engine.persistence.components.common.StatisticName ROWS_DELETED>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.common.StatisticName: java.lang.String get()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.conditions.Exists: org.finos.legend.engine.persistence.components.logicalplan.conditions.Exists$Builder builder()>();
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.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset()>();
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 = <org.finos.legend.engine.persistence.components.logicalplan.values.All: org.finos.legend.engine.persistence.components.logicalplan.values.All INSTANCE>;
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 = 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)[3];
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition pkMatchCondition>;
v[0] = v;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: org.finos.legend.engine.persistence.components.logicalplan.conditions.Condition digestMatchCondition>;
v[1] = v;
v = v.<org.finos.legend.engine.persistence.components.planner.NontemporalDeltaPlanner: java.util.Optional deleteIndicatorIsSetCondition>;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v[2] = 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()>();
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$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection build()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.conditions.Exists$Builder: org.finos.legend.engine.persistence.components.logicalplan.conditions.Exists$Builder source(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.conditions.Exists$Builder: org.finos.legend.engine.persistence.components.logicalplan.conditions.Exists build()>();
v = staticinvoke <java.util.Optional: java.util.Optional of(java.lang.Object)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.util.LogicalPlanUtils: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection getRecordCount(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,java.lang.String,java.util.Optional)>(v, v, v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan$Builder: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan$Builder addOps(org.finos.legend.engine.persistence.components.logicalplan.operations.Operation)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan$Builder: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan build()>();
v = <org.finos.legend.engine.persistence.components.common.StatisticName: org.finos.legend.engine.persistence.components.common.StatisticName ROWS_DELETED>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return;
}
}