public class org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest extends org.finos.legend.engine.persistence.components.IngestModeTest
{
private static org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition mainTable;
protected org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition mainTableSchema;
private final org.finos.legend.engine.persistence.components.util.MetadataDataset metadata;
private final java.lang.String dropMainTableQuery;
private final java.lang.String dropLockTableQuery;
private final java.lang.String dropMetadataTableQuery;
public void <init>()
{
org.finos.legend.engine.persistence.components.util.MetadataDataset v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Field v, v, v, v;
org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest v;
org.finos.legend.engine.persistence.components.util.MetadataDataset$Builder v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition$Builder v, v, v, v, v;
v := @this: org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest;
specialinvoke v.<org.finos.legend.engine.persistence.components.IngestModeTest: void <init>()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition$Builder builder()>();
v = v.<org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest: org.finos.legend.engine.persistence.components.logicalplan.datasets.Field id>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition$Builder addFields(org.finos.legend.engine.persistence.components.logicalplan.datasets.Field)>(v);
v = v.<org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest: org.finos.legend.engine.persistence.components.logicalplan.datasets.Field name>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition$Builder addFields(org.finos.legend.engine.persistence.components.logicalplan.datasets.Field)>(v);
v = v.<org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest: org.finos.legend.engine.persistence.components.logicalplan.datasets.Field batchIdIn>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition$Builder addFields(org.finos.legend.engine.persistence.components.logicalplan.datasets.Field)>(v);
v = v.<org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest: org.finos.legend.engine.persistence.components.logicalplan.datasets.Field batchIdOut>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition$Builder addFields(org.finos.legend.engine.persistence.components.logicalplan.datasets.Field)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition build()>();
v.<org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition mainTableSchema> = v;
v = staticinvoke <org.finos.legend.engine.persistence.components.util.MetadataDataset: org.finos.legend.engine.persistence.components.util.MetadataDataset$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.util.MetadataDataset$Builder: org.finos.legend.engine.persistence.components.util.MetadataDataset$Builder metadataDatasetName(java.lang.String)>("batch_metadata");
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.util.MetadataDataset$Builder: org.finos.legend.engine.persistence.components.util.MetadataDataset$Builder metadataDatasetGroupName(java.lang.String)>("mydb");
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.util.MetadataDataset$Builder: org.finos.legend.engine.persistence.components.util.MetadataDataset build()>();
v.<org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest: org.finos.legend.engine.persistence.components.util.MetadataDataset metadata> = v;
v.<org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest: java.lang.String dropMainTableQuery> = "DROP TABLE IF EXISTS \"mydb\".\"main\"";
v.<org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest: java.lang.String dropLockTableQuery> = "DROP TABLE IF EXISTS \"mydb\".\"main_legend_persistence_lock\"";
v.<org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest: java.lang.String dropMetadataTableQuery> = "DROP TABLE IF EXISTS \"mydb\".\"batch_metadata\"";
return;
}
void initializeTables()
{
org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder v, v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition v;
org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest v;
java.lang.String v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition v;
v := @this: org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest;
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder builder()>();
v = v.<org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest: java.lang.String mainDbName>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder database(java.lang.String)>(v);
v = v.<org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest: java.lang.String mainTableName>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder name(java.lang.String)>(v);
v = v.<org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest: java.lang.String mainTableAlias>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder alias(java.lang.String)>(v);
v = v.<org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition mainTableSchema>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder schema(org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition build()>();
<org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition mainTable> = v;
return;
}
void testGenerateOperationsForSinkCleanup()
{
org.finos.legend.engine.persistence.components.relational.api.SinkCleanupGeneratorResult v;
org.finos.legend.engine.persistence.components.relational.RelationalSink v;
int v;
org.finos.legend.engine.persistence.components.util.MetadataDataset v;
org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner v;
java.util.List v, v, v, v;
org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest v;
java.time.Clock v;
java.lang.Object v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition v;
v := @this: org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest;
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner: org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder builder()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.ansi.AnsiSqlSink: org.finos.legend.engine.persistence.components.relational.RelationalSink get()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder: org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder relationalSink(org.finos.legend.engine.persistence.components.relational.RelationalSink)>(v);
v = <org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition mainTable>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder: org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder mainDataset(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(v);
v = v.<org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest: org.finos.legend.engine.persistence.components.util.MetadataDataset metadata>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder: org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder metadataDataset(org.finos.legend.engine.persistence.components.util.MetadataDataset)>(v);
v = v.<org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest: java.time.Clock fixedClock_2000_01_01>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder: org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder executionTimestampClock(java.time.Clock)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder: org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder requestedBy(java.lang.String)>("lh_dev");
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder: org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner build()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner: org.finos.legend.engine.persistence.components.relational.api.SinkCleanupGeneratorResult generateOperationsForSinkCleanup()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.SinkCleanupGeneratorResult: java.util.List dropSql()>();
v = interfaceinvoke v.<java.util.List: int size()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(int,int)>(3, v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.SinkCleanupGeneratorResult: java.util.List dropSql()>();
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)>("DROP TABLE IF EXISTS \"mydb\".\"main\"", v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.SinkCleanupGeneratorResult: java.util.List dropSql()>();
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)>("DROP TABLE IF EXISTS \"mydb\".\"main_legend_persistence_lock\"", v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.SinkCleanupGeneratorResult: java.util.List dropSql()>();
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)>("DROP TABLE IF EXISTS \"mydb\".\"batch_metadata\"", v);
return;
}
void testGenerateOperationsForSinkCleanupWithLockTable()
{
org.finos.legend.engine.persistence.components.relational.api.SinkCleanupGeneratorResult v;
org.finos.legend.engine.persistence.components.relational.RelationalSink v;
int v;
org.finos.legend.engine.persistence.components.util.MetadataDataset v;
org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder v, v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.util.LockInfoDataset v;
org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner v;
org.finos.legend.engine.persistence.components.util.LockInfoDataset$Builder v, v, v;
java.util.List v, v, v, v;
org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest v;
java.time.Clock v;
java.lang.Object v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition v;
v := @this: org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest;
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner: org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder builder()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.ansi.AnsiSqlSink: org.finos.legend.engine.persistence.components.relational.RelationalSink get()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder: org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder relationalSink(org.finos.legend.engine.persistence.components.relational.RelationalSink)>(v);
v = <org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition mainTable>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder: org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder mainDataset(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(v);
v = v.<org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest: org.finos.legend.engine.persistence.components.util.MetadataDataset metadata>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder: org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder metadataDataset(org.finos.legend.engine.persistence.components.util.MetadataDataset)>(v);
v = v.<org.finos.legend.engine.persistence.components.RelationalSinkCleanerTest: java.time.Clock fixedClock_2000_01_01>;
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder: org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder executionTimestampClock(java.time.Clock)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder: org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder requestedBy(java.lang.String)>("lh_dev");
v = staticinvoke <org.finos.legend.engine.persistence.components.util.LockInfoDataset: org.finos.legend.engine.persistence.components.util.LockInfoDataset$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.util.LockInfoDataset$Builder: org.finos.legend.engine.persistence.components.util.LockInfoDataset$Builder name(java.lang.String)>("lock_table");
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.util.LockInfoDataset$Builder: org.finos.legend.engine.persistence.components.util.LockInfoDataset$Builder group(java.lang.String)>("mydb");
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.util.LockInfoDataset$Builder: org.finos.legend.engine.persistence.components.util.LockInfoDataset build()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder: org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder lockDataset(org.finos.legend.engine.persistence.components.util.LockInfoDataset)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner$Builder: org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner build()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.RelationalSinkCleaner: org.finos.legend.engine.persistence.components.relational.api.SinkCleanupGeneratorResult generateOperationsForSinkCleanup()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.SinkCleanupGeneratorResult: java.util.List dropSql()>();
v = interfaceinvoke v.<java.util.List: int size()>();
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(int,int)>(3, v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.SinkCleanupGeneratorResult: java.util.List dropSql()>();
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)>("DROP TABLE IF EXISTS \"mydb\".\"main\"", v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.SinkCleanupGeneratorResult: java.util.List dropSql()>();
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)>("DROP TABLE IF EXISTS \"mydb\".\"lock_table\"", v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.api.SinkCleanupGeneratorResult: java.util.List dropSql()>();
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)>("DROP TABLE IF EXISTS \"mydb\".\"batch_metadata\"", v);
return;
}
}