public class org.finos.legend.engine.persistence.components.util.DatasetDeduplicationHandlerTest extends org.finos.legend.engine.persistence.components.IngestModeTest
{
private final org.finos.legend.engine.persistence.components.transformer.TransformOptions transformOptions;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset;
java.lang.String expectedSql;
public void <init>()
{
org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder v, v, v, v, v, v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition v;
org.finos.legend.engine.persistence.components.transformer.TransformOptions v;
org.finos.legend.engine.persistence.components.util.DatasetDeduplicationHandlerTest v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition v;
org.finos.legend.engine.persistence.components.transformer.TransformOptions$Builder v;
v := @this: org.finos.legend.engine.persistence.components.util.DatasetDeduplicationHandlerTest;
specialinvoke v.<org.finos.legend.engine.persistence.components.IngestModeTest: void <init>()>();
v = staticinvoke <org.finos.legend.engine.persistence.components.transformer.TransformOptions: org.finos.legend.engine.persistence.components.transformer.TransformOptions$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.transformer.TransformOptions$Builder: org.finos.legend.engine.persistence.components.transformer.TransformOptions build()>();
v.<org.finos.legend.engine.persistence.components.util.DatasetDeduplicationHandlerTest: org.finos.legend.engine.persistence.components.transformer.TransformOptions transformOptions> = v;
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder builder()>();
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)>("my_db");
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder: org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition$Builder group(java.lang.String)>("my_schema");
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)>("my_table");
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)>("stage");
v = v.<org.finos.legend.engine.persistence.components.util.DatasetDeduplicationHandlerTest: org.finos.legend.engine.persistence.components.logicalplan.datasets.SchemaDefinition baseTableSchemaWithVersion>;
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()>();
v.<org.finos.legend.engine.persistence.components.util.DatasetDeduplicationHandlerTest: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset> = v;
v.<org.finos.legend.engine.persistence.components.util.DatasetDeduplicationHandlerTest: java.lang.String expectedSql> = "SELECT stage.\"id\",stage.\"name\",stage.\"version\",stage.\"biz_date\",COUNT(*) as \"legend_persistence_count\" FROM \"my_db\".\"my_schema\".\"my_table\" as stage GROUP BY stage.\"id\", stage.\"name\", stage.\"version\", stage.\"biz_date\"";
return;
}
public void testDatasetDeduplicationFailOnDuplicates()
{
org.finos.legend.engine.persistence.components.relational.SqlPlan v;
org.finos.legend.engine.persistence.components.transformer.TransformOptions v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan$Builder v, v;
org.finos.legend.engine.persistence.components.relational.RelationalSink v;
org.finos.legend.engine.persistence.components.util.DatasetDeduplicationHandlerTest v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v;
java.lang.String v;
org.finos.legend.engine.persistence.components.relational.transformer.RelationalTransformer v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection v;
org.finos.legend.engine.persistence.components.ingestmode.deduplication.FailOnDuplicates v;
org.finos.legend.engine.persistence.components.ingestmode.deduplication.FailOnDuplicates$Builder v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan v;
java.util.List v;
org.finos.legend.engine.persistence.components.ingestmode.deduplication.DatasetDeduplicationHandler v;
java.lang.Object v;
v := @this: org.finos.legend.engine.persistence.components.util.DatasetDeduplicationHandlerTest;
v = staticinvoke <org.finos.legend.engine.persistence.components.ingestmode.deduplication.FailOnDuplicates: org.finos.legend.engine.persistence.components.ingestmode.deduplication.FailOnDuplicates$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.deduplication.FailOnDuplicates$Builder: org.finos.legend.engine.persistence.components.ingestmode.deduplication.FailOnDuplicates build()>();
v = new org.finos.legend.engine.persistence.components.ingestmode.deduplication.DatasetDeduplicationHandler;
v = v.<org.finos.legend.engine.persistence.components.util.DatasetDeduplicationHandlerTest: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset>;
specialinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.deduplication.DatasetDeduplicationHandler: void <init>(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(v);
virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.deduplication.FailOnDuplicates: java.lang.Object accept(org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategyVisitor)>(v);
v = new org.finos.legend.engine.persistence.components.relational.transformer.RelationalTransformer;
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.ansi.AnsiSqlSink: org.finos.legend.engine.persistence.components.relational.RelationalSink get()>();
v = v.<org.finos.legend.engine.persistence.components.util.DatasetDeduplicationHandlerTest: org.finos.legend.engine.persistence.components.transformer.TransformOptions transformOptions>;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.transformer.RelationalTransformer: void <init>(org.finos.legend.engine.persistence.components.relational.RelationalSink,org.finos.legend.engine.persistence.components.transformer.TransformOptions)>(v, v);
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan$Builder: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan$Builder addOps(org.finos.legend.engine.persistence.components.logicalplan.operations.Operation)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan$Builder: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan build()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.transformer.RelationalTransformer: org.finos.legend.engine.persistence.components.relational.SqlPlan generatePhysicalPlan(org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.SqlPlan: java.util.List getSqlList()>();
v = v.<org.finos.legend.engine.persistence.components.util.DatasetDeduplicationHandlerTest: java.lang.String expectedSql>;
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 testDatasetDeduplicationFilterDuplicates()
{
org.finos.legend.engine.persistence.components.relational.SqlPlan v;
org.finos.legend.engine.persistence.components.transformer.TransformOptions v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan$Builder v, v;
org.finos.legend.engine.persistence.components.relational.RelationalSink v;
org.finos.legend.engine.persistence.components.util.DatasetDeduplicationHandlerTest v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v;
java.lang.String v;
org.finos.legend.engine.persistence.components.relational.transformer.RelationalTransformer v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Selection v;
org.finos.legend.engine.persistence.components.ingestmode.deduplication.FilterDuplicates v;
org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan v;
java.util.List v;
org.finos.legend.engine.persistence.components.ingestmode.deduplication.FilterDuplicates$Builder v;
org.finos.legend.engine.persistence.components.ingestmode.deduplication.DatasetDeduplicationHandler v;
java.lang.Object v;
v := @this: org.finos.legend.engine.persistence.components.util.DatasetDeduplicationHandlerTest;
v = staticinvoke <org.finos.legend.engine.persistence.components.ingestmode.deduplication.FilterDuplicates: org.finos.legend.engine.persistence.components.ingestmode.deduplication.FilterDuplicates$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.deduplication.FilterDuplicates$Builder: org.finos.legend.engine.persistence.components.ingestmode.deduplication.FilterDuplicates build()>();
v = new org.finos.legend.engine.persistence.components.ingestmode.deduplication.DatasetDeduplicationHandler;
v = v.<org.finos.legend.engine.persistence.components.util.DatasetDeduplicationHandlerTest: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset>;
specialinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.deduplication.DatasetDeduplicationHandler: void <init>(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(v);
virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.deduplication.FilterDuplicates: java.lang.Object accept(org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategyVisitor)>(v);
v = new org.finos.legend.engine.persistence.components.relational.transformer.RelationalTransformer;
v = staticinvoke <org.finos.legend.engine.persistence.components.relational.ansi.AnsiSqlSink: org.finos.legend.engine.persistence.components.relational.RelationalSink get()>();
v = v.<org.finos.legend.engine.persistence.components.util.DatasetDeduplicationHandlerTest: org.finos.legend.engine.persistence.components.transformer.TransformOptions transformOptions>;
specialinvoke v.<org.finos.legend.engine.persistence.components.relational.transformer.RelationalTransformer: void <init>(org.finos.legend.engine.persistence.components.relational.RelationalSink,org.finos.legend.engine.persistence.components.transformer.TransformOptions)>(v, v);
v = staticinvoke <org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan$Builder: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan$Builder addOps(org.finos.legend.engine.persistence.components.logicalplan.operations.Operation)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan$Builder: org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan build()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.transformer.RelationalTransformer: org.finos.legend.engine.persistence.components.relational.SqlPlan generatePhysicalPlan(org.finos.legend.engine.persistence.components.logicalplan.LogicalPlan)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.relational.SqlPlan: java.util.List getSqlList()>();
v = v.<org.finos.legend.engine.persistence.components.util.DatasetDeduplicationHandlerTest: java.lang.String expectedSql>;
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 testDatasetDeduplicationAllowDuplicates()
{
org.finos.legend.engine.persistence.components.ingestmode.deduplication.AllowDuplicates$Builder v;
org.finos.legend.engine.persistence.components.ingestmode.deduplication.AllowDuplicates v;
org.finos.legend.engine.persistence.components.util.DatasetDeduplicationHandlerTest v;
org.finos.legend.engine.persistence.components.ingestmode.deduplication.DatasetDeduplicationHandler v;
org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset v, v, v;
java.lang.Object v;
boolean v;
v := @this: org.finos.legend.engine.persistence.components.util.DatasetDeduplicationHandlerTest;
v = staticinvoke <org.finos.legend.engine.persistence.components.ingestmode.deduplication.AllowDuplicates: org.finos.legend.engine.persistence.components.ingestmode.deduplication.AllowDuplicates$Builder builder()>();
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.deduplication.AllowDuplicates$Builder: org.finos.legend.engine.persistence.components.ingestmode.deduplication.AllowDuplicates build()>();
v = new org.finos.legend.engine.persistence.components.ingestmode.deduplication.DatasetDeduplicationHandler;
v = v.<org.finos.legend.engine.persistence.components.util.DatasetDeduplicationHandlerTest: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset>;
specialinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.deduplication.DatasetDeduplicationHandler: void <init>(org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset)>(v);
v = virtualinvoke v.<org.finos.legend.engine.persistence.components.ingestmode.deduplication.AllowDuplicates: java.lang.Object accept(org.finos.legend.engine.persistence.components.ingestmode.deduplication.DeduplicationStrategyVisitor)>(v);
v = v instanceof org.finos.legend.engine.persistence.components.logicalplan.datasets.DatasetDefinition;
staticinvoke <org.junit.jupiter.api.Assertions: void assertTrue(boolean)>(v);
v = v.<org.finos.legend.engine.persistence.components.util.DatasetDeduplicationHandlerTest: org.finos.legend.engine.persistence.components.logicalplan.datasets.Dataset stagingDataset>;
staticinvoke <org.junit.jupiter.api.Assertions: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
return;
}
}