public abstract class org.finos.legend.engine.persistence.components.planner.Planner extends java.lang.Object
{
private final org.finos.legend.engine.persistence.components.common.Datasets datasets;
private final org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode;
protected final org.finos.legend.engine.persistence.components.util.MetadataUtils metadataUtils;
private final org.finos.legend.engine.persistence.components.planner.PlannerOptions plannerOptions;
protected final java.util.Set capabilities;
protected final java.util.List primaryKeys;
protected final org.finos.legend.engine.persistence.components.logicalplan.values.StringValue mainTableName;
protected final org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp batchStartTimestamp;
protected final org.finos.legend.engine.persistence.components.logicalplan.values.BatchEndTimestamp batchEndTimestamp;
private final java.util.Optional tempStagingDataset;
private final java.util.Optional tempStagingDatasetWithoutPks;
private final org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset effectiveStagingDataset;
protected final boolean isTempTableNeededForStaging;
protected static final org.finos.legend.engine.persistence.components.planner.Planner$AuditEnabled AUDIT_ENABLED;
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)
{
org.finos.legend.engine.persistence.components.ingestmode.IngestMode v, v;
org.finos.legend.engine.persistence.components.common.Datasets v, v;
org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp v;
org.finos.legend.engine.persistence.components.util.MetadataUtils v;
org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategy v;
boolean v, v, v;
org.finos.legend.engine.persistence.components.util.MetadataDataset v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy v, v, v;
java.util.Set v;
java.util.List v, v;
java.util.Optional v, v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.values.StringValue v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningVisitors$ValidateDedupAndVersioningCombination v;
java.util.function.Supplier v, v;
org.finos.legend.engine.persistence.components.logicalplan.values.BatchEndTimestamp v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference v;
org.finos.legend.engine.persistence.components.planner.PlannerOptions$Builder v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v, v, v;
org.finos.legend.engine.persistence.components.planner.PlannerOptions v, v;
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.planner.Planner$ValidatePrimaryKeysForVersioningStrategy v;
java.util.function.Consumer v;
org.finos.legend.engine.persistence.components.util.MetadataDataset$Builder v;
java.lang.Object v, v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: org.finos.legend.engine.persistence.components.common.Datasets;
v := @parameter: org.finos.legend.engine.persistence.components.ingestmode.IngestMode;
v := @parameter: org.finos.legend.engine.persistence.components.planner.PlannerOptions;
v := @parameter: java.util.Set;
specialinvoke v.<java.lang.Object: void <init>()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.common.Datasets: java.util.Optional metadataDataset()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = v;
goto label;
label:
v = staticinvoke <org.finos.legend.engine.persistence.components.util.MetadataDataset: org.finos.legend.engine.persistence.components.util.MetadataDataset$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.util.MetadataDataset$Builder: org.finos.legend.engine.persistence.components.util.MetadataDataset build()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.common.Datasets: org.finos.legend.engine.persistence.components.common.Datasets withMetadataDataset(org.finos.legend.engine.persistence.components.util.MetadataDataset)>(v);
label:
v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.common.Datasets datasets> = v;
v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode> = v;
v = new org.finos.legend.engine.persistence.components.util.MetadataUtils;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.Optional metadataDataset()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.Planner$init__189: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
specialinvoke v.<org.finos.legend.engine.persistence.components.util.MetadataUtils: void <init>(org.finos.legend.engine.persistence.components.util.MetadataDataset)>(v);
v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.util.MetadataUtils metadataUtils> = v;
if v != null goto label;
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.PlannerOptions: org.finos.legend.engine.persistence.components.planner.PlannerOptions$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.PlannerOptions$Builder: org.finos.legend.engine.persistence.components.planner.PlannerOptions build()>();
goto label;
label:
v = v;
label:
v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.planner.PlannerOptions plannerOptions> = v;
v = staticinvoke <org.finos.legend.engine.persistence.components.util.LogicalPlanUtils: boolean isTempTableNeededForStaging(org.finos.legend.engine.persistence.components.ingestmode.IngestMode)>(v);
v.<org.finos.legend.engine.persistence.components.planner.Planner: boolean isTempTableNeededForStaging> = v;
v = specialinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.Optional getTempStagingDataset()>();
v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.Optional tempStagingDataset> = v;
v = specialinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.Optional getTempStagingDatasetWithoutPks()>();
v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.Optional tempStagingDatasetWithoutPks> = v;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: boolean isTempTableNeededForStaging>;
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset tempStagingDataset()>();
goto label;
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset originalStagingDataset()>();
label:
v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset effectiveStagingDataset> = v;
v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.Set capabilities> = v;
v = specialinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.List findCommonPrimaryKeysBetweenMainAndStaging()>();
v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.List primaryKeys> = v;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: 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.Planner$init__190: 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.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.values.StringValue mainTableName> = 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.Planner: org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp batchStartTimestamp> = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.values.BatchEndTimestamp: org.finos.legend.engine.persistence.components.logicalplan.values.BatchEndTimestamp INSTANCE>;
v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.values.BatchEndTimestamp batchEndTimestamp> = v;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy versioningStrategy()>();
v = new org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningVisitors$ValidateDedupAndVersioningCombination;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategy deduplicationStrategy()>();
specialinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningVisitors$ValidateDedupAndVersioningCombination: void <init>(org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategy)>(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 = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy versioningStrategy()>();
v = new org.finos.legend.engine.persistence.components.planner.Planner$ValidatePrimaryKeysForVersioningStrategy;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.List primaryKeys>;
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.Planner$validatePrimaryKeysNotEmpty__191: java.util.function.Consumer bootstrap$(org.finos.legend.engine.persistence.components.planner.Planner)>(v);
specialinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner$ValidatePrimaryKeysForVersioningStrategy: void <init>(java.util.List,java.util.function.Consumer)>(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 = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy versioningStrategy()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset()>();
virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: void validateVersioningField(org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(v, v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset originalStagingDataset()>();
virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: void validateCleanUpStagingData(org.finos.legend.engine.persistence.components.planner.PlannerOptions,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(v, v);
return;
}
private java.util.Optional getTempStagingDataset()
{
org.finos.legend.engine.persistence.components.ingestmode.IngestMode v;
org.finos.legend.engine.persistence.components.planner.Planner v;
java.util.Optional v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v;
java.lang.String v;
org.finos.legend.engine.persistence.components.planner.PlannerOptions v;
boolean v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v = staticinvoke <java.util.Optional: java.util.Optional empty()>();
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: boolean isTempTableNeededForStaging>;
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset originalStagingDataset()>();
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.planner.PlannerOptions options()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.PlannerOptions: java.lang.String ingestRunId()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.util.LogicalPlanUtils: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset getTempStagingDatasetDefinition(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,org.finos.legend.engine.persistence.components.ingestmode.IngestMode,java.lang.String)>(v, v, v);
v = staticinvoke <java.util.Optional: java.util.Optional of(java.lang.Object)>(v);
label:
return v;
}
private java.util.Optional getTempStagingDatasetWithoutPks()
{
org.finos.legend.engine.persistence.components.planner.Planner v;
java.util.Optional v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v;
boolean v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v = staticinvoke <java.util.Optional: java.util.Optional empty()>();
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: boolean isTempTableNeededForStaging>;
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset tempStagingDataset()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.util.LogicalPlanUtils: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset getTempStagingDatasetWithoutPks(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(v);
v = staticinvoke <java.util.Optional: java.util.Optional of(java.lang.Object)>(v);
label:
return v;
}
private java.util.List findCommonPrimaryKeysBetweenMainAndStaging()
{
java.util.function.Function v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v;
java.util.stream.Collector v, v;
org.finos.legend.engine.persistence.components.planner.Planner v;
java.util.function.Predicate v, v;
java.util.List v, v;
java.util.stream.Stream v, v, v, v, v, v;
java.lang.Object v, v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: 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.SchemaDefinition schema()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition: java.util.List fields()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.Planner$primaryKey__192: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.Planner$name__193: java.util.function.Function bootstrap$()>();
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 toSet()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: 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.SchemaDefinition schema()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition: java.util.List fields()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.Planner$lambda_findCommonPrimaryKeysBetweenMainAndStaging_0__194: java.util.function.Predicate bootstrap$(java.util.Set)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.Planner$name__195: java.util.function.Function bootstrap$()>();
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;
}
protected org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset()
{
org.finos.legend.engine.persistence.components.common.Datasets v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v;
org.finos.legend.engine.persistence.components.planner.Planner v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.common.Datasets datasets>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.common.Datasets: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset()>();
return v;
}
public org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset()
{
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v;
org.finos.legend.engine.persistence.components.planner.Planner v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset effectiveStagingDataset>;
return v;
}
protected org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset originalStagingDataset()
{
org.finos.legend.engine.persistence.components.common.Datasets v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v;
org.finos.legend.engine.persistence.components.planner.Planner v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.common.Datasets datasets>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.common.Datasets: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset()>();
return v;
}
protected org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset tempStagingDataset()
{
org.finos.legend.engine.persistence.components.planner.Planner v;
java.util.Optional v;
java.lang.Object v;
java.util.function.Supplier v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.Optional tempStagingDataset>;
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.Planner$init__196: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
return v;
}
protected org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset tempStagingDatasetWithoutPks()
{
org.finos.legend.engine.persistence.components.planner.Planner v;
java.util.Optional v;
java.lang.Object v;
java.util.function.Supplier v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.Optional tempStagingDatasetWithoutPks>;
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.Planner$init__197: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
return v;
}
protected org.eclipse.collections.api.tuple.Pair getDataFieldsWithTypes()
{
org.finos.legend.engine.persistence.components.ingestmode.IngestMode v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition v;
org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategy v;
boolean v, v, v, v;
org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategyVisitor v;
java.util.List v, v, v;
java.util.Optional v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.FieldType v;
java.util.ArrayList v, v;
int v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaReference v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v, v;
java.lang.String v, v;
org.eclipse.collections.api.tuple.Pair v;
org.finos.legend.engine.persistence.components.planner.Planner v;
java.lang.Object v, v, v, v, v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategy deduplicationStrategy()>();
v = <org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationVisitors: org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategyVisitor EXTRACT_DEDUP_FIELD>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategy: java.lang.Object accept(org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategyVisitor)>(v);
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: java.util.Optional dataSplitField()>();
v = 0;
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: 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.SchemaReference schemaReference()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaReference: java.util.List fieldValues()>();
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: 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.SchemaReference schemaReference()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaReference: java.util.List fieldValues()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue: java.lang.String fieldName()>();
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v != 0 goto label;
label:
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue: java.lang.String fieldName()>();
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v != 0 goto label;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: 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.SchemaDefinition schema()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition: java.util.List fields()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Field: org.finos.legend.engine.persistence.components.logicalplan.datasets.FieldType type()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v + 1;
goto label;
label:
v = staticinvoke <org.eclipse.collections.impl.tuple.Tuples: org.eclipse.collections.api.tuple.Pair pair(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
protected java.util.List getDataFields()
{
org.finos.legend.engine.persistence.components.ingestmode.IngestMode v, v, v;
java.util.ArrayList v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaReference v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v;
org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategy v;
boolean v, v;
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategyVisitor v;
java.util.List v;
java.util.Optional v, v;
java.lang.Object v, v, v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v = new java.util.ArrayList;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: 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.SchemaReference schemaReference()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaReference: java.util.List fieldValues()>();
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategy deduplicationStrategy()>();
v = <org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationVisitors: org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategyVisitor EXTRACT_DEDUP_FIELD>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategy: java.lang.Object accept(org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategyVisitor)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: java.util.Optional dataSplitField()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: java.util.Optional dataSplitField()>();
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 = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
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:
return v;
}
protected java.util.Optional metadataDataset()
{
java.util.Optional v;
org.finos.legend.engine.persistence.components.common.Datasets v;
org.finos.legend.engine.persistence.components.planner.Planner v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.common.Datasets datasets>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.common.Datasets: java.util.Optional metadataDataset()>();
return v;
}
protected java.util.Optional lockInfoDataset()
{
java.util.Optional v;
org.finos.legend.engine.persistence.components.common.Datasets v;
org.finos.legend.engine.persistence.components.planner.Planner v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.common.Datasets datasets>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.common.Datasets: java.util.Optional lockInfoDataset()>();
return v;
}
protected org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode()
{
org.finos.legend.engine.persistence.components.ingestmode.IngestMode v;
org.finos.legend.engine.persistence.components.planner.Planner v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode>;
return v;
}
protected org.finos.legend.engine.persistence.components.planner.PlannerOptions options()
{
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.planner.PlannerOptions v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.planner.PlannerOptions plannerOptions>;
return v;
}
public abstract org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan buildLogicalPlanForIngest(org.finos.legend.engine.persistence.components.common.Resources);
public org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan buildLogicalPlanForDryRun(org.finos.legend.engine.persistence.components.common.Resources)
{
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.common.Resources v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: org.finos.legend.engine.persistence.components.common.Resources;
return null;
}
public java.util.Map buildLogicalPlanForDryRunValidation(org.finos.legend.engine.persistence.components.common.Resources)
{
org.finos.legend.engine.persistence.components.planner.Planner v;
java.util.Map v;
org.finos.legend.engine.persistence.components.common.Resources v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: org.finos.legend.engine.persistence.components.common.Resources;
v = staticinvoke <java.util.Collections: java.util.Map emptyMap()>();
return v;
}
public org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan buildLogicalPlanForDryRunPreActions(org.finos.legend.engine.persistence.components.common.Resources)
{
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.common.Resources v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: org.finos.legend.engine.persistence.components.common.Resources;
return null;
}
public org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan buildLogicalPlanForDryRunPostCleanup(org.finos.legend.engine.persistence.components.common.Resources)
{
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.common.Resources v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: org.finos.legend.engine.persistence.components.common.Resources;
return null;
}
public org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan buildLogicalPlanForMetadataIngest(org.finos.legend.engine.persistence.components.common.Resources)
{
java.util.HashMap v;
org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp v;
org.finos.legend.engine.persistence.components.logicalplan.values.BatchEndTimestamp v;
org.finos.legend.engine.persistence.components.util.MetadataUtils v;
java.util.Map v, v;
org.finos.legend.engine.persistence.components.common.Resources v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v;
java.lang.String v;
org.finos.legend.engine.persistence.components.planner.PlannerOptions v, v, v, v;
boolean v, v;
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Insert v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Operation[] v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan v;
java.util.List v, v;
java.util.Optional v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.values.StringValue v, v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: org.finos.legend.engine.persistence.components.common.Resources;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = v;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset originalStagingDataset()>();
v = v instanceof org.finos.legend.engine.persistence.components.logicalplan.datasets.DerivedDataset;
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset originalStagingDataset()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.DerivedDataset: java.util.List datasetFilters()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.util.LogicalPlanUtils: java.util.Map jsonifyStagingFilters(java.util.List)>(v);
label:
v = staticinvoke <org.finos.legend.engine.persistence.components.util.LogicalPlanUtils: java.util.Optional getStringValueFromMap(java.util.Map)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.planner.PlannerOptions options()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.PlannerOptions: java.util.Map additionalMetadata()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.util.LogicalPlanUtils: java.util.Optional getStringValueFromMap(java.util.Map)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.planner.PlannerOptions options()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.PlannerOptions: java.lang.String batchSuccessStatusValue()>();
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 = newarray (org.finos.legend.engine.persistence.components.logicalplan.operations.Operation)[1];
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.util.MetadataUtils metadataUtils>;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.values.StringValue mainTableName>;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp batchStartTimestamp>;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.values.BatchEndTimestamp batchEndTimestamp>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.planner.PlannerOptions options()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.PlannerOptions: java.util.Optional ingestRequestId()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.planner.PlannerOptions options()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.PlannerOptions: boolean writeStatistics()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.util.MetadataUtils: org.finos.legend.engine.persistence.components.logicalplan.operations.Insert insertMetaData(org.finos.legend.engine.persistence.components.logicalplan.values.StringValue,org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp,org.finos.legend.engine.persistence.components.logicalplan.values.BatchEndTimestamp,org.finos.legend.engine.persistence.components.logicalplan.values.Value,java.util.Optional,java.util.Optional,java.util.Optional,boolean)>(v, v, v, v, v, v, v, v);
v[0] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
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;
}
public org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan buildLogicalPlanForInitializeLock(org.finos.legend.engine.persistence.components.common.Resources)
{
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Insert v;
org.finos.legend.engine.persistence.components.util.LockInfoUtils v;
java.util.Set v;
org.finos.legend.engine.persistence.components.common.Datasets v;
java.util.function.Supplier v;
org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan v;
org.finos.legend.engine.persistence.components.common.Resources v;
java.util.Optional v;
java.lang.Object v;
org.finos.legend.engine.persistence.components.planner.PlannerOptions v;
boolean v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: org.finos.legend.engine.persistence.components.common.Resources;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.planner.PlannerOptions options()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.PlannerOptions: boolean enableConcurrentSafety()>();
if v == 0 goto label;
v = new org.finos.legend.engine.persistence.components.util.LockInfoUtils;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.common.Datasets datasets>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.common.Datasets: java.util.Optional lockInfoDataset()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.Planner$init__198: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
specialinvoke v.<org.finos.legend.engine.persistence.components.util.LockInfoUtils: void <init>(org.finos.legend.engine.persistence.components.util.LockInfoDataset)>(v);
v = <org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestampAbstract: org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp INSTANCE>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.util.LockInfoUtils: org.finos.legend.engine.persistence.components.logicalplan.operations.Insert initializeLockInfo(org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp)>(v);
v = staticinvoke <java.util.Collections: java.util.Set singleton(java.lang.Object)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan of(java.lang.Iterable)>(v);
return v;
label:
return null;
}
public org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan buildLogicalPlanForAcquireLock(org.finos.legend.engine.persistence.components.common.Resources)
{
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Update v;
org.finos.legend.engine.persistence.components.util.LockInfoUtils v;
java.util.Set v;
org.finos.legend.engine.persistence.components.common.Datasets v;
java.util.function.Supplier v;
org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan v;
org.finos.legend.engine.persistence.components.common.Resources v;
java.util.Optional v;
java.lang.Object v;
org.finos.legend.engine.persistence.components.planner.PlannerOptions v;
boolean v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: org.finos.legend.engine.persistence.components.common.Resources;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.planner.PlannerOptions options()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.PlannerOptions: boolean enableConcurrentSafety()>();
if v == 0 goto label;
v = new org.finos.legend.engine.persistence.components.util.LockInfoUtils;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.common.Datasets datasets>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.common.Datasets: java.util.Optional lockInfoDataset()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.Planner$init__199: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
specialinvoke v.<org.finos.legend.engine.persistence.components.util.LockInfoUtils: void <init>(org.finos.legend.engine.persistence.components.util.LockInfoDataset)>(v);
v = <org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestampAbstract: org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp INSTANCE>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.util.LockInfoUtils: org.finos.legend.engine.persistence.components.logicalplan.operations.Update updateLockInfo(org.finos.legend.engine.persistence.components.logicalplan.values.BatchStartTimestamp)>(v);
v = staticinvoke <java.util.Collections: java.util.Set singleton(java.lang.Object)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan of(java.lang.Iterable)>(v);
return v;
label:
return null;
}
public org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan buildLogicalPlanForPreActions()
{
java.util.function.Supplier v, v;
java.util.ArrayList v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v, v, v;
org.finos.legend.engine.persistence.components.planner.PlannerOptions v, v;
boolean v, v, v;
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Create v, v, v, v;
java.util.Optional v, v;
java.lang.Object v, v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.planner.PlannerOptions options()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.PlannerOptions: boolean skipMainAndMetadataDatasetCreation()>();
if v != 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset mainDataset()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.operations.Create: org.finos.legend.engine.persistence.components.logicalplan.operations.Create of(boolean,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(1, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.Optional metadataDataset()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.Planner$init__201: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.util.MetadataDataset: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset get()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.operations.Create: org.finos.legend.engine.persistence.components.logicalplan.operations.Create of(boolean,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(1, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.planner.PlannerOptions options()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.PlannerOptions: boolean enableConcurrentSafety()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.Optional lockInfoDataset()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.Planner$init__200: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.util.LockInfoDataset: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset get()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.operations.Create: org.finos.legend.engine.persistence.components.logicalplan.operations.Create of(boolean,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(1, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: boolean isTempTableNeededForStaging>;
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset tempStagingDatasetWithoutPks()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.operations.Create: org.finos.legend.engine.persistence.components.logicalplan.operations.Create of(boolean,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(1, v);
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;
}
public org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan buildLogicalPlanForDeduplicationAndVersioning(org.finos.legend.engine.persistence.components.common.Resources)
{
org.finos.legend.engine.persistence.components.ingestmode.IngestMode v, v;
java.util.ArrayList v, v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Delete$Builder v, v;
org.finos.legend.engine.persistence.components.common.Resources v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaReference v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Delete v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v, v, v;
org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategy v;
boolean v;
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Insert v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan v;
java.util.List v, v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
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.Planner: boolean isTempTableNeededForStaging>;
if v == 0 goto label;
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.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset tempStagingDataset()>();
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 = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Delete$Builder: org.finos.legend.engine.persistence.components.logicalplan.operations.Delete build()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategy deduplicationStrategy()>();
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy versioningStrategy()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset originalStagingDataset()>();
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.List primaryKeys>;
v = staticinvoke <org.finos.legend.engine.persistence.components.util.LogicalPlanUtils: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset getDedupedAndVersionedDataset(org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategy,org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,java.util.List)>(v, v, v, v);
v = new java.util.ArrayList;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaReference schemaReference()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaReference: java.util.List fieldValues()>();
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset tempStagingDataset()>();
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);
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;
}
public org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan buildLogicalPlanForPostActions(org.finos.legend.engine.persistence.components.common.Resources)
{
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan v;
java.util.ArrayList v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Delete$Builder v, v;
org.finos.legend.engine.persistence.components.common.Resources v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Delete v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v;
org.finos.legend.engine.persistence.components.planner.PlannerOptions v;
boolean v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
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.Planner: org.finos.legend.engine.persistence.components.planner.PlannerOptions plannerOptions>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.PlannerOptions: boolean cleanupStagingData()>();
if v == 0 goto label;
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.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset originalStagingDataset()>();
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 = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.operations.Delete$Builder: org.finos.legend.engine.persistence.components.logicalplan.operations.Delete build()>();
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;
}
public org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan buildLogicalPlanForPostCleanup(org.finos.legend.engine.persistence.components.common.Resources)
{
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Drop v, v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan v;
java.util.ArrayList v;
org.finos.legend.engine.persistence.components.common.Resources v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v;
boolean v, v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: org.finos.legend.engine.persistence.components.common.Resources;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.common.Resources: boolean externalDatasetImported()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset originalStagingDataset()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.operations.Drop: org.finos.legend.engine.persistence.components.logicalplan.operations.Drop of(boolean,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,boolean)>(1, v, 1);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: boolean isTempTableNeededForStaging>;
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset tempStagingDataset()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.operations.Drop: org.finos.legend.engine.persistence.components.logicalplan.operations.Drop of(boolean,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,boolean)>(1, v, 1);
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;
}
public java.util.Map buildLogicalPlanForPreRunStatistics(org.finos.legend.engine.persistence.components.common.Resources)
{
org.finos.legend.engine.persistence.components.planner.Planner v;
java.util.Map v;
org.finos.legend.engine.persistence.components.common.Resources v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: org.finos.legend.engine.persistence.components.common.Resources;
v = staticinvoke <java.util.Collections: java.util.Map emptyMap()>();
return v;
}
public java.util.Map buildLogicalPlanForPostRunStatistics(org.finos.legend.engine.persistence.components.common.Resources)
{
org.finos.legend.engine.persistence.components.planner.Planner 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.Planner;
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.Planner: 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.Planner: void addPostRunStatsForIncomingRecords(java.util.Map)>(v);
virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: void addPostRunStatsForRowsTerminated(java.util.Map)>(v);
virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: void addPostRunStatsForRowsInserted(java.util.Map)>(v);
virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: void addPostRunStatsForRowsUpdated(java.util.Map)>(v);
virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: void addPostRunStatsForRowsDeleted(java.util.Map)>(v);
label:
return v;
}
public java.util.Map buildLogicalPlanForDeduplicationAndVersioningErrorChecks(org.finos.legend.engine.persistence.components.common.Resources)
{
org.finos.legend.engine.persistence.components.planner.Planner v;
java.util.HashMap v;
org.finos.legend.engine.persistence.components.common.Resources v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: org.finos.legend.engine.persistence.components.common.Resources;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: void addMaxDuplicatesErrorCheck(java.util.Map)>(v);
virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: void addMaxPkDuplicatesErrorCheck(java.util.Map)>(v);
virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: void addDataErrorCheck(java.util.Map)>(v);
return v;
}
protected void addMaxDuplicatesErrorCheck(java.util.Map)
{
org.finos.legend.engine.persistence.components.ingestmode.IngestMode v;
org.finos.legend.engine.persistence.components.logicalplan.conditions.GreaterThan v;
java.lang.Integer v, v;
org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder v, v, v, v, v;
java.util.Map v;
java.util.stream.Collector v;
org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategy v;
boolean v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan v, v;
org.finos.legend.engine.persistence.components.logicalplan.values.FunctionName v;
java.util.List v;
java.util.stream.Stream v, v;
org.finos.legend.engine.persistence.components.logicalplan.values.ObjectValue v;
org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType v, 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.values.FunctionImpl$Builder v, v, v, v;
java.util.function.Function v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan$Builder v, v, v, v;
int v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v, v;
java.lang.String v;
org.finos.legend.engine.persistence.components.planner.PlannerOptions v;
org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection v, v;
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue v, v;
java.lang.Object v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: java.util.Map;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategy deduplicationStrategy()>();
v = v instanceof org.finos.legend.engine.persistence.components.ingestmode.deduplication.FailOnDuplicates;
if v == 0 goto 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.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset tempStagingDataset()>();
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)>("legend_persistence_count");
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue build()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder builder()>();
v = <org.finos.legend.engine.persistence.components.logicalplan.values.FunctionName: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionName MAX>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder functionName(org.finos.legend.engine.persistence.components.logicalplan.values.FunctionName)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder addValue(org.finos.legend.engine.persistence.components.logicalplan.values.Value)>(v);
v = <org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType: org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType MAX_DUPLICATES>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType: java.lang.String name()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder alias(java.lang.String)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl build()>();
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.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset tempStagingDataset()>();
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 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.LogicalPlan: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan$Builder builder()>();
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.DedupAndVersionErrorSqlType: org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType MAX_DUPLICATES>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.List primaryKeys>;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.Planner$lambda_addMaxDuplicatesErrorCheck_1__202: java.util.function.Function bootstrap$()>();
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);
v = interfaceinvoke v.<java.util.List: int size()>();
if v <= 0 goto 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.logicalplan.values.FieldValue$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder fieldName(java.lang.String)>("legend_persistence_count");
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 = 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.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset tempStagingDataset()>();
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 addAllFields(java.lang.Iterable)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(1);
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.values.ObjectValue: org.finos.legend.engine.persistence.components.logicalplan.values.ObjectValue of(java.lang.Object)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.conditions.GreaterThan: org.finos.legend.engine.persistence.components.logicalplan.conditions.GreaterThan of(org.finos.legend.engine.persistence.components.logicalplan.values.Value,org.finos.legend.engine.persistence.components.logicalplan.values.Value)>(v, 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.planner.Planner: org.finos.legend.engine.persistence.components.planner.PlannerOptions options()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.PlannerOptions: int sampleRowCount()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder limit(java.lang.Integer)>(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.LogicalPlan: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan$Builder builder()>();
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.DedupAndVersionErrorSqlType: org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType DUPLICATE_ROWS>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return;
}
protected void addMaxPkDuplicatesErrorCheck(java.util.Map)
{
org.finos.legend.engine.persistence.components.ingestmode.IngestMode v, v, v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.DeriveMaxDuplicatePkCountLogicalPlan v;
org.finos.legend.engine.persistence.components.util.Capability v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategyVisitor v;
java.util.Map v;
int v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v;
org.finos.legend.engine.persistence.components.planner.PlannerOptions v;
boolean v, v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.DeriveDuplicatePkRowsLogicalPlan v;
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy v, v, v;
java.util.Set v;
java.util.List v, v;
java.lang.Object v, v, v;
org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType v, v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: java.util.Map;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy versioningStrategy()>();
v = <org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningVisitors: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategyVisitor IS_DUPLICATE_PK_CHECK_NEEDED>;
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 = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy versioningStrategy()>();
v = new org.finos.legend.engine.persistence.components.ingestmode.versioning.DeriveMaxDuplicatePkCountLogicalPlan;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.List primaryKeys>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset()>();
specialinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.DeriveMaxDuplicatePkCountLogicalPlan: void <init>(java.util.List,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(v, 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);
if v == null goto label;
v = <org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType: org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType MAX_PK_DUPLICATES>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy versioningStrategy()>();
v = new org.finos.legend.engine.persistence.components.ingestmode.versioning.DeriveDuplicatePkRowsLogicalPlan;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.List primaryKeys>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.planner.PlannerOptions options()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.PlannerOptions: int sampleRowCount()>();
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.Set capabilities>;
v = <org.finos.legend.engine.persistence.components.util.Capability: org.finos.legend.engine.persistence.components.util.Capability ALIAS_IN_HAVING>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
specialinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.DeriveDuplicatePkRowsLogicalPlan: void <init>(java.util.List,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,int,boolean)>(v, v, v, 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);
if v == null goto label;
v = <org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType: org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType PK_DUPLICATE_ROWS>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return;
}
protected void addDataErrorCheck(java.util.Map)
{
org.finos.legend.engine.persistence.components.ingestmode.IngestMode v, v, v;
org.finos.legend.engine.persistence.components.util.Capability v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.DeriveMaxDataErrorLogicalPlan v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategyVisitor v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.DeriveDataErrorRowsLogicalPlan v;
java.util.Map v;
int v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v;
org.finos.legend.engine.persistence.components.planner.PlannerOptions v;
boolean v, v;
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy v, v, v;
java.util.Set v;
java.util.List v, v, v;
java.lang.Object v, v, v;
org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType v, v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: java.util.Map;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.List getDigestOrRemainingColumns()>();
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy versioningStrategy()>();
v = <org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningVisitors: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategyVisitor IS_TEMP_TABLE_NEEDED>;
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 = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy versioningStrategy()>();
v = new org.finos.legend.engine.persistence.components.ingestmode.versioning.DeriveMaxDataErrorLogicalPlan;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.List primaryKeys>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset tempStagingDataset()>();
specialinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.DeriveMaxDataErrorLogicalPlan: void <init>(java.util.List,java.util.List,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(v, v, 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);
if v == null goto label;
v = <org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType: org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType MAX_DATA_ERRORS>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy versioningStrategy()>();
v = new org.finos.legend.engine.persistence.components.ingestmode.versioning.DeriveDataErrorRowsLogicalPlan;
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.List primaryKeys>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset tempStagingDataset()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.planner.PlannerOptions options()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.PlannerOptions: int sampleRowCount()>();
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.Set capabilities>;
v = <org.finos.legend.engine.persistence.components.util.Capability: org.finos.legend.engine.persistence.components.util.Capability ALIAS_IN_HAVING>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
specialinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.versioning.DeriveDataErrorRowsLogicalPlan: void <init>(java.util.List,java.util.List,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,int,boolean)>(v, v, v, v, 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);
if v == null goto label;
v = <org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType: org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType DATA_ERROR_ROWS>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
return;
}
abstract java.util.List getDigestOrRemainingColumns();
protected void validatePrimaryKeysNotEmpty(java.util.List)
{
java.lang.IllegalStateException v;
org.finos.legend.engine.persistence.components.planner.Planner v;
java.util.List v;
boolean v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: java.util.List;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Primary key list must not be empty");
throw v;
label:
return;
}
protected void validatePrimaryKeysIsEmpty(java.util.List)
{
java.lang.IllegalStateException v;
org.finos.legend.engine.persistence.components.planner.Planner v;
java.util.List v;
boolean v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: java.util.List;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("Primary key list must be empty");
throw v;
label:
return;
}
public boolean dataSplitExecutionSupported()
{
org.finos.legend.engine.persistence.components.planner.Planner v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
return 1;
}
public java.util.Optional getDataSplitInRangeConditionForStatistics()
{
java.util.Optional v;
org.finos.legend.engine.persistence.components.planner.Planner v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v = staticinvoke <java.util.Optional: java.util.Optional empty()>();
return v;
}
protected void addPreRunStatsForRowsDeleted(java.util.Map)
{
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.common.StatisticName v, v;
java.lang.Long v;
java.util.Map v;
java.lang.String v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: java.util.Map;
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 <java.lang.Long: java.lang.Long valueOf(long)>(0L);
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.LogicalPlanFactory: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan getLogicalPlanForConstantStats(java.lang.String,java.lang.Long)>(v, v);
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);
return;
}
protected void addPostRunStatsForIncomingRecords(java.util.Map)
{
org.finos.legend.engine.persistence.components.ingestmode.IngestMode v, v;
org.finos.legend.engine.persistence.components.common.StatisticName v, v, v;
java.lang.Integer v;
org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue$Builder v, v, v;
java.util.Map v;
org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategy v;
boolean v, v;
org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategyVisitor v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan v;
org.finos.legend.engine.persistence.components.logicalplan.values.FunctionName v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.values.ObjectValue v;
java.util.Optional v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection$Builder v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder v, v, v, v, v, v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetReference v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan$Builder v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v;
java.lang.String v, v;
org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection v;
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.logicalplan.values.FieldValue v;
org.finos.legend.engine.persistence.components.logicalplan.values.All v;
java.lang.Object v, v;
org.finos.legend.engine.persistence.components.logicalplan.values.Value[] v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: java.util.Map;
v = staticinvoke <java.util.Optional: java.util.Optional empty()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder builder()>();
v = <org.finos.legend.engine.persistence.components.logicalplan.values.FunctionName: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionName COUNT>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder functionName(org.finos.legend.engine.persistence.components.logicalplan.values.FunctionName)>(v);
v = <org.finos.legend.engine.persistence.components.common.StatisticName: org.finos.legend.engine.persistence.components.common.StatisticName INCOMING_RECORD_COUNT>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.common.StatisticName: java.lang.String get()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder alias(java.lang.String)>(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.values.FunctionImpl$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder addValue(org.finos.legend.engine.persistence.components.logicalplan.values.Value)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl build()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset originalStagingDataset()>();
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: java.util.Optional dataSplitField()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: java.util.Optional getDataSplitInRangeConditionForStatistics()>();
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategy deduplicationStrategy()>();
v = <org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationVisitors: org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategyVisitor EXTRACT_DEDUP_FIELD>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategy: java.lang.Object accept(org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategyVisitor)>(v);
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto 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.<java.util.Optional: java.lang.Object get()>();
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 = 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 build()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder builder()>();
v = <org.finos.legend.engine.persistence.components.logicalplan.values.FunctionName: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionName SUM>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder functionName(org.finos.legend.engine.persistence.components.logicalplan.values.FunctionName)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder addValue(org.finos.legend.engine.persistence.components.logicalplan.values.Value)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl build()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder builder()>();
v = <org.finos.legend.engine.persistence.components.logicalplan.values.FunctionName: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionName COALESCE>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder functionName(org.finos.legend.engine.persistence.components.logicalplan.values.FunctionName)>(v);
v = <org.finos.legend.engine.persistence.components.common.StatisticName: org.finos.legend.engine.persistence.components.common.StatisticName INCOMING_RECORD_COUNT>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.common.StatisticName: java.lang.String get()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder alias(java.lang.String)>(v);
v = newarray (org.finos.legend.engine.persistence.components.logicalplan.values.Value)[2];
v[0] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(0);
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.values.ObjectValue: org.finos.legend.engine.persistence.components.logicalplan.values.ObjectValue of(java.lang.Object)>(v);
v[1] = v;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder addValue(org.finos.legend.engine.persistence.components.logicalplan.values.Value[])>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl$Builder: org.finos.legend.engine.persistence.components.logicalplan.values.FunctionImpl build()>();
label:
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan$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.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 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$Builder condition(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()>();
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 INCOMING_RECORD_COUNT>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return;
}
protected void addPostRunStatsForRowsTerminated(java.util.Map)
{
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.common.StatisticName v, v;
java.lang.Long v;
java.util.Map v;
java.lang.String v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: java.util.Map;
v = <org.finos.legend.engine.persistence.components.common.StatisticName: org.finos.legend.engine.persistence.components.common.StatisticName ROWS_TERMINATED>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.common.StatisticName: java.lang.String get()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(0L);
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.LogicalPlanFactory: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan getLogicalPlanForConstantStats(java.lang.String,java.lang.Long)>(v, v);
v = <org.finos.legend.engine.persistence.components.common.StatisticName: org.finos.legend.engine.persistence.components.common.StatisticName ROWS_TERMINATED>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return;
}
protected void addPostRunStatsForRowsUpdated(java.util.Map)
{
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.common.StatisticName v, v;
java.lang.Long v;
java.util.Map v;
java.lang.String v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: java.util.Map;
v = <org.finos.legend.engine.persistence.components.common.StatisticName: org.finos.legend.engine.persistence.components.common.StatisticName ROWS_UPDATED>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.common.StatisticName: java.lang.String get()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(0L);
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.LogicalPlanFactory: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan getLogicalPlanForConstantStats(java.lang.String,java.lang.Long)>(v, v);
v = <org.finos.legend.engine.persistence.components.common.StatisticName: org.finos.legend.engine.persistence.components.common.StatisticName ROWS_UPDATED>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return;
}
protected void addPostRunStatsForRowsInserted(java.util.Map)
{
org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection v;
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.common.StatisticName v, v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan$Builder v, v;
java.util.Map v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v;
java.lang.String v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: java.util.Map;
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.Planner: 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_INSERTED>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.common.StatisticName: java.lang.String get()>();
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)>(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_INSERTED>;
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
return;
}
protected void addPostRunStatsForRowsDeleted(java.util.Map)
{
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.common.StatisticName v, v;
java.lang.Long v;
java.util.Map v;
java.lang.String v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: java.util.Map;
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 <java.lang.Long: java.lang.Long valueOf(long)>(0L);
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.LogicalPlanFactory: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan getLogicalPlanForConstantStats(java.lang.String,java.lang.Long)>(v, v);
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);
return;
}
protected java.util.List getNonPKNonVersionDataFields()
{
org.finos.legend.engine.persistence.components.ingestmode.IngestMode v, v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategyVisitor v;
java.util.function.Function v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaReference v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v;
java.util.stream.Collector v;
org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategy v;
org.finos.legend.engine.persistence.components.planner.Planner v;
java.util.function.Predicate v, v, v, v;
org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategyVisitor v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy v;
java.util.List v;
java.util.stream.Stream v, v, v;
java.lang.Object v, v, v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner: 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.SchemaReference schemaReference()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaReference: java.util.List fieldValues()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.Planner$lambda_getNonPKNonVersionDataFields_2__203: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.Planner$lambda_getNonPKNonVersionDataFields_3__204: java.util.function.Predicate bootstrap$(org.finos.legend.engine.persistence.components.planner.Planner)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(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);
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategy deduplicationStrategy()>();
v = <org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationVisitors: org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategyVisitor EXTRACT_DEDUP_FIELD>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategy: java.lang.Object accept(org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategyVisitor)>(v);
v = v.<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy versioningStrategy()>();
v = <org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningVisitors: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategyVisitor EXTRACT_VERSIONING_FIELD>;
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 = staticinvoke <org.finos.legend.engine.persistence.components.planner.Planner$lambda_getNonPKNonVersionDataFields_4__205: java.util.function.Predicate bootstrap$(org.finos.legend.engine.persistence.components.planner.Planner)>(v);
interfaceinvoke v.<java.util.List: boolean removeIf(java.util.function.Predicate)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.Planner$lambda_getNonPKNonVersionDataFields_5__206: java.util.function.Predicate bootstrap$(java.util.Optional)>(v);
interfaceinvoke v.<java.util.List: boolean removeIf(java.util.function.Predicate)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.Planner$lambda_getNonPKNonVersionDataFields_6__207: java.util.function.Predicate bootstrap$(java.util.Optional)>(v);
interfaceinvoke v.<java.util.List: boolean removeIf(java.util.function.Predicate)>(v);
return v;
}
protected void validateVersioningField(org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy, org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)
{
java.lang.IllegalStateException v;
java.lang.Object[] v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategyVisitor v;
java.util.function.Supplier v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.FieldType v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v;
java.lang.String v;
boolean v, v;
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType v, v;
java.util.function.Predicate v;
org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy v;
java.util.Set v;
java.util.List v;
java.util.stream.Stream v, v;
java.util.Optional v;
java.lang.Object v, v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategy;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset;
v = <org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningVisitors: org.finos.legend.engine.persistence.components.ingestmode.versioning.VersioningStrategyVisitor EXTRACT_VERSIONING_FIELD>;
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 = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition schema()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition: java.util.List fields()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.Planner$lambda_validateVersioningField_7__208: java.util.function.Predicate bootstrap$(java.util.Optional)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.Optional findFirst()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.planner.Planner$lambda_validateVersioningField_8__209: java.util.function.Supplier bootstrap$(java.util.Optional)>(v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
v = <org.finos.legend.engine.persistence.components.util.LogicalPlanUtils: java.util.Set SUPPORTED_DATA_TYPES_FOR_VERSIONING_COLUMNS>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Field: org.finos.legend.engine.persistence.components.logicalplan.datasets.FieldType type()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.FieldType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType dataType()>();
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = new java.lang.IllegalStateException;
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Field: org.finos.legend.engine.persistence.components.logicalplan.datasets.FieldType type()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.FieldType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType dataType()>();
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Versioning field\'s data type [%s] is not supported", v);
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
protected void validateCleanUpStagingData(org.finos.legend.engine.persistence.components.planner.PlannerOptions, org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)
{
java.lang.IllegalStateException v;
org.finos.legend.engine.persistence.components.planner.Planner v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v;
org.finos.legend.engine.persistence.components.planner.PlannerOptions v;
boolean v, v, v;
v := @this: org.finos.legend.engine.persistence.components.planner.Planner;
v := @parameter: org.finos.legend.engine.persistence.components.planner.PlannerOptions;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.planner.PlannerOptions: boolean cleanupStagingData()>();
if v == 0 goto label;
v = v instanceof org.finos.legend.engine.persistence.components.logicalplan.datasets.DerivedDataset;
if v != 0 goto label;
v = v instanceof org.finos.legend.engine.persistence.components.logicalplan.datasets.FilteredDataset;
if v == 0 goto label;
label:
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("cleanupStagingData cannot be turned on when using DerivedDataset or FilteredDataset");
throw v;
label:
return;
}
static void <clinit>()
{
org.finos.legend.engine.persistence.components.planner.Planner$AuditEnabled v;
v = new org.finos.legend.engine.persistence.components.planner.Planner$AuditEnabled;
specialinvoke v.<org.finos.legend.engine.persistence.components.planner.Planner$AuditEnabled: void <init>()>();
<org.finos.legend.engine.persistence.components.planner.Planner: org.finos.legend.engine.persistence.components.planner.Planner$AuditEnabled AUDIT_ENABLED> = v;
return;
}
}