public class org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink extends org.finos.legend.engine.persistence.components.relational.ansi.AnsiSqlSink
{
private static final org.slf4j.Logger LOGGER;
private static final org.finos.legend.engine.persistence.components.relational.RelationalSink INSTANCE;
private static final java.util.Set CAPABILITIES;
private static final java.util.Map LOGICAL_PLAN_VISITOR_BY_CLASS;
private static final java.util.Map IMPLICIT_DATA_TYPE_MAPPING;
private static final java.util.Map EXPLICIT_DATA_TYPE_MAPPING;
private static final java.lang.String LOADED;
private static final java.lang.String FILE;
private static final java.lang.String BULK_LOAD_STATUS;
private static final java.lang.String ROWS_LOADED;
private static final java.lang.String ERRORS_SEEN;
private static final java.lang.String FIRST_ERROR;
private static final java.lang.String FIRST_ERROR_COLUMN_NAME;
private static final java.lang.String ERROR;
protected static final java.lang.String FILE_WITH_ERROR;
protected static final java.lang.String ROW_NUMBER;
private static final java.lang.String LINE;
private static final java.lang.String CHARACTER;
private static final java.lang.String CATEGORY;
private static final java.lang.String COLUMN_NAME;
private static final java.lang.String REJECTED_RECORD;
private static final java.lang.String FIELD_DELIMITER;
private static final java.lang.String ESCAPE;
private static final java.lang.String FIELD_OPTIONALLY_ENCLOSED_BY;
private static final java.lang.String CATEGORY_CONVERSION;
private static final java.lang.String CATEGORY_CHECK_CONSTRAINT;
private static final java.lang.String CATEGORY_OTHER;
public static org.finos.legend.engine.persistence.components.relational.RelationalSink get()
{
org.finos.legend.engine.persistence.components.relational.RelationalSink v;
v = <org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: org.finos.legend.engine.persistence.components.relational.RelationalSink INSTANCE>;
return v;
}
public static java.sql.Connection createConnection(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String)
{
java.sql.Connection v;
java.util.Properties v;
java.lang.IllegalArgumentException v;
java.sql.SQLException v;
java.lang.String v, v, v, v, v, v;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = new java.util.Properties;
specialinvoke v.<java.util.Properties: void <init>()>();
virtualinvoke v.<java.util.Properties: java.lang.Object put(java.lang.Object,java.lang.Object)>("user", v);
virtualinvoke v.<java.util.Properties: java.lang.Object put(java.lang.Object,java.lang.Object)>("password", v);
virtualinvoke v.<java.util.Properties: java.lang.Object put(java.lang.Object,java.lang.Object)>("account", v);
virtualinvoke v.<java.util.Properties: java.lang.Object put(java.lang.Object,java.lang.Object)>("db", v);
virtualinvoke v.<java.util.Properties: java.lang.Object put(java.lang.Object,java.lang.Object)>("schema", v);
label:
v = staticinvoke <java.sql.DriverManager: java.sql.Connection getConnection(java.lang.String,java.util.Properties)>(v, v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.Throwable)>(v);
throw v;
catch java.sql.SQLException from label to label with label;
}
private void <init>()
{
java.util.Set v;
org.finos.legend.engine.persistence.components.relational.RelationalSink$DatasetExists v;
java.util.Map v, v, v;
org.finos.legend.engine.persistence.components.relational.RelationalSink$ConstructDatasetFromDatabase v;
org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink v;
org.finos.legend.engine.persistence.components.relational.RelationalSink$ValidateMainDatasetSchema v;
v := @this: org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink;
v = <org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Set CAPABILITIES>;
v = <org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Map IMPLICIT_DATA_TYPE_MAPPING>;
v = <org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Map EXPLICIT_DATA_TYPE_MAPPING>;
v = <org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Map LOGICAL_PLAN_VISITOR_BY_CLASS>;
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink$lambda_new_0__11: org.finos.legend.engine.persistence.components.relational.RelationalSink$DatasetExists bootstrap$()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink$lambda_new_1__12: org.finos.legend.engine.persistence.components.relational.RelationalSink$ValidateMainDatasetSchema bootstrap$()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink$lambda_new_2__13: org.finos.legend.engine.persistence.components.relational.RelationalSink$ConstructDatasetFromDatabase bootstrap$()>();
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.ansi.AnsiSqlSink: void <init>(java.util.Set,java.util.Map,java.util.Map,java.lang.String,java.util.Map,org.finos.legend.engine.persistence.components.relational.RelationalSink$DatasetExists,org.finos.legend.engine.persistence.components.relational.RelationalSink$ValidateMainDatasetSchema,org.finos.legend.engine.persistence.components.relational.RelationalSink$ConstructDatasetFromDatabase)>(v, v, v, "\"%s\"", v, v, v, v);
return;
}
public org.finos.legend.engine.persistence.components.executor.Executor getRelationalExecutor(org.finos.legend.engine.persistence.components.relational.api.RelationalConnection)
{
java.lang.UnsupportedOperationException v;
java.sql.Connection v;
org.finos.legend.engine.persistence.components.relational.jdbc.JdbcHelper v;
org.finos.legend.engine.persistence.components.relational.executor.RelationalExecutor v;
org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink v;
boolean v;
org.finos.legend.engine.persistence.components.relational.api.RelationalConnection v;
v := @this: org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink;
v := @parameter: org.finos.legend.engine.persistence.components.relational.api.RelationalConnection;
v = v instanceof org.finos.legend.engine.persistence.components.relational.jdbc.JdbcConnection;
if v == 0 goto label;
v = new org.finos.legend.engine.persistence.components.relational.executor.RelationalExecutor;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.jdbc.JdbcConnection: java.sql.Connection connection()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.jdbc.JdbcHelper: org.finos.legend.engine.persistence.components.relational.jdbc.JdbcHelper of(java.sql.Connection)>(v);
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.executor.RelationalExecutor: void <init>(org.finos.legend.engine.persistence.components.relational.RelationalSink,org.finos.legend.engine.persistence.components.executor.RelationalExecutionHelper)>(v, v);
return v;
label:
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("Only JdbcConnection is supported for Snowflake Sink");
throw v;
}
public java.util.Optional optimizerForCaseConversion(org.finos.legend.engine.persistence.components.relational.CaseConversion)
{
org.finos.legend.engine.persistence.components.relational.snowflake.optmizer.LowerCaseOptimizer v;
java.lang.IllegalArgumentException v;
org.finos.legend.engine.persistence.components.relational.CaseConversion v;
org.finos.legend.engine.persistence.components.relational.snowflake.optmizer.UpperCaseOptimizer v;
int[] v;
int v, v;
java.util.Optional v, v, v;
java.lang.String v;
org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink v;
v := @this: org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink;
v := @parameter: org.finos.legend.engine.persistence.components.relational.CaseConversion;
v = <org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink$1: int[] $SwitchMap$org$finos$legend$engine$persistence$components$relational$CaseConversion>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.CaseConversion: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = new org.finos.legend.engine.persistence.components.relational.snowflake.optmizer.LowerCaseOptimizer;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.optmizer.LowerCaseOptimizer: void <init>()>();
v = staticinvoke <java.util.Optional: java.util.Optional of(java.lang.Object)>(v);
return v;
label:
v = new org.finos.legend.engine.persistence.components.relational.snowflake.optmizer.UpperCaseOptimizer;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.optmizer.UpperCaseOptimizer: void <init>()>();
v = staticinvoke <java.util.Optional: java.util.Optional of(java.lang.Object)>(v);
return v;
label:
v = staticinvoke <java.util.Optional: java.util.Optional empty()>();
return v;
label:
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (org.finos.legend.engine.persistence.components.relational.CaseConversion)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Unrecognized case conversion: \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
}
public java.util.List performDryRun(org.finos.legend.engine.persistence.components.common.Datasets, org.finos.legend.engine.persistence.components.transformer.Transformer, org.finos.legend.engine.persistence.components.executor.Executor, org.finos.legend.engine.persistence.components.relational.SqlPlan, java.util.Map, int, org.finos.legend.engine.persistence.components.relational.CaseConversion)
{
org.finos.legend.engine.persistence.components.executor.Executor v;
org.finos.legend.engine.persistence.components.common.Datasets v;
org.finos.legend.engine.persistence.components.relational.SqlPlan v;
org.finos.legend.engine.persistence.components.relational.CaseConversion v;
java.lang.Exception v;
java.util.List v, v, v;
java.util.Map v;
int v;
org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink v;
org.finos.legend.engine.persistence.components.transformer.Transformer v;
boolean v;
v := @this: org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink;
v := @parameter: org.finos.legend.engine.persistence.components.common.Datasets;
v := @parameter: org.finos.legend.engine.persistence.components.transformer.Transformer;
v := @parameter: org.finos.legend.engine.persistence.components.executor.Executor;
v := @parameter: org.finos.legend.engine.persistence.components.relational.SqlPlan;
v := @parameter: java.util.Map;
v := @parameter: int;
v := @parameter: org.finos.legend.engine.persistence.components.relational.CaseConversion;
label:
if v == null goto label;
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v == 0 goto label;
label:
v = specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.List performDryRunWithValidationMode(org.finos.legend.engine.persistence.components.common.Datasets,org.finos.legend.engine.persistence.components.executor.Executor,org.finos.legend.engine.persistence.components.relational.SqlPlan,int)>(v, v, v, v);
label:
return v;
label:
v = specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.List performDryRunWithValidationQueries(org.finos.legend.engine.persistence.components.common.Datasets,org.finos.legend.engine.persistence.components.executor.Executor,org.finos.legend.engine.persistence.components.relational.SqlPlan,java.util.Map,int,org.finos.legend.engine.persistence.components.relational.CaseConversion)>(v, v, v, v, v, v);
label:
return v;
label:
v := @caughtexception;
v = specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.List parseSnowflakeExceptions(java.lang.Exception)>(v);
return v;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
}
private java.util.List parseSnowflakeExceptions(java.lang.Exception)
{
org.finos.legend.engine.persistence.components.relational.api.ErrorCategory v, v, v;
org.finos.legend.engine.persistence.components.relational.api.DataError v, v, v;
java.util.Map v;
java.lang.String v, v, v;
org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink v;
boolean v, v, v;
org.finos.legend.engine.persistence.components.relational.api.DataError$Builder v, v, v, v, v, v, v, v, v, v;
java.lang.Exception v;
java.util.List v, v, v;
java.util.Optional v, v, v;
v := @this: org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink;
v := @parameter: java.lang.Exception;
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
v = virtualinvoke v.<java.lang.Exception: java.lang.String getMessage()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.api.utils.IngestionUtils: java.lang.String removeLineBreaks(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("Error parsing");
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.api.DataError: org.finos.legend.engine.persistence.components.relational.api.DataError$Builder builder()>();
v = <org.finos.legend.engine.persistence.components.relational.api.ErrorCategory: org.finos.legend.engine.persistence.components.relational.api.ErrorCategory PARSING_ERROR>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.DataError$Builder: org.finos.legend.engine.persistence.components.relational.api.DataError$Builder errorCategory(org.finos.legend.engine.persistence.components.relational.api.ErrorCategory)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.DataError$Builder: org.finos.legend.engine.persistence.components.relational.api.DataError$Builder errorMessage(java.lang.String)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.DataError$Builder: org.finos.legend.engine.persistence.components.relational.api.DataError build()>();
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
return v;
label:
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("file");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("was not found");
if v == 0 goto label;
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.api.utils.IngestionUtils: java.util.Optional findToken(java.lang.String,java.lang.String,int)>(v, "file \'(.*)\' was not found", 1);
v = staticinvoke <java.util.Optional: java.util.Optional empty()>();
v = staticinvoke <java.util.Optional: java.util.Optional empty()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Map buildErrorDetails(java.util.Optional,java.util.Optional,java.util.Optional)>(v, v, v);
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.api.DataError: org.finos.legend.engine.persistence.components.relational.api.DataError$Builder builder()>();
v = <org.finos.legend.engine.persistence.components.relational.api.ErrorCategory: org.finos.legend.engine.persistence.components.relational.api.ErrorCategory FILE_NOT_FOUND>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.DataError$Builder: org.finos.legend.engine.persistence.components.relational.api.DataError$Builder errorCategory(org.finos.legend.engine.persistence.components.relational.api.ErrorCategory)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.DataError$Builder: org.finos.legend.engine.persistence.components.relational.api.DataError$Builder errorMessage(java.lang.String)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.DataError$Builder: org.finos.legend.engine.persistence.components.relational.api.DataError$Builder putAllErrorDetails(java.util.Map)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.DataError$Builder: org.finos.legend.engine.persistence.components.relational.api.DataError build()>();
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
return v;
label:
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.api.DataError: org.finos.legend.engine.persistence.components.relational.api.DataError$Builder builder()>();
v = <org.finos.legend.engine.persistence.components.relational.api.ErrorCategory: org.finos.legend.engine.persistence.components.relational.api.ErrorCategory UNKNOWN>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.DataError$Builder: org.finos.legend.engine.persistence.components.relational.api.DataError$Builder errorCategory(org.finos.legend.engine.persistence.components.relational.api.ErrorCategory)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.DataError$Builder: org.finos.legend.engine.persistence.components.relational.api.DataError$Builder errorMessage(java.lang.String)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.DataError$Builder: org.finos.legend.engine.persistence.components.relational.api.DataError build()>();
v = staticinvoke <java.util.Collections: java.util.List singletonList(java.lang.Object)>(v);
return v;
}
private java.util.List performDryRunWithValidationMode(org.finos.legend.engine.persistence.components.common.Datasets, org.finos.legend.engine.persistence.components.executor.Executor, org.finos.legend.engine.persistence.components.relational.SqlPlan, int)
{
org.finos.legend.engine.persistence.components.relational.api.ErrorCategory v;
org.finos.legend.engine.persistence.components.common.Datasets v;
org.finos.legend.engine.persistence.components.relational.api.DataError v;
java.util.Map v;
boolean v, v;
org.finos.legend.engine.persistence.components.relational.api.DataError$Builder v, v, v, v, v;
java.util.List v, v;
java.util.Optional v, v, v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.relational.SqlPlan v;
java.util.function.Function v;
java.util.function.Supplier v;
java.util.ArrayList v;
int v;
org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink v;
java.util.Iterator v;
org.finos.legend.engine.persistence.components.executor.Executor v;
java.util.function.Consumer v, v;
java.lang.Object v, v, v;
v := @this: org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink;
v := @parameter: org.finos.legend.engine.persistence.components.common.Datasets;
v := @parameter: org.finos.legend.engine.persistence.components.executor.Executor;
v := @parameter: org.finos.legend.engine.persistence.components.relational.SqlPlan;
v := @parameter: int;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.executor.Executor: java.util.List executePhysicalPlanAndGetResults(org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlan,int)>(v, v);
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.sql.TabularData: java.util.List getData()>();
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.relational.snowflake.SnowflakeSink: java.util.Optional getString(java.util.Map,java.lang.String)>(v, "FILE");
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Optional getString(java.util.Map,java.lang.String)>(v, "COLUMN_NAME");
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Optional getLong(java.util.Map,java.lang.String)>(v, "ROW_NUMBER");
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Map buildErrorDetails(java.util.Optional,java.util.Optional,java.util.Optional)>(v, v, v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Optional getLong(java.util.Map,java.lang.String)>(v, "LINE");
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink$lambda_performDryRunWithValidationMode_3__14: java.util.function.Consumer bootstrap$(java.util.Map)>(v);
virtualinvoke v.<java.util.Optional: void ifPresent(java.util.function.Consumer)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Optional getLong(java.util.Map,java.lang.String)>(v, "CHARACTER");
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink$lambda_performDryRunWithValidationMode_4__15: java.util.function.Consumer bootstrap$(java.util.Map)>(v);
virtualinvoke v.<java.util.Optional: void ifPresent(java.util.function.Consumer)>(v);
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.api.DataError: org.finos.legend.engine.persistence.components.relational.api.DataError$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Optional getString(java.util.Map,java.lang.String)>(v, "ERROR");
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink$init__16: 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.relational.api.DataError$Builder: org.finos.legend.engine.persistence.components.relational.api.DataError$Builder errorMessage(java.lang.String)>(v);
v = specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: org.finos.legend.engine.persistence.components.relational.api.ErrorCategory parseSnowflakeErrorCategory(java.util.Map)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.DataError$Builder: org.finos.legend.engine.persistence.components.relational.api.DataError$Builder errorCategory(org.finos.legend.engine.persistence.components.relational.api.ErrorCategory)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.DataError$Builder: org.finos.legend.engine.persistence.components.relational.api.DataError$Builder putAllErrorDetails(java.util.Map)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Optional getString(java.util.Map,java.lang.String)>(v, "REJECTED_RECORD");
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink$lambda_performDryRunWithValidationMode_5__17: java.util.function.Function bootstrap$(org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink,org.finos.legend.engine.persistence.components.common.Datasets)>(v, v);
v = virtualinvoke v.<java.util.Optional: java.util.Optional map(java.util.function.Function)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.DataError$Builder: org.finos.legend.engine.persistence.components.relational.api.DataError$Builder errorRecord(java.util.Optional)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.DataError$Builder: org.finos.legend.engine.persistence.components.relational.api.DataError build()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
}
private org.finos.legend.engine.persistence.components.relational.api.ErrorCategory parseSnowflakeErrorCategory(java.util.Map)
{
org.finos.legend.engine.persistence.components.relational.api.ErrorCategory v, v, v, v, v, v;
java.util.function.Supplier v, v;
java.util.Map v;
org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink v;
boolean v, v, v, v, v, v;
java.util.Optional v, v;
java.lang.Object v, v;
v := @this: org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink;
v := @parameter: java.util.Map;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Optional getString(java.util.Map,java.lang.String)>(v, "CATEGORY");
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink$init__18: 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.relational.snowflake.SnowflakeSink: java.util.Optional getString(java.util.Map,java.lang.String)>(v, "ERROR");
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink$init__19: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("conversion");
if v == 0 goto label;
v = <org.finos.legend.engine.persistence.components.relational.api.ErrorCategory: org.finos.legend.engine.persistence.components.relational.api.ErrorCategory TYPE_CONVERSION>;
return v;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("check_constraint");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("NULL result in a non-nullable column");
if v == 0 goto label;
v = <org.finos.legend.engine.persistence.components.relational.api.ErrorCategory: org.finos.legend.engine.persistence.components.relational.api.ErrorCategory CHECK_NULL_CONSTRAINT>;
return v;
label:
v = <org.finos.legend.engine.persistence.components.relational.api.ErrorCategory: org.finos.legend.engine.persistence.components.relational.api.ErrorCategory CHECK_OTHER_CONSTRAINT>;
return v;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("other");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("file");
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("was not found");
if v == 0 goto label;
v = <org.finos.legend.engine.persistence.components.relational.api.ErrorCategory: org.finos.legend.engine.persistence.components.relational.api.ErrorCategory FILE_NOT_FOUND>;
return v;
label:
v = <org.finos.legend.engine.persistence.components.relational.api.ErrorCategory: org.finos.legend.engine.persistence.components.relational.api.ErrorCategory UNKNOWN>;
return v;
label:
v = <org.finos.legend.engine.persistence.components.relational.api.ErrorCategory: org.finos.legend.engine.persistence.components.relational.api.ErrorCategory UNKNOWN>;
return v;
}
public java.lang.String parseSnowflakeRejectedRecord(org.finos.legend.engine.persistence.components.common.Datasets, java.lang.String) throws java.io.IOException
{
org.finos.legend.engine.persistence.components.common.Datasets v;
org.apache.commons.csv.CSVFormat v, v, v;
java.util.Map v;
org.apache.commons.csv.CSVParser v;
java.util.stream.Collector v;
boolean v, v, v, v;
java.util.List v, v;
java.util.stream.Stream v, v;
java.util.Optional v, v, v;
java.util.HashMap v;
java.util.function.Function v;
java.util.function.Supplier v, v, v;
int v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaReference v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v;
java.lang.String v, v, v;
org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink v;
java.util.Iterator v;
com.fasterxml.jackson.databind.ObjectMapper v;
char v;
java.io.StringReader v;
java.lang.Object v, v, v, v, v, v;
v := @this: org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink;
v := @parameter: org.finos.legend.engine.persistence.components.common.Datasets;
v := @parameter: java.lang.String;
v = specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Map getFormatOptions(org.finos.legend.engine.persistence.components.common.Datasets)>(v);
v = <org.apache.commons.csv.CSVFormat: org.apache.commons.csv.CSVFormat DEFAULT>;
v = virtualinvoke v.<org.apache.commons.csv.CSVFormat: org.apache.commons.csv.CSVFormat withQuote(java.lang.Character)>(null);
v = virtualinvoke v.<org.apache.commons.csv.CSVFormat: org.apache.commons.csv.CSVFormat withEscape(java.lang.Character)>(null);
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>("FIELD_DELIMITER");
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Optional getChar(java.util.Map,java.lang.String)>(v, "FIELD_DELIMITER");
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink$init__23: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
v = virtualinvoke v.<java.lang.Character: char charValue()>();
v = virtualinvoke v.<org.apache.commons.csv.CSVFormat: org.apache.commons.csv.CSVFormat withDelimiter(char)>(v);
label:
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>("ESCAPE");
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Optional getChar(java.util.Map,java.lang.String)>(v, "ESCAPE");
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink$init__22: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
v = virtualinvoke v.<org.apache.commons.csv.CSVFormat: org.apache.commons.csv.CSVFormat withEscape(java.lang.Character)>(v);
label:
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>("FIELD_OPTIONALLY_ENCLOSED_BY");
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Optional getChar(java.util.Map,java.lang.String)>(v, "FIELD_OPTIONALLY_ENCLOSED_BY");
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink$init__21: java.util.function.Supplier bootstrap$()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElseThrow(java.util.function.Supplier)>(v);
v = virtualinvoke v.<org.apache.commons.csv.CSVFormat: org.apache.commons.csv.CSVFormat withQuote(java.lang.Character)>(v);
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.common.Datasets: 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.relational.snowflake.SnowflakeSink$fieldName__20: 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 = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = new java.io.StringReader;
specialinvoke v.<java.io.StringReader: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.commons.csv.CSVFormat: org.apache.commons.csv.CSVParser parse(java.io.Reader)>(v);
v = virtualinvoke v.<org.apache.commons.csv.CSVParser: java.util.List getRecords()>();
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 = 0;
label:
v = virtualinvoke v.<org.apache.commons.csv.CSVRecord: int size()>();
if v >= v goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<org.apache.commons.csv.CSVRecord: java.lang.String get(int)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v + 1;
goto label;
label:
v = new com.fasterxml.jackson.databind.ObjectMapper;
specialinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: void <init>()>();
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: java.lang.String writeValueAsString(java.lang.Object)>(v);
return v;
}
private java.util.Map getFormatOptions(org.finos.legend.engine.persistence.components.common.Datasets)
{
org.finos.legend.engine.persistence.components.common.FileFormatType v, v;
java.lang.IllegalStateException v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.StagedFilesDatasetProperties v, v;
org.finos.legend.engine.persistence.components.common.Datasets v;
java.util.Map v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v;
org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink v;
boolean v, v, v, v, v;
java.util.Optional v, v, v;
java.lang.Object v, v;
v := @this: org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink;
v := @parameter: org.finos.legend.engine.persistence.components.common.Datasets;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.common.Datasets: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset()>();
v = v instanceof org.finos.legend.engine.persistence.components.logicalplan.datasets.StagedFilesDataset;
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("StagedFilesDataset expected");
throw v;
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.common.Datasets: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.StagedFilesDataset: org.finos.legend.engine.persistence.components.logicalplan.datasets.StagedFilesDatasetProperties stagedFilesDatasetProperties()>();
v = v instanceof org.finos.legend.engine.persistence.components.relational.snowflake.logicalplan.datasets.SnowflakeStagedFilesDatasetProperties;
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("SnowflakeStagedFilesDatasetProperties expected");
throw v;
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.StagedFilesDataset: org.finos.legend.engine.persistence.components.logicalplan.datasets.StagedFilesDatasetProperties stagedFilesDatasetProperties()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.logicalplan.datasets.SnowflakeStagedFilesDatasetProperties: java.util.Optional fileFormat()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.logicalplan.datasets.SnowflakeStagedFilesDatasetProperties: java.util.Optional fileFormat()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = v instanceof org.finos.legend.engine.persistence.components.relational.snowflake.logicalplan.datasets.StandardFileFormat;
if v != 0 goto label;
label:
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("StandardFileFormat expected");
throw v;
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.logicalplan.datasets.SnowflakeStagedFilesDatasetProperties: java.util.Optional fileFormat()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.logicalplan.datasets.StandardFileFormat: org.finos.legend.engine.persistence.components.common.FileFormatType formatType()>();
v = <org.finos.legend.engine.persistence.components.common.FileFormatType: org.finos.legend.engine.persistence.components.common.FileFormatType CSV>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.common.FileFormatType: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>("CSV format expected");
throw v;
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.logicalplan.datasets.StandardFileFormat: java.util.Map formatOptions()>();
return v;
}
private java.util.List performDryRunWithValidationQueries(org.finos.legend.engine.persistence.components.common.Datasets, org.finos.legend.engine.persistence.components.executor.Executor, org.finos.legend.engine.persistence.components.relational.SqlPlan, java.util.Map, int, org.finos.legend.engine.persistence.components.relational.CaseConversion)
{
org.finos.legend.engine.persistence.components.common.Datasets v;
org.finos.legend.engine.persistence.components.relational.CaseConversion v;
org.finos.legend.engine.persistence.components.relational.api.DataError v;
java.util.Map v;
java.util.stream.Collector v, v;
boolean v, v, v, v;
org.finos.legend.engine.persistence.components.util.ValidationCategory[] v;
java.util.List v, v, v, v;
java.util.stream.Stream v, v, v, v;
org.finos.legend.engine.persistence.components.util.ValidationCategory v, v, v, v, v;
org.finos.legend.engine.persistence.components.relational.SqlPlan v, v;
java.util.HashMap v;
java.util.function.Function v, v;
java.util.ArrayList v, v;
int v, v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaReference v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v;
java.util.LinkedList v;
org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink v;
java.util.Iterator v, v, v;
org.finos.legend.engine.persistence.components.executor.Executor v;
java.lang.Object v, v, v, v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink;
v := @parameter: org.finos.legend.engine.persistence.components.common.Datasets;
v := @parameter: org.finos.legend.engine.persistence.components.executor.Executor;
v := @parameter: org.finos.legend.engine.persistence.components.relational.SqlPlan;
v := @parameter: java.util.Map;
v := @parameter: int;
v := @parameter: org.finos.legend.engine.persistence.components.relational.CaseConversion;
interfaceinvoke v.<org.finos.legend.engine.persistence.components.executor.Executor: void executePhysicalPlan(org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlan)>(v);
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.util.ValidationCategory: org.finos.legend.engine.persistence.components.util.ValidationCategory[] values()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = new java.util.LinkedList;
specialinvoke v.<java.util.LinkedList: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.common.Datasets: 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.relational.snowflake.SnowflakeSink$fieldName__24: 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 = <org.finos.legend.engine.persistence.components.util.ValidationCategory: org.finos.legend.engine.persistence.components.util.ValidationCategory NULL_VALUE>;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object getOrDefault(java.lang.Object,java.lang.Object)>(v, v);
v = <org.finos.legend.engine.persistence.components.util.ValidationCategory: org.finos.legend.engine.persistence.components.util.ValidationCategory TYPE_CONVERSION>;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object getOrDefault(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: int findNullValuesDataErrors(org.finos.legend.engine.persistence.components.executor.Executor,java.util.List,java.util.Map,java.util.List,org.finos.legend.engine.persistence.components.relational.CaseConversion)>(v, v, v, v, v);
v = 0 + 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()>();
interfaceinvoke v.<org.eclipse.collections.api.tuple.Pair: java.lang.Object getTwo()>();
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.executor.Executor: java.util.List executePhysicalPlanAndGetResults(org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlan)>(v);
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.sql.TabularData: java.util.List getData()>();
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 = interfaceinvoke v.<org.eclipse.collections.api.tuple.Pair: java.lang.Object getOne()>();
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink$fieldName__25: 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.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 = <org.finos.legend.engine.persistence.components.util.ValidationCategory: org.finos.legend.engine.persistence.components.util.ValidationCategory TYPE_CONVERSION>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: org.finos.legend.engine.persistence.components.relational.api.DataError constructDataError(java.util.List,java.util.Map,org.finos.legend.engine.persistence.components.util.ValidationCategory,java.lang.String,org.finos.legend.engine.persistence.components.relational.CaseConversion)>(v, v, v, v, v);
v = <org.finos.legend.engine.persistence.components.util.ValidationCategory: org.finos.legend.engine.persistence.components.util.ValidationCategory TYPE_CONVERSION>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
interfaceinvoke v.<java.util.Queue: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.List getDataErrorsWithFairDistributionAcrossCategories(int,int,java.util.Map)>(v, v, v);
return v;
}
public org.finos.legend.engine.persistence.components.relational.api.IngestorResult performBulkLoad(org.finos.legend.engine.persistence.components.common.Datasets, org.finos.legend.engine.persistence.components.executor.Executor, org.finos.legend.engine.persistence.components.relational.SqlPlan, java.util.Map, java.util.Map, java.time.Clock)
{
org.finos.legend.engine.persistence.components.common.StatisticName v, v, v;
java.lang.Integer v;
java.lang.Long v, v, v;
java.util.Map v, v;
org.finos.legend.engine.persistence.components.relational.api.IngestorResult$Builder v, v, v, v, v, v, v, v, v;
java.time.LocalDateTime v;
long v, v, v, v, v;
java.util.ArrayList v, v;
java.lang.String v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink v;
org.finos.legend.engine.persistence.components.relational.api.IngestStatus v, v;
org.finos.legend.engine.persistence.components.common.Datasets v;
boolean v, v, v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.relational.api.IngestorResult v;
java.util.List v, v;
java.util.Optional v, v, v, v, v;
org.finos.legend.engine.persistence.components.relational.SqlPlan v;
java.util.HashMap v;
org.slf4j.Logger v;
java.util.Iterator v;
org.finos.legend.engine.persistence.components.executor.Executor v;
java.time.format.DateTimeFormatter v;
java.time.Clock v;
java.lang.Object v, v, v, v, v, v, v, v;
v := @this: org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink;
v := @parameter: org.finos.legend.engine.persistence.components.common.Datasets;
v := @parameter: org.finos.legend.engine.persistence.components.executor.Executor;
v := @parameter: org.finos.legend.engine.persistence.components.relational.SqlPlan;
v := @parameter: java.util.Map;
v := @parameter: java.util.Map;
v := @parameter: java.time.Clock;
v = interfaceinvoke v.<org.finos.legend.engine.persistence.components.executor.Executor: java.util.List executePhysicalPlanAndGetResults(org.finos.legend.engine.persistence.components.physicalplan.PhysicalPlan,java.util.Map)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.sql.TabularData: java.util.List getData()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = 0L;
v = 0L;
v = 0L;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
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.relational.snowflake.SnowflakeSink: java.util.Optional getString(java.util.Map,java.lang.String)>(v, "status");
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Optional getString(java.util.Map,java.lang.String)>(v, "file");
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto 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.<java.lang.String: boolean equals(java.lang.Object)>("LOADED");
if v == 0 goto label;
v = v + 1L;
goto label;
label:
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.lang.String getErrorMessage(java.util.Map)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Optional getLong(java.util.Map,java.lang.String)>(v, "errors_seen");
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.<java.lang.Long: long longValue()>();
v = v + v;
label:
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Optional getLong(java.util.Map,java.lang.String)>(v, "rows_loaded");
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.<java.lang.Long: long longValue()>();
v = v + v;
goto label;
label:
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = <org.finos.legend.engine.persistence.components.common.StatisticName: org.finos.legend.engine.persistence.components.common.StatisticName ROWS_INSERTED>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.finos.legend.engine.persistence.components.common.StatisticName: org.finos.legend.engine.persistence.components.common.StatisticName ROWS_WITH_ERRORS>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.finos.legend.engine.persistence.components.common.StatisticName: org.finos.legend.engine.persistence.components.common.StatisticName FILES_LOADED>;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.api.IngestorResult: org.finos.legend.engine.persistence.components.relational.api.IngestorResult$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.IngestorResult$Builder: org.finos.legend.engine.persistence.components.relational.api.IngestorResult$Builder updatedDatasets(org.finos.legend.engine.persistence.components.common.Datasets)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.IngestorResult$Builder: org.finos.legend.engine.persistence.components.relational.api.IngestorResult$Builder putAllStatisticByName(java.util.Map)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("{BATCH_START_TIMESTAMP_PLACEHOLDER}");
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.util.PlaceholderValue: java.lang.String value()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.IngestorResult$Builder: org.finos.legend.engine.persistence.components.relational.api.IngestorResult$Builder ingestionTimestampUTC(java.lang.String)>(v);
v = staticinvoke <java.time.LocalDateTime: java.time.LocalDateTime now(java.time.Clock)>(v);
v = <org.finos.legend.engine.persistence.components.transformer.Transformer$TransformOptionsAbstract: java.time.format.DateTimeFormatter DATE_TIME_FORMATTER>;
v = virtualinvoke v.<java.time.LocalDateTime: java.lang.String format(java.time.format.DateTimeFormatter)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.IngestorResult$Builder: org.finos.legend.engine.persistence.components.relational.api.IngestorResult$Builder ingestionEndTimestampUTC(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>("{NEXT_BATCH_ID_PATTERN}");
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("{NEXT_BATCH_ID_PATTERN}");
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.util.PlaceholderValue: java.lang.String value()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(java.lang.String)>(v);
goto label;
label:
v = null;
label:
v = staticinvoke <java.util.Optional: java.util.Optional ofNullable(java.lang.Object)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.IngestorResult$Builder: org.finos.legend.engine.persistence.components.relational.api.IngestorResult$Builder batchId(java.util.Optional)>(v);
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = <org.finos.legend.engine.persistence.components.relational.api.IngestStatus: org.finos.legend.engine.persistence.components.relational.api.IngestStatus SUCCEEDED>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.IngestorResult$Builder: org.finos.legend.engine.persistence.components.relational.api.IngestorResult$Builder status(org.finos.legend.engine.persistence.components.relational.api.IngestStatus)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.IngestorResult$Builder: org.finos.legend.engine.persistence.components.relational.api.IngestorResult build()>();
goto label;
label:
v = staticinvoke <java.lang.String: java.lang.String join(java.lang.CharSequence,java.lang.Iterable)>(",", v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Errors encountered: \u0001");
v = <org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: org.slf4j.Logger LOGGER>;
interfaceinvoke v.<org.slf4j.Logger: void error(java.lang.String)>(v);
v = <org.finos.legend.engine.persistence.components.relational.api.IngestStatus: org.finos.legend.engine.persistence.components.relational.api.IngestStatus FAILED>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.IngestorResult$Builder: org.finos.legend.engine.persistence.components.relational.api.IngestorResult$Builder status(org.finos.legend.engine.persistence.components.relational.api.IngestStatus)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.IngestorResult$Builder: org.finos.legend.engine.persistence.components.relational.api.IngestorResult$Builder message(java.lang.String)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.IngestorResult$Builder: org.finos.legend.engine.persistence.components.relational.api.IngestorResult build()>();
label:
return v;
}
private java.lang.String getErrorMessage(java.util.Map)
{
java.lang.Throwable v;
org.finos.legend.engine.persistence.components.exception.JsonReadOrWriteException v;
com.fasterxml.jackson.databind.ObjectMapper v;
java.util.HashMap v;
java.util.Map v;
java.lang.Object v, v, v, v, v;
java.lang.String v, v;
org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink v;
v := @this: org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink;
v := @parameter: java.util.Map;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("file");
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("file", v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("status");
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("status", v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("errors_seen");
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("errors_seen", v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("first_error");
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("first_error", v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("first_error_column_name");
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("first_error_column_name", v);
v = new com.fasterxml.jackson.databind.ObjectMapper;
specialinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: void <init>()>();
label:
v = virtualinvoke v.<com.fasterxml.jackson.databind.ObjectMapper: java.lang.String writeValueAsString(java.lang.Object)>(v);
label:
return v;
label:
v := @caughtexception;
v = new org.finos.legend.engine.persistence.components.exception.JsonReadOrWriteException;
v = virtualinvoke v.<com.fasterxml.jackson.core.JsonProcessingException: java.lang.String getMessage()>();
specialinvoke v.<org.finos.legend.engine.persistence.components.exception.JsonReadOrWriteException: void <init>(java.lang.String,java.lang.Throwable)>(v, v);
throw v;
catch com.fasterxml.jackson.core.JsonProcessingException from label to label with label;
}
static void <clinit>()
{
org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.TryCastFunctionVisitor v;
java.util.Map v, v, v;
java.util.Set v, v, v;
org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.ToArrayFunctionVisitor v;
org.finos.legend.engine.persistence.components.util.Capability v, v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType[] v, v, v, v, v;
org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.StagedFilesDatasetVisitor v;
org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink v;
org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.AlterVisitor v;
org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.CastFunctionVisitor v;
org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.StagedFilesSelectionVisitor v;
org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.ClusterKeyVisitor v;
org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.ShowVisitor v;
org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.MetadataRowNumberFieldVisitor v;
org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.MetadataFileNameFieldVisitor v;
org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.CopyVisitor v;
java.util.List v, v, v, v, v;
org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.DatasetAdditionalPropertiesVisitor v;
org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.SchemaDefinitionVisitor v;
org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.FieldVisitor v;
java.util.HashMap v, v, v;
java.util.HashSet v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.slf4j.Logger v;
org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.StagedFilesDatasetReferenceVisitor v;
org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.StagedFilesFieldValueVisitor v;
org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.DigestUdfVisitor v;
org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.SQLCreateVisitor v;
org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.BatchEndTimestampVisitor v;
v = staticinvoke <org.slf4j.LoggerFactory: org.slf4j.Logger getLogger(java.lang.Class)>(class "Lorg/finos/legend/engine/persistence/components/relational/snowflake/SnowflakeSink;");
<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: org.slf4j.Logger LOGGER> = v;
v = new java.util.HashSet;
specialinvoke v.<java.util.HashSet: void <init>()>();
v = <org.finos.legend.engine.persistence.components.util.Capability: org.finos.legend.engine.persistence.components.util.Capability MERGE>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = <org.finos.legend.engine.persistence.components.util.Capability: org.finos.legend.engine.persistence.components.util.Capability ALIAS_IN_HAVING>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = <org.finos.legend.engine.persistence.components.util.Capability: org.finos.legend.engine.persistence.components.util.Capability ADD_COLUMN>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = <org.finos.legend.engine.persistence.components.util.Capability: org.finos.legend.engine.persistence.components.util.Capability IMPLICIT_DATA_TYPE_CONVERSION>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = <org.finos.legend.engine.persistence.components.util.Capability: org.finos.legend.engine.persistence.components.util.Capability DATA_TYPE_LENGTH_CHANGE>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = <org.finos.legend.engine.persistence.components.util.Capability: org.finos.legend.engine.persistence.components.util.Capability TRANSFORM_WHILE_COPY>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = <org.finos.legend.engine.persistence.components.util.Capability: org.finos.legend.engine.persistence.components.util.Capability DRY_RUN>;
interfaceinvoke v.<java.util.Set: boolean add(java.lang.Object)>(v);
v = staticinvoke <java.util.Collections: java.util.Set unmodifiableSet(java.util.Set)>(v);
<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Set CAPABILITIES> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = new org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.SchemaDefinitionVisitor;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.SchemaDefinitionVisitor: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lorg/finos/legend/engine/persistence/components/logicalplan/datasets/SchemaDefinition;", v);
v = new org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.SQLCreateVisitor;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.SQLCreateVisitor: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lorg/finos/legend/engine/persistence/components/logicalplan/operations/Create;", v);
v = new org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.ClusterKeyVisitor;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.ClusterKeyVisitor: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lorg/finos/legend/engine/persistence/components/logicalplan/datasets/ClusterKey;", v);
v = new org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.AlterVisitor;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.AlterVisitor: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lorg/finos/legend/engine/persistence/components/logicalplan/operations/Alter;", v);
v = new org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.ShowVisitor;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.ShowVisitor: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lorg/finos/legend/engine/persistence/components/logicalplan/operations/Show;", v);
v = new org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.BatchEndTimestampVisitor;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.BatchEndTimestampVisitor: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lorg/finos/legend/engine/persistence/components/logicalplan/values/BatchEndTimestamp;", v);
v = new org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.FieldVisitor;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.FieldVisitor: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lorg/finos/legend/engine/persistence/components/logicalplan/datasets/Field;", v);
v = new org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.DatasetAdditionalPropertiesVisitor;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.DatasetAdditionalPropertiesVisitor: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lorg/finos/legend/engine/persistence/components/logicalplan/datasets/DatasetAdditionalProperties;", v);
v = new org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.CopyVisitor;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.CopyVisitor: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lorg/finos/legend/engine/persistence/components/logicalplan/operations/Copy;", v);
v = new org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.StagedFilesDatasetReferenceVisitor;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.StagedFilesDatasetReferenceVisitor: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lorg/finos/legend/engine/persistence/components/logicalplan/datasets/StagedFilesDatasetReference;", v);
v = new org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.StagedFilesDatasetVisitor;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.StagedFilesDatasetVisitor: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lorg/finos/legend/engine/persistence/components/logicalplan/datasets/StagedFilesDataset;", v);
v = new org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.StagedFilesFieldValueVisitor;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.StagedFilesFieldValueVisitor: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lorg/finos/legend/engine/persistence/components/logicalplan/values/StagedFilesFieldValue;", v);
v = new org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.StagedFilesSelectionVisitor;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.StagedFilesSelectionVisitor: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lorg/finos/legend/engine/persistence/components/logicalplan/datasets/StagedFilesSelection;", v);
v = new org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.DigestUdfVisitor;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.DigestUdfVisitor: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lorg/finos/legend/engine/persistence/components/logicalplan/values/DigestUdf;", v);
v = new org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.CastFunctionVisitor;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.CastFunctionVisitor: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lorg/finos/legend/engine/persistence/components/logicalplan/values/CastFunction;", v);
v = new org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.TryCastFunctionVisitor;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.TryCastFunctionVisitor: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lorg/finos/legend/engine/persistence/components/logicalplan/values/TryCastFunction;", v);
v = new org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.MetadataFileNameFieldVisitor;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.MetadataFileNameFieldVisitor: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lorg/finos/legend/engine/persistence/components/logicalplan/values/MetadataFileNameField;", v);
v = new org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.MetadataRowNumberFieldVisitor;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.MetadataRowNumberFieldVisitor: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lorg/finos/legend/engine/persistence/components/logicalplan/values/MetadataRowNumberField;", v);
v = new org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.ToArrayFunctionVisitor;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.sql.visitor.ToArrayFunctionVisitor: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(class "Lorg/finos/legend/engine/persistence/components/logicalplan/values/ToArrayFunction;", v);
v = staticinvoke <java.util.Collections: java.util.Map unmodifiableMap(java.util.Map)>(v);
<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Map LOGICAL_PLAN_VISITOR_BY_CLASS> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType DECIMAL>;
v = new java.util.HashSet;
v = newarray (org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType)[6];
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType TINYINT>;
v[0] = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType SMALLINT>;
v[1] = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType INTEGER>;
v[2] = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType INT>;
v[3] = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType BIGINT>;
v[4] = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType NUMERIC>;
v[5] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType DOUBLE>;
v = new java.util.HashSet;
v = newarray (org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType)[9];
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType TINYINT>;
v[0] = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType SMALLINT>;
v[1] = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType INTEGER>;
v[2] = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType INT>;
v[3] = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType BIGINT>;
v[4] = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType DECIMAL>;
v[5] = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType NUMERIC>;
v[6] = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType FLOAT>;
v[7] = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType REAL>;
v[8] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType BIGINT>;
v = new java.util.HashSet;
v = newarray (org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType)[6];
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType TINYINT>;
v[0] = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType SMALLINT>;
v[1] = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType INTEGER>;
v[2] = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType INT>;
v[3] = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType NUMERIC>;
v[4] = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType DECIMAL>;
v[5] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType VARCHAR>;
v = new java.util.HashSet;
v = newarray (org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType)[3];
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType CHAR>;
v[0] = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType STRING>;
v[1] = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType TEXT>;
v[2] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType TIMESTAMP>;
v = new java.util.HashSet;
v = newarray (org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType)[2];
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType DATETIME>;
v[0] = v;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType TIMESTAMP_NTZ>;
v[1] = v;
v = staticinvoke <java.util.Arrays: java.util.List asList(java.lang.Object[])>(v);
specialinvoke v.<java.util.HashSet: void <init>(java.util.Collection)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType JSON>;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType VARIANT>;
v = staticinvoke <java.util.Collections: java.util.Set singleton(java.lang.Object)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType BINARY>;
v = <org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType: org.finos.legend.engine.persistence.components.logicalplan.datasets.DataType VARBINARY>;
v = staticinvoke <java.util.Collections: java.util.Set singleton(java.lang.Object)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = staticinvoke <java.util.Collections: java.util.Map unmodifiableMap(java.util.Map)>(v);
<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Map IMPLICIT_DATA_TYPE_MAPPING> = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = staticinvoke <java.util.Collections: java.util.Map unmodifiableMap(java.util.Map)>(v);
<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: java.util.Map EXPLICIT_DATA_TYPE_MAPPING> = v;
v = new org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: void <init>()>();
<org.finos.legend.engine.persistence.components.relational.snowflake.SnowflakeSink: org.finos.legend.engine.persistence.components.relational.RelationalSink INSTANCE> = v;
return;
}
}