public class org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest extends org.finos.legend.engine.persistence.components.testcases.ingestmode.unitemporal.UnitmemporalDeltaBatchIdDateTimeBasedTestCases
{
public void <init>()
{
org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest;
specialinvoke v.<org.finos.legend.engine.persistence.components.testcases.ingestmode.unitemporal.UnitmemporalDeltaBatchIdDateTimeBasedTestCases: void <init>()>();
return;
}
public void verifyUnitemporalDeltaNoDeleteIndNoDedupNoVersion(org.finos.legend.engine.persistence.components.relational.api.GeneratorResult)
{
org.finos.legend.engine.persistence.components.relational.api.GeneratorResult v;
java.util.List v, v, v;
org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest v;
java.lang.Object v, v, v, v, v;
java.lang.String v, v, v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest;
v := @parameter: org.finos.legend.engine.persistence.components.relational.api.GeneratorResult;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List preActionsSql()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List ingestSql()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List metadataIngestSql()>();
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String expectedMainTableCreateQuery>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableCreateQuery()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("UPDATE \"mydb\".\"main\" as sink SET sink.\"batch_id_out\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\')-1,sink.\"batch_time_out\" = \'2000-01-01 00:00:00.000000\' WHERE (sink.\"batch_id_out\" = 999999999) AND (EXISTS (SELECT * FROM \"mydb\".\"staging\" as stage WHERE ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\")) AND (sink.\"digest\" <> stage.\"digest\")))", v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("INSERT INTO \"mydb\".\"main\" (\"id\", \"name\", \"amount\", \"biz_date\", \"digest\", \"batch_id_in\", \"batch_id_out\", \"batch_time_in\", \"batch_time_out\") (SELECT stage.\"id\",stage.\"name\",stage.\"amount\",stage.\"biz_date\",stage.\"digest\",(SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\'),999999999,\'2000-01-01 00:00:00.000000\',\'9999-12-31 23:59:59\' FROM \"mydb\".\"staging\" as stage WHERE NOT (EXISTS (SELECT * FROM \"mydb\".\"main\" as sink WHERE (sink.\"batch_id_out\" = 999999999) AND (sink.\"digest\" = stage.\"digest\") AND ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\")))))", v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableIngestQuery()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: void verifyStats(org.finos.legend.engine.persistence.components.relational.api.GeneratorResult,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)>(v, "SELECT COUNT(*) as \"incomingRecordCount\" FROM \"mydb\".\"staging\" as stage", "SELECT COUNT(*) as \"rowsUpdated\" FROM \"mydb\".\"main\" as sink WHERE sink.\"batch_id_out\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\')-1", "SELECT 0 as \"rowsDeleted\"", "SELECT (SELECT COUNT(*) FROM \"mydb\".\"main\" as sink WHERE sink.\"batch_id_in\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\'))-(SELECT COUNT(*) FROM \"mydb\".\"main\" as sink WHERE sink.\"batch_id_out\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\')-1) as \"rowsInserted\"", "SELECT 0 as \"rowsTerminated\"");
return;
}
public void verifyUnitemporalDeltaNoDeleteIndFilterDupsAllVersionWithoutPerform(java.util.List, java.util.List)
{
java.util.List v, v, v, v, v, v, v, v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest v;
int v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v;
java.lang.Object 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 := @this: org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest;
v := @parameter: java.util.List;
v := @parameter: java.util.List;
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String expectedMainTableCreateQuery>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List preActionsSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableCreateQuery()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List preActionsSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String expectedBaseTempStagingTablePlusDigestWithDataSplitAndCount>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List preActionsSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(2);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String enrichSqlWithDataSplits(java.lang.String,org.finos.legend.engine.persistence.components.relational.api.DataSplitRange)>("UPDATE \"mydb\".\"main\" as sink SET sink.\"batch_id_out\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\')-1,sink.\"batch_time_out\" = \'2000-01-01 00:00:00.000000\' WHERE (sink.\"batch_id_out\" = 999999999) AND (EXISTS (SELECT * FROM \"mydb\".\"staging_temp_staging_lp_yosulf\" as stage WHERE ((stage.\"data_split\" >= \'{DATA_SPLIT_LOWER_BOUND_PLACEHOLDER}\') AND (stage.\"data_split\" <= \'{DATA_SPLIT_UPPER_BOUND_PLACEHOLDER}\')) AND ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\")) AND (sink.\"digest\" <> stage.\"digest\")))", v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List ingestSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String enrichSqlWithDataSplits(java.lang.String,org.finos.legend.engine.persistence.components.relational.api.DataSplitRange)>("INSERT INTO \"mydb\".\"main\" (\"id\", \"name\", \"amount\", \"biz_date\", \"digest\", \"batch_id_in\", \"batch_id_out\", \"batch_time_in\", \"batch_time_out\") (SELECT stage.\"id\",stage.\"name\",stage.\"amount\",stage.\"biz_date\",stage.\"digest\",(SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\'),999999999,\'2000-01-01 00:00:00.000000\',\'9999-12-31 23:59:59\' FROM \"mydb\".\"staging_temp_staging_lp_yosulf\" as stage WHERE ((stage.\"data_split\" >= \'{DATA_SPLIT_LOWER_BOUND_PLACEHOLDER}\') AND (stage.\"data_split\" <= \'{DATA_SPLIT_UPPER_BOUND_PLACEHOLDER}\')) AND (NOT (EXISTS (SELECT * FROM \"mydb\".\"main\" as sink WHERE (sink.\"batch_id_out\" = 999999999) AND (sink.\"digest\" = stage.\"digest\") AND ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\"))))))", v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List ingestSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String enrichSqlWithDataSplits(java.lang.String,org.finos.legend.engine.persistence.components.relational.api.DataSplitRange)>("UPDATE \"mydb\".\"main\" as sink SET sink.\"batch_id_out\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\')-1,sink.\"batch_time_out\" = \'2000-01-01 00:00:00.000000\' WHERE (sink.\"batch_id_out\" = 999999999) AND (EXISTS (SELECT * FROM \"mydb\".\"staging_temp_staging_lp_yosulf\" as stage WHERE ((stage.\"data_split\" >= \'{DATA_SPLIT_LOWER_BOUND_PLACEHOLDER}\') AND (stage.\"data_split\" <= \'{DATA_SPLIT_UPPER_BOUND_PLACEHOLDER}\')) AND ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\")) AND (sink.\"digest\" <> stage.\"digest\")))", v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List ingestSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String enrichSqlWithDataSplits(java.lang.String,org.finos.legend.engine.persistence.components.relational.api.DataSplitRange)>("INSERT INTO \"mydb\".\"main\" (\"id\", \"name\", \"amount\", \"biz_date\", \"digest\", \"batch_id_in\", \"batch_id_out\", \"batch_time_in\", \"batch_time_out\") (SELECT stage.\"id\",stage.\"name\",stage.\"amount\",stage.\"biz_date\",stage.\"digest\",(SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\'),999999999,\'2000-01-01 00:00:00.000000\',\'9999-12-31 23:59:59\' FROM \"mydb\".\"staging_temp_staging_lp_yosulf\" as stage WHERE ((stage.\"data_split\" >= \'{DATA_SPLIT_LOWER_BOUND_PLACEHOLDER}\') AND (stage.\"data_split\" <= \'{DATA_SPLIT_UPPER_BOUND_PLACEHOLDER}\')) AND (NOT (EXISTS (SELECT * FROM \"mydb\".\"main\" as sink WHERE (sink.\"batch_id_out\" = 999999999) AND (sink.\"digest\" = stage.\"digest\") AND ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\"))))))", v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List ingestSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableIngestQuery()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List metadataIngestSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableIngestQuery()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List metadataIngestSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: int size()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(int,int)>(2, v);
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String expectedTempStagingCleanupQuery>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List deduplicationAndVersioningSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List deduplicationAndVersioningSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("INSERT INTO \"mydb\".\"staging_temp_staging_lp_yosulf\" (\"id\", \"name\", \"amount\", \"biz_date\", \"digest\", \"data_split\", \"legend_persistence_count\") (SELECT stage.\"id\",stage.\"name\",stage.\"amount\",stage.\"biz_date\",stage.\"digest\",stage.\"data_split\",COUNT(*) as \"legend_persistence_count\" FROM \"mydb\".\"staging\" as stage GROUP BY stage.\"id\", stage.\"name\", stage.\"amount\", stage.\"biz_date\", stage.\"digest\", stage.\"data_split\")", v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String enrichSqlWithDataSplits(java.lang.String,org.finos.legend.engine.persistence.components.relational.api.DataSplitRange)>("SELECT COALESCE(SUM(stage.\"legend_persistence_count\"),0) as \"incomingRecordCount\" FROM \"mydb\".\"staging_temp_staging_lp_yosulf\" as stage WHERE (stage.\"data_split\" >= \'{DATA_SPLIT_LOWER_BOUND_PLACEHOLDER}\') AND (stage.\"data_split\" <= \'{DATA_SPLIT_UPPER_BOUND_PLACEHOLDER}\')", v);
virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: void verifyStats(org.finos.legend.engine.persistence.components.relational.api.GeneratorResult,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)>(v, v, "SELECT COUNT(*) as \"rowsUpdated\" FROM \"mydb\".\"main\" as sink WHERE sink.\"batch_id_out\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\')-1", "SELECT 0 as \"rowsDeleted\"", "SELECT (SELECT COUNT(*) FROM \"mydb\".\"main\" as sink WHERE sink.\"batch_id_in\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\'))-(SELECT COUNT(*) FROM \"mydb\".\"main\" as sink WHERE sink.\"batch_id_out\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\')-1) as \"rowsInserted\"", "SELECT 0 as \"rowsTerminated\"");
return;
}
public void verifyUnitemporalDeltaWithDeleteIndMultiValuesNoDedupNoVersion(org.finos.legend.engine.persistence.components.relational.api.GeneratorResult)
{
java.util.Map v;
java.lang.String v, v, v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.relational.api.GeneratorResult v;
java.util.List v, v, v, v;
org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest v;
java.lang.Object v, v, v, v, v, v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType v, v, v, v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest;
v := @parameter: org.finos.legend.engine.persistence.components.relational.api.GeneratorResult;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List preActionsSql()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List ingestSql()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List metadataIngestSql()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List deduplicationAndVersioningSql()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.Map deduplicationAndVersioningErrorChecksSql()>();
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String expectedMainTableCreateQuery>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableCreateQuery()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("UPDATE \"mydb\".\"main\" as sink SET sink.\"batch_id_out\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\')-1,sink.\"batch_time_out\" = \'2000-01-01 00:00:00.000000\' WHERE (sink.\"batch_id_out\" = 999999999) AND (EXISTS (SELECT * FROM \"mydb\".\"staging_temp_staging_lp_yosulf\" as stage WHERE ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\")) AND ((sink.\"digest\" <> stage.\"digest\") OR (stage.\"delete_indicator\" IN (\'yes\',\'1\',\'true\')))))", v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("INSERT INTO \"mydb\".\"main\" (\"id\", \"name\", \"amount\", \"biz_date\", \"digest\", \"batch_id_in\", \"batch_id_out\", \"batch_time_in\", \"batch_time_out\") (SELECT stage.\"id\",stage.\"name\",stage.\"amount\",stage.\"biz_date\",stage.\"digest\",(SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\'),999999999,\'2000-01-01 00:00:00.000000\',\'9999-12-31 23:59:59\' FROM \"mydb\".\"staging_temp_staging_lp_yosulf\" as stage WHERE (NOT (EXISTS (SELECT * FROM \"mydb\".\"main\" as sink WHERE (sink.\"batch_id_out\" = 999999999) AND (sink.\"digest\" = stage.\"digest\") AND ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\"))))) AND (stage.\"delete_indicator\" NOT IN (\'yes\',\'1\',\'true\')))", v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableIngestQuery()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String expectedTempStagingCleanupQuery>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("INSERT INTO \"mydb\".\"staging_temp_staging_lp_yosulf\" (\"id\", \"name\", \"amount\", \"biz_date\", \"digest\", \"delete_indicator\", \"legend_persistence_count\") (SELECT stage.\"id\",stage.\"name\",stage.\"amount\",stage.\"biz_date\",stage.\"digest\",stage.\"delete_indicator\",COUNT(*) as \"legend_persistence_count\" FROM \"mydb\".\"staging\" as stage GROUP BY stage.\"id\", stage.\"name\", stage.\"amount\", stage.\"biz_date\", stage.\"digest\", stage.\"delete_indicator\")", v);
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String maxDupsErrorCheckSql>;
v = <org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType: org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType MAX_DUPLICATES>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String dupRowsSql>;
v = <org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType: org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType DUPLICATE_ROWS>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String maxPkDupsErrorCheckSql>;
v = <org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType: org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType MAX_PK_DUPLICATES>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String dupPkRowsSql>;
v = <org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType: org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType PK_DUPLICATE_ROWS>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: void verifyStats(org.finos.legend.engine.persistence.components.relational.api.GeneratorResult,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)>(v, "SELECT COUNT(*) as \"incomingRecordCount\" FROM \"mydb\".\"staging\" as stage", "SELECT COUNT(*) as \"rowsUpdated\" FROM \"mydb\".\"main\" as sink WHERE (sink.\"batch_id_out\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\')-1) AND (EXISTS (SELECT * FROM \"mydb\".\"main\" as sink WHERE ((sink.\"id\" = sink.\"id\") AND (sink.\"name\" = sink.\"name\")) AND (sink.\"batch_id_in\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\'))))", "SELECT 0 as \"rowsDeleted\"", "SELECT (SELECT COUNT(*) FROM \"mydb\".\"main\" as sink WHERE sink.\"batch_id_in\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\'))-(SELECT COUNT(*) FROM \"mydb\".\"main\" as sink WHERE (sink.\"batch_id_out\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\')-1) AND (EXISTS (SELECT * FROM \"mydb\".\"main\" as sink WHERE ((sink.\"id\" = sink.\"id\") AND (sink.\"name\" = sink.\"name\")) AND (sink.\"batch_id_in\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\'))))) as \"rowsInserted\"", "SELECT (SELECT COUNT(*) FROM \"mydb\".\"main\" as sink WHERE sink.\"batch_id_out\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\')-1)-(SELECT COUNT(*) FROM \"mydb\".\"main\" as sink WHERE (sink.\"batch_id_out\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\')-1) AND (EXISTS (SELECT * FROM \"mydb\".\"main\" as sink WHERE ((sink.\"id\" = sink.\"id\") AND (sink.\"name\" = sink.\"name\")) AND (sink.\"batch_id_in\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\'))))) as \"rowsTerminated\"");
return;
}
public void verifyUnitemporalDeltaWithDeleteInd(org.finos.legend.engine.persistence.components.relational.api.GeneratorResult)
{
org.finos.legend.engine.persistence.components.relational.api.GeneratorResult v;
java.util.List v, v, v;
org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest v;
java.lang.Object v, v, v, v, v;
java.lang.String v, v, v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest;
v := @parameter: org.finos.legend.engine.persistence.components.relational.api.GeneratorResult;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List preActionsSql()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List ingestSql()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List metadataIngestSql()>();
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String expectedMainTableCreateQuery>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableCreateQuery()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("UPDATE \"mydb\".\"main\" as sink SET sink.\"batch_id_out\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\')-1,sink.\"batch_time_out\" = \'2000-01-01 00:00:00.000000\' WHERE (sink.\"batch_id_out\" = 999999999) AND (EXISTS (SELECT * FROM \"mydb\".\"staging\" as stage WHERE ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\")) AND ((sink.\"digest\" <> stage.\"digest\") OR (stage.\"delete_indicator\" = true))))", v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("INSERT INTO \"mydb\".\"main\" (\"id\", \"name\", \"amount\", \"biz_date\", \"digest\", \"batch_id_in\", \"batch_id_out\", \"batch_time_in\", \"batch_time_out\") (SELECT stage.\"id\",stage.\"name\",stage.\"amount\",stage.\"biz_date\",stage.\"digest\",(SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\'),999999999,\'2000-01-01 00:00:00.000000\',\'9999-12-31 23:59:59\' FROM \"mydb\".\"staging\" as stage WHERE (NOT (EXISTS (SELECT * FROM \"mydb\".\"main\" as sink WHERE (sink.\"batch_id_out\" = 999999999) AND (sink.\"digest\" = stage.\"digest\") AND ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\"))))) AND (stage.\"delete_indicator\" <> true))", v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableIngestQuery()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public void verifyUnitemporalDeltaWithDeleteIndFailOnDupsAllVersion(java.util.List, java.util.List)
{
java.util.Map v, v, v, v;
org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.List v, v, v, v, v, v, v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType v, v, v, v;
int v;
java.lang.Object 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 := @this: org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest;
v := @parameter: java.util.List;
v := @parameter: java.util.List;
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String expectedMainTableCreateQuery>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List preActionsSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableCreateQuery()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List preActionsSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String expectedTempStagingCleanupQuery>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List deduplicationAndVersioningSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List deduplicationAndVersioningSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("INSERT INTO \"mydb\".\"staging_temp_staging_lp_yosulf\" (\"id\", \"name\", \"amount\", \"biz_date\", \"digest\", \"delete_indicator\", \"legend_persistence_count\", \"data_split\") (SELECT stage.\"id\",stage.\"name\",stage.\"amount\",stage.\"biz_date\",stage.\"digest\",stage.\"delete_indicator\",stage.\"legend_persistence_count\" as \"legend_persistence_count\",DENSE_RANK() OVER (PARTITION BY stage.\"id\",stage.\"name\" ORDER BY stage.\"biz_date\" ASC) as \"data_split\" FROM (SELECT stage.\"id\",stage.\"name\",stage.\"amount\",stage.\"biz_date\",stage.\"digest\",stage.\"delete_indicator\",COUNT(*) as \"legend_persistence_count\" FROM \"mydb\".\"staging\" as stage GROUP BY stage.\"id\", stage.\"name\", stage.\"amount\", stage.\"biz_date\", stage.\"digest\", stage.\"delete_indicator\") as stage)", v);
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String maxDupsErrorCheckSql>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.Map deduplicationAndVersioningErrorChecksSql()>();
v = <org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType: org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType MAX_DUPLICATES>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String dataErrorCheckSqlWithBizDateVersion>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.Map deduplicationAndVersioningErrorChecksSql()>();
v = <org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType: org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType MAX_DATA_ERRORS>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String dupRowsSql>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.Map deduplicationAndVersioningErrorChecksSql()>();
v = <org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType: org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType DUPLICATE_ROWS>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String dataErrorsSqlWithBizDateVersion>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.Map deduplicationAndVersioningErrorChecksSql()>();
v = <org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType: org.finos.legend.engine.persistence.components.common.DedupAndVersionErrorSqlType DATA_ERROR_ROWS>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String enrichSqlWithDataSplits(java.lang.String,org.finos.legend.engine.persistence.components.relational.api.DataSplitRange)>("UPDATE \"mydb\".\"main\" as sink SET sink.\"batch_id_out\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\')-1,sink.\"batch_time_out\" = \'2000-01-01 00:00:00.000000\' WHERE (sink.\"batch_id_out\" = 999999999) AND (EXISTS (SELECT * FROM \"mydb\".\"staging_temp_staging_lp_yosulf\" as stage WHERE ((stage.\"data_split\" >= \'{DATA_SPLIT_LOWER_BOUND_PLACEHOLDER}\') AND (stage.\"data_split\" <= \'{DATA_SPLIT_UPPER_BOUND_PLACEHOLDER}\')) AND ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\")) AND ((sink.\"digest\" <> stage.\"digest\") OR (stage.\"delete_indicator\" IN (\'yes\',\'1\',\'true\')))))", v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List ingestSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String enrichSqlWithDataSplits(java.lang.String,org.finos.legend.engine.persistence.components.relational.api.DataSplitRange)>("INSERT INTO \"mydb\".\"main\" (\"id\", \"name\", \"amount\", \"biz_date\", \"digest\", \"batch_id_in\", \"batch_id_out\", \"batch_time_in\", \"batch_time_out\") (SELECT stage.\"id\",stage.\"name\",stage.\"amount\",stage.\"biz_date\",stage.\"digest\",(SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\'),999999999,\'2000-01-01 00:00:00.000000\',\'9999-12-31 23:59:59\' FROM \"mydb\".\"staging_temp_staging_lp_yosulf\" as stage WHERE ((stage.\"data_split\" >= \'{DATA_SPLIT_LOWER_BOUND_PLACEHOLDER}\') AND (stage.\"data_split\" <= \'{DATA_SPLIT_UPPER_BOUND_PLACEHOLDER}\')) AND (NOT (EXISTS (SELECT * FROM \"mydb\".\"main\" as sink WHERE (sink.\"batch_id_out\" = 999999999) AND (sink.\"digest\" = stage.\"digest\") AND ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\"))))) AND (stage.\"delete_indicator\" NOT IN (\'yes\',\'1\',\'true\')))", v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List ingestSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String enrichSqlWithDataSplits(java.lang.String,org.finos.legend.engine.persistence.components.relational.api.DataSplitRange)>("UPDATE \"mydb\".\"main\" as sink SET sink.\"batch_id_out\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\')-1,sink.\"batch_time_out\" = \'2000-01-01 00:00:00.000000\' WHERE (sink.\"batch_id_out\" = 999999999) AND (EXISTS (SELECT * FROM \"mydb\".\"staging_temp_staging_lp_yosulf\" as stage WHERE ((stage.\"data_split\" >= \'{DATA_SPLIT_LOWER_BOUND_PLACEHOLDER}\') AND (stage.\"data_split\" <= \'{DATA_SPLIT_UPPER_BOUND_PLACEHOLDER}\')) AND ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\")) AND ((sink.\"digest\" <> stage.\"digest\") OR (stage.\"delete_indicator\" IN (\'yes\',\'1\',\'true\')))))", v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List ingestSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String enrichSqlWithDataSplits(java.lang.String,org.finos.legend.engine.persistence.components.relational.api.DataSplitRange)>("INSERT INTO \"mydb\".\"main\" (\"id\", \"name\", \"amount\", \"biz_date\", \"digest\", \"batch_id_in\", \"batch_id_out\", \"batch_time_in\", \"batch_time_out\") (SELECT stage.\"id\",stage.\"name\",stage.\"amount\",stage.\"biz_date\",stage.\"digest\",(SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\'),999999999,\'2000-01-01 00:00:00.000000\',\'9999-12-31 23:59:59\' FROM \"mydb\".\"staging_temp_staging_lp_yosulf\" as stage WHERE ((stage.\"data_split\" >= \'{DATA_SPLIT_LOWER_BOUND_PLACEHOLDER}\') AND (stage.\"data_split\" <= \'{DATA_SPLIT_UPPER_BOUND_PLACEHOLDER}\')) AND (NOT (EXISTS (SELECT * FROM \"mydb\".\"main\" as sink WHERE (sink.\"batch_id_out\" = 999999999) AND (sink.\"digest\" = stage.\"digest\") AND ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\"))))) AND (stage.\"delete_indicator\" NOT IN (\'yes\',\'1\',\'true\')))", v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List ingestSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableIngestQuery()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List metadataIngestSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableIngestQuery()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List metadataIngestSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: int size()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(int,int)>(2, v);
return;
}
public void verifyUnitemporalDeltaWithCleanStagingData(org.finos.legend.engine.persistence.components.relational.api.GeneratorResult)
{
java.util.Collection v;
org.finos.legend.engine.persistence.components.relational.api.GeneratorResult v;
java.util.ArrayList v;
java.util.List v;
java.util.Map v;
org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest v;
int v;
java.lang.Object v;
java.lang.String v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest;
v := @parameter: org.finos.legend.engine.persistence.components.relational.api.GeneratorResult;
v = new java.util.ArrayList;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.Map postIngestStatisticsSql()>();
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = virtualinvoke v.<java.util.ArrayList: int size()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(int,int)>(0, v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List postActionsSql()>();
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String expectedStagingCleanupQuery>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public void verifyUnitemporalDeltaWithUpperCaseOptimizer(org.finos.legend.engine.persistence.components.relational.api.GeneratorResult)
{
org.finos.legend.engine.persistence.components.relational.api.GeneratorResult v;
java.util.List v, v, v;
org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest v;
java.lang.Object v, v, v, v, v;
java.lang.String v, v, v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest;
v := @parameter: org.finos.legend.engine.persistence.components.relational.api.GeneratorResult;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List preActionsSql()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List ingestSql()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List metadataIngestSql()>();
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String expectedMainTableCreateQueryWithUpperCase>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableCreateQueryWithUpperCase()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("UPDATE \"MYDB\".\"MAIN\" as sink SET sink.\"BATCH_ID_OUT\" = (SELECT COALESCE(MAX(BATCH_METADATA.\"TABLE_BATCH_ID\"),0)+1 FROM BATCH_METADATA as BATCH_METADATA WHERE UPPER(BATCH_METADATA.\"TABLE_NAME\") = \'MAIN\')-1,sink.\"BATCH_TIME_OUT\" = \'2000-01-01 00:00:00.000000\' WHERE (sink.\"BATCH_ID_OUT\" = 999999999) AND (EXISTS (SELECT * FROM \"MYDB\".\"STAGING\" as stage WHERE ((sink.\"ID\" = stage.\"ID\") AND (sink.\"NAME\" = stage.\"NAME\")) AND (sink.\"DIGEST\" <> stage.\"DIGEST\")))", v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("INSERT INTO \"MYDB\".\"MAIN\" (\"ID\", \"NAME\", \"AMOUNT\", \"BIZ_DATE\", \"DIGEST\", \"BATCH_ID_IN\", \"BATCH_ID_OUT\", \"BATCH_TIME_IN\", \"BATCH_TIME_OUT\") (SELECT stage.\"ID\",stage.\"NAME\",stage.\"AMOUNT\",stage.\"BIZ_DATE\",stage.\"DIGEST\",(SELECT COALESCE(MAX(BATCH_METADATA.\"TABLE_BATCH_ID\"),0)+1 FROM BATCH_METADATA as BATCH_METADATA WHERE UPPER(BATCH_METADATA.\"TABLE_NAME\") = \'MAIN\'),999999999,\'2000-01-01 00:00:00.000000\',\'9999-12-31 23:59:59\' FROM \"MYDB\".\"STAGING\" as stage WHERE NOT (EXISTS (SELECT * FROM \"MYDB\".\"MAIN\" as sink WHERE (sink.\"BATCH_ID_OUT\" = 999999999) AND (sink.\"DIGEST\" = stage.\"DIGEST\") AND ((sink.\"ID\" = stage.\"ID\") AND (sink.\"NAME\" = stage.\"NAME\")))))", v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableIngestQueryWithUpperCase()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public void verifyUnitemporalDeltaWithLessColumnsInStaging(org.finos.legend.engine.persistence.components.relational.api.GeneratorResult)
{
org.finos.legend.engine.persistence.components.relational.api.GeneratorResult v;
java.util.List v, v, v;
org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest v;
java.lang.Object v, v, v, v, v;
java.lang.String v, v, v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest;
v := @parameter: org.finos.legend.engine.persistence.components.relational.api.GeneratorResult;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List preActionsSql()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List ingestSql()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List metadataIngestSql()>();
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String expectedMainTableCreateQuery>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableCreateQuery()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("UPDATE \"mydb\".\"main\" as sink SET sink.\"batch_id_out\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\')-1,sink.\"batch_time_out\" = \'2000-01-01 00:00:00.000000\' WHERE (sink.\"batch_id_out\" = 999999999) AND (EXISTS (SELECT * FROM \"mydb\".\"staging\" as stage WHERE ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\")) AND (sink.\"digest\" <> stage.\"digest\")))", v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("INSERT INTO \"mydb\".\"main\" (\"id\", \"name\", \"amount\", \"digest\", \"batch_id_in\", \"batch_id_out\", \"batch_time_in\", \"batch_time_out\") (SELECT stage.\"id\",stage.\"name\",stage.\"amount\",stage.\"digest\",(SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\'),999999999,\'2000-01-01 00:00:00.000000\',\'9999-12-31 23:59:59\' FROM \"mydb\".\"staging\" as stage WHERE NOT (EXISTS (SELECT * FROM \"mydb\".\"main\" as sink WHERE (sink.\"batch_id_out\" = 999999999) AND (sink.\"digest\" = stage.\"digest\") AND ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\")))))", v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableIngestQuery()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public void verifyUnitemporalDeltaWithPlaceholders(org.finos.legend.engine.persistence.components.relational.api.GeneratorResult)
{
org.finos.legend.engine.persistence.components.relational.api.GeneratorResult v;
java.util.List v, v, v;
org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest v;
java.lang.Object v, v, v, v, v;
java.lang.String v, v, v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest;
v := @parameter: org.finos.legend.engine.persistence.components.relational.api.GeneratorResult;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List preActionsSql()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List ingestSql()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List metadataIngestSql()>();
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String expectedMainTableCreateQuery>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableCreateQuery()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("UPDATE \"mydb\".\"main\" as sink SET sink.\"batch_id_out\" = {BATCH_ID_PATTERN}-1,sink.\"batch_time_out\" = \'{BATCH_START_TS_PATTERN}\' WHERE (sink.\"batch_id_out\" = 999999999) AND (EXISTS (SELECT * FROM \"mydb\".\"staging\" as stage WHERE ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\")) AND (sink.\"digest\" <> stage.\"digest\")))", v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("INSERT INTO \"mydb\".\"main\" (\"id\", \"name\", \"amount\", \"biz_date\", \"digest\", \"batch_id_in\", \"batch_id_out\", \"batch_time_in\", \"batch_time_out\") (SELECT stage.\"id\",stage.\"name\",stage.\"amount\",stage.\"biz_date\",stage.\"digest\",{BATCH_ID_PATTERN},999999999,\'{BATCH_START_TS_PATTERN}\',\'9999-12-31 23:59:59\' FROM \"mydb\".\"staging\" as stage WHERE NOT (EXISTS (SELECT * FROM \"mydb\".\"main\" as sink WHERE (sink.\"batch_id_out\" = 999999999) AND (sink.\"digest\" = stage.\"digest\") AND ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\")))))", v);
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String expectedMetadataTableIngestQueryWithPlaceHolders>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public void verifyUnitemporalDeltaWithOnlySchemaSet(org.finos.legend.engine.persistence.components.relational.api.GeneratorResult)
{
org.finos.legend.engine.persistence.components.relational.api.GeneratorResult v;
java.util.List v, v, v;
org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest v;
java.lang.Object v, v, v, v, v;
java.lang.String v, v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest;
v := @parameter: org.finos.legend.engine.persistence.components.relational.api.GeneratorResult;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List preActionsSql()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List ingestSql()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List metadataIngestSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("CREATE TABLE IF NOT EXISTS \"my_schema\".\"main\"(\"id\" INTEGER NOT NULL,\"name\" VARCHAR NOT NULL,\"amount\" DOUBLE,\"biz_date\" DATE,\"digest\" VARCHAR,\"batch_id_in\" INTEGER NOT NULL,\"batch_id_out\" INTEGER,\"batch_time_in\" DATETIME,\"batch_time_out\" DATETIME,PRIMARY KEY (\"id\", \"name\", \"batch_id_in\"))", v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableCreateQuery()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("UPDATE \"my_schema\".\"main\" as sink SET sink.\"batch_id_out\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\')-1,sink.\"batch_time_out\" = \'2000-01-01 00:00:00.000000\' WHERE (sink.\"batch_id_out\" = 999999999) AND (EXISTS (SELECT * FROM \"my_schema\".\"staging\" as stage WHERE ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\")) AND (sink.\"digest\" <> stage.\"digest\")))", v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("INSERT INTO \"my_schema\".\"main\" (\"id\", \"name\", \"amount\", \"biz_date\", \"digest\", \"batch_id_in\", \"batch_id_out\", \"batch_time_in\", \"batch_time_out\") (SELECT stage.\"id\",stage.\"name\",stage.\"amount\",stage.\"biz_date\",stage.\"digest\",(SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\'),999999999,\'2000-01-01 00:00:00.000000\',\'9999-12-31 23:59:59\' FROM \"my_schema\".\"staging\" as stage WHERE NOT (EXISTS (SELECT * FROM \"my_schema\".\"main\" as sink WHERE (sink.\"batch_id_out\" = 999999999) AND (sink.\"digest\" = stage.\"digest\") AND ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\")))))", v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableIngestQuery()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public void verifyUnitemporalDeltaWithDbAndSchemaBothSet(org.finos.legend.engine.persistence.components.relational.api.GeneratorResult)
{
org.finos.legend.engine.persistence.components.relational.api.GeneratorResult v;
java.util.List v, v, v;
org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest v;
java.lang.Object v, v, v, v, v;
java.lang.String v, v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest;
v := @parameter: org.finos.legend.engine.persistence.components.relational.api.GeneratorResult;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List preActionsSql()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List ingestSql()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List metadataIngestSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("CREATE TABLE IF NOT EXISTS \"mydb\".\"my_schema\".\"main\"(\"id\" INTEGER NOT NULL,\"name\" VARCHAR NOT NULL,\"amount\" DOUBLE,\"biz_date\" DATE,\"digest\" VARCHAR,\"batch_id_in\" INTEGER NOT NULL,\"batch_id_out\" INTEGER,\"batch_time_in\" DATETIME,\"batch_time_out\" DATETIME,PRIMARY KEY (\"id\", \"name\", \"batch_id_in\"))", v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableCreateQuery()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("UPDATE \"mydb\".\"my_schema\".\"main\" as sink SET sink.\"batch_id_out\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\')-1,sink.\"batch_time_out\" = \'2000-01-01 00:00:00.000000\' WHERE (sink.\"batch_id_out\" = 999999999) AND (EXISTS (SELECT * FROM \"mydb\".\"my_schema\".\"staging\" as stage WHERE ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\")) AND (sink.\"digest\" <> stage.\"digest\")))", v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("INSERT INTO \"mydb\".\"my_schema\".\"main\" (\"id\", \"name\", \"amount\", \"biz_date\", \"digest\", \"batch_id_in\", \"batch_id_out\", \"batch_time_in\", \"batch_time_out\") (SELECT stage.\"id\",stage.\"name\",stage.\"amount\",stage.\"biz_date\",stage.\"digest\",(SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\'),999999999,\'2000-01-01 00:00:00.000000\',\'9999-12-31 23:59:59\' FROM \"mydb\".\"my_schema\".\"staging\" as stage WHERE NOT (EXISTS (SELECT * FROM \"mydb\".\"my_schema\".\"main\" as sink WHERE (sink.\"batch_id_out\" = 999999999) AND (sink.\"digest\" = stage.\"digest\") AND ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\")))))", v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableIngestQuery()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public void verifyUnitemporalDeltaWithDbAndSchemaBothNotSet(org.finos.legend.engine.persistence.components.relational.api.GeneratorResult)
{
org.finos.legend.engine.persistence.components.relational.api.GeneratorResult v;
java.util.List v, v, v;
org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest v;
java.lang.Object v, v, v, v, v;
java.lang.String v, v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest;
v := @parameter: org.finos.legend.engine.persistence.components.relational.api.GeneratorResult;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List preActionsSql()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List ingestSql()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.GeneratorResult: java.util.List metadataIngestSql()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("CREATE TABLE IF NOT EXISTS main(\"id\" INTEGER NOT NULL,\"name\" VARCHAR NOT NULL,\"amount\" DOUBLE,\"biz_date\" DATE,\"digest\" VARCHAR,\"batch_id_in\" INTEGER NOT NULL,\"batch_id_out\" INTEGER,\"batch_time_in\" DATETIME,\"batch_time_out\" DATETIME,PRIMARY KEY (\"id\", \"name\", \"batch_id_in\"))", v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableCreateQuery()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("UPDATE main as sink SET sink.\"batch_id_out\" = (SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\')-1,sink.\"batch_time_out\" = \'2000-01-01 00:00:00.000000\' WHERE (sink.\"batch_id_out\" = 999999999) AND (EXISTS (SELECT * FROM staging as stage WHERE ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\")) AND (sink.\"digest\" <> stage.\"digest\")))", v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(1);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>("INSERT INTO main (\"id\", \"name\", \"amount\", \"biz_date\", \"digest\", \"batch_id_in\", \"batch_id_out\", \"batch_time_in\", \"batch_time_out\") (SELECT stage.\"id\",stage.\"name\",stage.\"amount\",stage.\"biz_date\",stage.\"digest\",(SELECT COALESCE(MAX(batch_metadata.\"table_batch_id\"),0)+1 FROM batch_metadata as batch_metadata WHERE UPPER(batch_metadata.\"table_name\") = \'MAIN\'),999999999,\'2000-01-01 00:00:00.000000\',\'9999-12-31 23:59:59\' FROM staging as stage WHERE NOT (EXISTS (SELECT * FROM main as sink WHERE (sink.\"batch_id_out\" = 999999999) AND (sink.\"digest\" = stage.\"digest\") AND ((sink.\"id\" = stage.\"id\") AND (sink.\"name\" = stage.\"name\")))))", v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest: java.lang.String getExpectedMetadataTableIngestQuery()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public org.finos.legend.engine.persistence.components.relational.RelationalSink getRelationalSink()
{
org.finos.legend.engine.persistence.components.relational.RelationalSink v;
org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest;
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.ansi.AnsiSqlSink: org.finos.legend.engine.persistence.components.relational.RelationalSink get()>();
return v;
}
protected java.lang.String getExpectedMetadataTableIngestQuery()
{
java.lang.String v;
org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest;
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String expectedMetadataTableIngestQuery>;
return v;
}
protected java.lang.String getExpectedMetadataTableIngestQueryWithUpperCase()
{
java.lang.String v;
org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest;
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String expectedMetadataTableIngestQueryWithUpperCase>;
return v;
}
protected java.lang.String getExpectedMetadataTableCreateQuery()
{
java.lang.String v;
org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest;
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String expectedMetadataTableCreateQuery>;
return v;
}
protected java.lang.String getExpectedMetadataTableCreateQueryWithUpperCase()
{
java.lang.String v;
org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest v;
v := @this: org.finos.legend.engine.persistence.components.ingestmode.unitemporal.UnitemporalDeltaBatchIdDateTimeBasedTest;
v = <org.finos.legend.engine.persistence.components.AnsiTestArtifacts: java.lang.String expectedMetadataTableCreateQueryWithUpperCase>;
return v;
}
}