public class org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution extends java.lang.Object
{
private final org.finos.legend.engine.persistence.components.sink.Sink sink;
private final org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode;
private final java.util.Set schemaEvolutionCapabilitySet;
private final boolean ignoreCase;
private static final org.finos.legend.engine.persistence.components.ingestmode.IngestModeVisitor STAGING_TABLE_FIELDS_TO_IGNORE;
private static final org.finos.legend.engine.persistence.components.ingestmode.IngestModeVisitor MAIN_TABLE_FIELDS_TO_IGNORE;
private static final org.finos.legend.engine.persistence.components.ingestmode.transactionmilestoning.TransactionMilestoningVisitor TRANSACTION_FIELDS_TO_IGNORE;
private static final org.finos.legend.engine.persistence.components.ingestmode.validitymilestoning.ValidityMilestoningVisitor VALIDITY_FIELDS_TO_IGNORE;
private static final org.finos.legend.engine.persistence.components.ingestmode.validitymilestoning.ValidityMilestoningVisitor VALIDITY_FIELDS_TO_IGNORE_IN_STAGING;
private static final org.finos.legend.engine.persistence.components.ingestmode.digest.DigestGenStrategyVisitor EXTRACT_DIGEST_FIELD_TO_IGNORE;
public void <init>(org.finos.legend.engine.persistence.components.sink.Sink, org.finos.legend.engine.persistence.components.ingestmode.IngestMode, java.util.Set, boolean)
{
org.finos.legend.engine.persistence.components.ingestmode.IngestMode v;
org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution v;
java.util.Set v;
org.finos.legend.engine.persistence.components.sink.Sink v;
boolean v;
v := @this: org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution;
v := @parameter: org.finos.legend.engine.persistence.components.sink.Sink;
v := @parameter: org.finos.legend.engine.persistence.components.ingestmode.IngestMode;
v := @parameter: java.util.Set;
v := @parameter: boolean;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.sink.Sink sink> = v;
v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode> = v;
v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: java.util.Set schemaEvolutionCapabilitySet> = v;
v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: boolean ignoreCase> = v;
return;
}
public org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolutionResult buildLogicalPlanForSchemaEvolution(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset, org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition)
{
org.finos.legend.engine.persistence.components.ingestmode.IngestMode v, v;
java.util.ArrayList v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition v, v, v;
java.util.HashSet v;
org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolutionResult v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v;
org.finos.legend.engine.persistence.components.ingestmode.IngestModeVisitor v, v;
org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan v;
java.util.List v, v;
java.lang.Object v, v;
v := @this: org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: void validatePrimaryKeys(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition)>(v, v);
v = v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode>;
v = <org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.ingestmode.IngestModeVisitor STAGING_TABLE_FIELDS_TO_IGNORE>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: java.lang.Object accept(org.finos.legend.engine.persistence.components.ingestmode.IngestModeVisitor)>(v);
v = specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: java.util.List stagingToMainTableColumnMatch(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition,java.util.Set,java.util.Set)>(v, v, v, v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
v = v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.ingestmode.IngestMode ingestMode>;
v = <org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.ingestmode.IngestModeVisitor MAIN_TABLE_FIELDS_TO_IGNORE>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.IngestMode: java.lang.Object accept(org.finos.legend.engine.persistence.components.ingestmode.IngestModeVisitor)>(v);
v = specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: java.util.List mainToStagingTableColumnMatch(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition,java.util.Set,java.util.Set)>(v, v, v, v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition schema()>();
v = specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition evolveSchemaDefinition(org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition,java.util.Set)>(v, v);
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan of(java.util.List)>(v);
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset withSchema(org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolutionResult: org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolutionResult of(org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(v, v);
return v;
}
private void validatePrimaryKeys(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset, org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition)
{
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition v, v;
java.util.stream.Collector v, v, v, v;
boolean v;
java.util.function.Predicate v, v, v, v;
java.util.List v, v;
java.util.stream.Stream v, v, v, v, v, v, v, v, v, v;
java.util.function.Function v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v;
org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution v;
java.lang.Object v, v, v, v;
org.finos.legend.engine.persistence.components.schemaevolution.IncompatibleSchemaChangeException v;
v := @this: org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition;
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.schemaevolution.SchemaEvolution$lambda_validatePrimaryKeys_0__1: java.util.function.Predicate bootstrap$(org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution)>(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 = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$primaryKey__2: 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.schemaevolution.SchemaEvolution$name__3: 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 = 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.schemaevolution.SchemaEvolution$lambda_validatePrimaryKeys_1__4: java.util.function.Predicate bootstrap$(org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution)>(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 = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$primaryKey__5: 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.schemaevolution.SchemaEvolution$name__6: 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 = specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: boolean areEqual(java.util.Set,java.util.Set)>(v, v);
if v != 0 goto label;
v = new org.finos.legend.engine.persistence.components.schemaevolution.IncompatibleSchemaChangeException;
specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.IncompatibleSchemaChangeException: void <init>(java.lang.String)>("Primary keys for main table has changed which is not allowed");
throw v;
label:
return;
}
private java.util.List stagingToMainTableColumnMatch(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset, org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition, java.util.Set, java.util.Set)
{
org.finos.legend.engine.persistence.components.logicalplan.operations.AlterAbstract$AlterOperation v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition v, v;
java.util.stream.Collector v;
java.util.Set v, v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Field v, v, v, v;
java.util.stream.Stream v, v, v, v;
org.finos.legend.engine.persistence.components.util.SchemaEvolutionCapability v, v;
java.lang.Object[] v, v, v, v;
org.finos.legend.engine.persistence.components.util.Capability v, v, v;
java.util.ArrayList v;
java.lang.String v, v, v, v, v;
org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Alter v;
org.finos.legend.engine.persistence.components.schemaevolution.IncompatibleSchemaChangeException v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.function.Predicate v, v;
java.util.List v, v;
java.util.Optional v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.FieldType v, v, v, v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType v, v, v, v, v, v, v, v, v, v;
java.util.Iterator v;
org.finos.legend.engine.persistence.components.sink.Sink v, v, v, v, v, v, v, v, v;
java.lang.Object v, v, v;
v := @this: org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition;
v := @parameter: java.util.Set;
v := @parameter: java.util.Set;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
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 = 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.schemaevolution.SchemaEvolution$lambda_stagingToMainTableColumnMatch_2__7: java.util.function.Predicate bootstrap$(org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution,java.util.Set)>(v, 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 = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Field: java.lang.String name()>();
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$lambda_stagingToMainTableColumnMatch_3__8: java.util.function.Predicate bootstrap$(org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution,java.lang.String)>(v, 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 = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(null);
if v != null goto label;
v = v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.sink.Sink sink>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.sink.Sink: java.util.Set capabilities()>();
v = <org.finos.legend.engine.persistence.components.util.Capability: org.finos.legend.engine.persistence.components.util.Capability ADD_COLUMN>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: java.util.Set schemaEvolutionCapabilitySet>;
v = <org.finos.legend.engine.persistence.components.util.SchemaEvolutionCapability: org.finos.legend.engine.persistence.components.util.SchemaEvolutionCapability ADD_COLUMN>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Field: boolean nullable()>();
if v == 0 goto label;
v = <org.finos.legend.engine.persistence.components.logicalplan.operations.AlterAbstract$AlterOperation: org.finos.legend.engine.persistence.components.logicalplan.operations.AlterAbstract$AlterOperation ADD>;
v = staticinvoke <java.util.Optional: java.util.Optional empty()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.operations.Alter: org.finos.legend.engine.persistence.components.logicalplan.operations.Alter of(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,org.finos.legend.engine.persistence.components.logicalplan.operations.AlterAbstract$AlterOperation,org.finos.legend.engine.persistence.components.logicalplan.datasets.Field,java.util.Optional)>(v, v, v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = new org.finos.legend.engine.persistence.components.schemaevolution.IncompatibleSchemaChangeException;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Non-nullable field \"%s\" in staging dataset cannot be added, as it is backward-incompatible change.", v);
specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.IncompatibleSchemaChangeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new org.finos.legend.engine.persistence.components.schemaevolution.IncompatibleSchemaChangeException;
v = newarray (java.lang.Object)[1];
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Field \"%s\" in staging dataset does not exist in main dataset. Couldn\'t add column since sink/user capabilities do not permit operation.", v);
specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.IncompatibleSchemaChangeException: void <init>(java.lang.String)>(v);
throw v;
label:
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.Field: org.finos.legend.engine.persistence.components.logicalplan.datasets.FieldType type()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.FieldType: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
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 = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.FieldType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType dataType()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.sink.Sink sink>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.sink.Sink: java.util.Set capabilities()>();
v = <org.finos.legend.engine.persistence.components.util.Capability: org.finos.legend.engine.persistence.components.util.Capability IMPLICIT_DATA_TYPE_CONVERSION>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.sink.Sink sink>;
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 = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.FieldType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType dataType()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.sink.Sink: boolean supportsImplicitMapping(org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType,org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType)>(v, v);
if v == 0 goto label;
v = v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.sink.Sink sink>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.sink.Sink: org.finos.legend.engine.persistence.components.logicalplan.datasets.Field evolveFieldLength(org.finos.legend.engine.persistence.components.logicalplan.datasets.Field,org.finos.legend.engine.persistence.components.logicalplan.datasets.Field)>(v, v);
specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: void evolveDataType(org.finos.legend.engine.persistence.components.logicalplan.datasets.Field,org.finos.legend.engine.persistence.components.logicalplan.datasets.Field,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,java.util.List,java.util.Set)>(v, v, v, v, v);
goto label;
label:
v = v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.sink.Sink sink>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.sink.Sink: java.util.Set capabilities()>();
v = <org.finos.legend.engine.persistence.components.util.Capability: org.finos.legend.engine.persistence.components.util.Capability EXPLICIT_DATA_TYPE_CONVERSION>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: java.util.Set schemaEvolutionCapabilitySet>;
v = <org.finos.legend.engine.persistence.components.util.SchemaEvolutionCapability: org.finos.legend.engine.persistence.components.util.SchemaEvolutionCapability DATA_TYPE_CONVERSION>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.sink.Sink sink>;
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 = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.FieldType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType dataType()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.sink.Sink: boolean supportsExplicitMapping(org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType,org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType)>(v, v);
if v == 0 goto label;
v = v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.sink.Sink sink>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.sink.Sink: org.finos.legend.engine.persistence.components.logicalplan.datasets.Field evolveFieldLength(org.finos.legend.engine.persistence.components.logicalplan.datasets.Field,org.finos.legend.engine.persistence.components.logicalplan.datasets.Field)>(v, v);
specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: void evolveDataType(org.finos.legend.engine.persistence.components.logicalplan.datasets.Field,org.finos.legend.engine.persistence.components.logicalplan.datasets.Field,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,java.util.List,java.util.Set)>(v, v, v, v, v);
goto label;
label:
v = new org.finos.legend.engine.persistence.components.schemaevolution.IncompatibleSchemaChangeException;
v = newarray (java.lang.Object)[2];
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 = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.FieldType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType dataType()>();
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Breaking schema change from datatype \"%s\" to \"%s\"", v);
specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.IncompatibleSchemaChangeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new org.finos.legend.engine.persistence.components.schemaevolution.IncompatibleSchemaChangeException;
v = newarray (java.lang.Object)[2];
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 = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.FieldType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType dataType()>();
v[1] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Explicit data type conversion from \"%s\" to \"%s\" couldn\'t be performed since sink/user capability does not allow it", v);
specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.IncompatibleSchemaChangeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.sink.Sink sink>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.sink.Sink: org.finos.legend.engine.persistence.components.logicalplan.datasets.Field evolveFieldLength(org.finos.legend.engine.persistence.components.logicalplan.datasets.Field,org.finos.legend.engine.persistence.components.logicalplan.datasets.Field)>(v, v);
specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: void evolveDataType(org.finos.legend.engine.persistence.components.logicalplan.datasets.Field,org.finos.legend.engine.persistence.components.logicalplan.datasets.Field,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,java.util.List,java.util.Set)>(v, v, v, v, v);
goto label;
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Field: boolean nullable()>();
if v != 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Field: boolean nullable()>();
if v == 0 goto label;
v = v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.sink.Sink sink>;
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: java.util.Optional length()>();
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: java.util.Optional scale()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.sink.Sink: org.finos.legend.engine.persistence.components.logicalplan.datasets.Field createNewField(org.finos.legend.engine.persistence.components.logicalplan.datasets.Field,org.finos.legend.engine.persistence.components.logicalplan.datasets.Field,java.util.Optional,java.util.Optional)>(v, v, v, v);
specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: void evolveDataType(org.finos.legend.engine.persistence.components.logicalplan.datasets.Field,org.finos.legend.engine.persistence.components.logicalplan.datasets.Field,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,java.util.List,java.util.Set)>(v, v, v, v, v);
goto label;
label:
return v;
}
private void evolveDataType(org.finos.legend.engine.persistence.components.logicalplan.datasets.Field, org.finos.legend.engine.persistence.components.logicalplan.datasets.Field, org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset, java.util.List, java.util.Set)
{
org.finos.legend.engine.persistence.components.logicalplan.operations.AlterAbstract$AlterOperation v;
boolean v, v, v, v, v, v, v, v, v, v;
java.util.Set v, v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Field v, v;
java.util.List v;
java.util.Optional v, v, v, v, v;
org.finos.legend.engine.persistence.components.util.SchemaEvolutionCapability v, v;
java.lang.Object[] v, v;
org.finos.legend.engine.persistence.components.util.Capability v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.FieldType v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v;
java.lang.String v, v, v, v;
org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution v;
org.finos.legend.engine.persistence.components.sink.Sink v, v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Alter v;
org.finos.legend.engine.persistence.components.schemaevolution.IncompatibleSchemaChangeException v, v;
v := @this: org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.datasets.Field;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.datasets.Field;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset;
v := @parameter: java.util.List;
v := @parameter: java.util.Set;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Field: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
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: java.util.Optional length()>();
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: java.util.Optional length()>();
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v != 0 goto label;
v = v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.sink.Sink sink>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.sink.Sink: java.util.Set capabilities()>();
v = <org.finos.legend.engine.persistence.components.util.Capability: org.finos.legend.engine.persistence.components.util.Capability DATA_TYPE_LENGTH_CHANGE>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: java.util.Set schemaEvolutionCapabilitySet>;
v = <org.finos.legend.engine.persistence.components.util.SchemaEvolutionCapability: org.finos.legend.engine.persistence.components.util.SchemaEvolutionCapability DATA_TYPE_LENGTH_CHANGE>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
label:
v = new org.finos.legend.engine.persistence.components.schemaevolution.IncompatibleSchemaChangeException;
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Field: java.lang.String name()>();
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Data type length changes couldn\'t be performed on column \"%s\" since sink/user capability does not allow it", v);
specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.IncompatibleSchemaChangeException: void <init>(java.lang.String)>(v);
throw v;
label:
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: java.util.Optional scale()>();
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: java.util.Optional scale()>();
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
if v != 0 goto label;
v = v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.sink.Sink sink>;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.sink.Sink: java.util.Set capabilities()>();
v = <org.finos.legend.engine.persistence.components.util.Capability: org.finos.legend.engine.persistence.components.util.Capability DATA_TYPE_SCALE_CHANGE>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: java.util.Set schemaEvolutionCapabilitySet>;
v = <org.finos.legend.engine.persistence.components.util.SchemaEvolutionCapability: org.finos.legend.engine.persistence.components.util.SchemaEvolutionCapability DATA_TYPE_SCALE_CHANGE>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
label:
v = new org.finos.legend.engine.persistence.components.schemaevolution.IncompatibleSchemaChangeException;
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Field: java.lang.String name()>();
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Data type scale changes couldn\'t be performed on column \"%s\" since sink/user capability does not allow it", v);
specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.IncompatibleSchemaChangeException: void <init>(java.lang.String)>(v);
throw v;
label:
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.Field: org.finos.legend.engine.persistence.components.logicalplan.datasets.FieldType type()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.FieldType: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = <org.finos.legend.engine.persistence.components.logicalplan.operations.AlterAbstract$AlterOperation: org.finos.legend.engine.persistence.components.logicalplan.operations.AlterAbstract$AlterOperation CHANGE_DATATYPE>;
v = staticinvoke <java.util.Optional: java.util.Optional empty()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.operations.Alter: org.finos.legend.engine.persistence.components.logicalplan.operations.Alter of(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,org.finos.legend.engine.persistence.components.logicalplan.operations.AlterAbstract$AlterOperation,org.finos.legend.engine.persistence.components.logicalplan.datasets.Field,java.util.Optional)>(v, v, v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Field: boolean nullable()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Field: boolean nullable()>();
if v == v goto label;
specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: void alterColumnWithNullable(org.finos.legend.engine.persistence.components.logicalplan.datasets.Field,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,java.util.List,java.util.Set)>(v, v, v, v);
label:
return;
}
private void alterColumnWithNullable(org.finos.legend.engine.persistence.components.logicalplan.datasets.Field, org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset, java.util.List, java.util.Set)
{
org.finos.legend.engine.persistence.components.util.SchemaEvolutionCapability v;
org.finos.legend.engine.persistence.components.logicalplan.operations.AlterAbstract$AlterOperation v;
java.lang.Object[] v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v;
java.lang.String v, v;
boolean v, v;
org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution v;
java.util.Set v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Field v;
java.util.List v;
org.finos.legend.engine.persistence.components.logicalplan.operations.Alter v;
java.util.Optional v;
org.finos.legend.engine.persistence.components.schemaevolution.IncompatibleSchemaChangeException v;
v := @this: org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.datasets.Field;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset;
v := @parameter: java.util.List;
v := @parameter: java.util.Set;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Field: boolean primaryKey()>();
if v != 0 goto label;
v = v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: java.util.Set schemaEvolutionCapabilitySet>;
v = <org.finos.legend.engine.persistence.components.util.SchemaEvolutionCapability: org.finos.legend.engine.persistence.components.util.SchemaEvolutionCapability COLUMN_NULLABILITY_CHANGE>;
v = interfaceinvoke v.<java.util.Set: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.finos.legend.engine.persistence.components.logicalplan.operations.AlterAbstract$AlterOperation: org.finos.legend.engine.persistence.components.logicalplan.operations.AlterAbstract$AlterOperation NULLABLE_COLUMN>;
v = staticinvoke <java.util.Optional: java.util.Optional empty()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.operations.Alter: org.finos.legend.engine.persistence.components.logicalplan.operations.Alter of(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,org.finos.legend.engine.persistence.components.logicalplan.operations.AlterAbstract$AlterOperation,org.finos.legend.engine.persistence.components.logicalplan.datasets.Field,java.util.Optional)>(v, v, v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
goto label;
label:
v = new org.finos.legend.engine.persistence.components.schemaevolution.IncompatibleSchemaChangeException;
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Field: java.lang.String name()>();
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("Column \"%s\" couldn\'t be made nullable since user capability does not allow it", v);
specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.IncompatibleSchemaChangeException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
private java.util.List mainToStagingTableColumnMatch(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset, org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition, java.util.Set, java.util.Set)
{
java.util.function.Function v;
java.util.ArrayList v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v;
java.lang.String v;
java.util.stream.Collector v, v;
boolean v, v, v;
java.util.Iterator v;
java.util.function.Predicate v;
org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution v;
java.util.Set v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Field v;
java.util.List v, v;
java.util.stream.Stream v, v, v, v;
java.lang.Object v, v, v;
v := @this: org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition;
v := @parameter: java.util.Set;
v := @parameter: java.util.Set;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
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 = 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.schemaevolution.SchemaEvolution$name__9: 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 = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$lambda_mainToStagingTableColumnMatch_4__10: java.util.function.Predicate bootstrap$(org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution,java.util.Set)>(v, 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 = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Field: java.lang.String name()>();
v = specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: boolean collectionContainsElement(java.util.Collection,java.lang.String)>(v, v);
if v != 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Field: boolean nullable()>();
if v != 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.Field: org.finos.legend.engine.persistence.components.logicalplan.datasets.Field withNullable(boolean)>(1);
specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: void alterColumnWithNullable(org.finos.legend.engine.persistence.components.logicalplan.datasets.Field,org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset,java.util.List,java.util.Set)>(v, v, v, v);
goto label;
label:
return v;
}
private org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition evolveSchemaDefinition(org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition, java.util.Set)
{
java.util.function.Predicate v;
org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution v;
java.util.Set v;
java.util.function.Function v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition v, v;
java.util.List v;
java.util.stream.Stream v, v, v, v;
java.lang.Object v, v;
java.util.stream.Collector v, v;
v := @this: org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution;
v := @parameter: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition;
v := @parameter: java.util.Set;
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$name__11: 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.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.schemaevolution.SchemaEvolution$lambda_evolveSchemaDefinition_5__12: java.util.function.Predicate bootstrap$(org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution,java.util.Set)>(v, 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);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition withFields(java.lang.Iterable)>(v);
return v;
}
private boolean areEqual(java.lang.String, java.lang.String)
{
org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution v;
java.lang.String v, v;
boolean v, v;
v := @this: org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: boolean ignoreCase>;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
label:
return v;
}
private boolean areEqual(java.util.Set, java.util.Set)
{
java.util.function.Function v, v;
java.util.stream.Collector v, v;
boolean v, v, v;
org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution v;
java.util.Set v, v;
java.util.stream.Stream v, v, v, v;
java.lang.Object v, v;
v := @this: org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution;
v := @parameter: java.util.Set;
v := @parameter: java.util.Set;
v = v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: boolean ignoreCase>;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$toUpperCase__13: 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 = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$toUpperCase__14: 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 = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
return v;
label:
v = staticinvoke <java.util.Objects: boolean equals(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
private boolean collectionContainsElement(java.util.Collection, java.lang.String)
{
java.util.stream.Stream v;
java.util.function.Predicate v;
java.util.Collection v;
org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution v;
java.lang.String v;
boolean v, v;
v := @this: org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution;
v := @parameter: java.util.Collection;
v := @parameter: java.lang.String;
v = v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: boolean ignoreCase>;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Collection: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$lambda_collectionContainsElement_6__15: java.util.function.Predicate bootstrap$(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: boolean anyMatch(java.util.function.Predicate)>(v);
goto label;
label:
v = interfaceinvoke v.<java.util.Collection: boolean contains(java.lang.Object)>(v);
label:
return v;
}
static void <clinit>()
{
org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$1 v;
org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$2 v;
org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$3 v;
org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$4 v;
org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$5 v;
org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$6 v;
v = new org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$1;
specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$1: void <init>()>();
<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.ingestmode.IngestModeVisitor STAGING_TABLE_FIELDS_TO_IGNORE> = v;
v = new org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$2;
specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$2: void <init>()>();
<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.ingestmode.IngestModeVisitor MAIN_TABLE_FIELDS_TO_IGNORE> = v;
v = new org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$3;
specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$3: void <init>()>();
<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.ingestmode.transactionmilestoning.TransactionMilestoningVisitor TRANSACTION_FIELDS_TO_IGNORE> = v;
v = new org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$4;
specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$4: void <init>()>();
<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.ingestmode.validitymilestoning.ValidityMilestoningVisitor VALIDITY_FIELDS_TO_IGNORE> = v;
v = new org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$5;
specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$5: void <init>()>();
<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.ingestmode.validitymilestoning.ValidityMilestoningVisitor VALIDITY_FIELDS_TO_IGNORE_IN_STAGING> = v;
v = new org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$6;
specialinvoke v.<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution$6: void <init>()>();
<org.finos.legend.engine.persistence.components.schemaevolution.SchemaEvolution: org.finos.legend.engine.persistence.components.ingestmode.digest.DigestGenStrategyVisitor EXTRACT_DIGEST_FIELD_TO_IGNORE> = v;
return;
}
}