public class org.finos.legend.engine.query.sql.api.TableSourceExtractorTest extends java.lang.Object
{
private static final org.finos.legend.engine.query.sql.providers.core.TableSource TABLE_1;
private static final org.finos.legend.engine.query.sql.providers.core.TableSource TABLE_2;
private static final org.finos.legend.engine.query.sql.providers.core.TableSource TABLE_1_ARGS;
public void <init>()
{
org.finos.legend.engine.query.sql.api.TableSourceExtractorTest v;
v := @this: org.finos.legend.engine.query.sql.api.TableSourceExtractorTest;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
private transient void test(java.lang.String, org.finos.legend.engine.query.sql.providers.core.TableSource[])
{
org.eclipse.collections.api.factory.set.MutableSetFactory v;
org.finos.legend.engine.protocol.sql.metamodel.Statement v;
org.finos.legend.engine.query.sql.providers.core.TableSource[] v;
org.eclipse.collections.api.set.MutableSet v;
org.finos.legend.engine.query.sql.api.TableSourceExtractorTest v;
org.finos.legend.engine.language.sql.grammar.'from'.SQLGrammarParser v;
java.lang.Object v;
java.lang.String v;
org.finos.legend.engine.query.sql.api.TableSourceExtractor v;
v := @this: org.finos.legend.engine.query.sql.api.TableSourceExtractorTest;
v := @parameter: java.lang.String;
v := @parameter: org.finos.legend.engine.query.sql.providers.core.TableSource[];
v = new org.finos.legend.engine.query.sql.api.TableSourceExtractor;
specialinvoke v.<org.finos.legend.engine.query.sql.api.TableSourceExtractor: void <init>()>();
v = staticinvoke <org.finos.legend.engine.language.sql.grammar.'from'.SQLGrammarParser: org.finos.legend.engine.language.sql.grammar.'from'.SQLGrammarParser newInstance()>();
v = virtualinvoke v.<org.finos.legend.engine.language.sql.grammar.'from'.SQLGrammarParser: org.finos.legend.engine.protocol.sql.metamodel.Statement parseStatement(java.lang.String)>(v);
v = virtualinvoke v.<org.finos.legend.engine.query.sql.api.TableSourceExtractor: java.lang.Object visit(org.finos.legend.engine.protocol.sql.metamodel.Statement)>(v);
v = <org.eclipse.collections.api.factory.Sets: org.eclipse.collections.api.factory.set.MutableSetFactory mutable>;
v = interfaceinvoke v.<org.eclipse.collections.api.factory.set.MutableSetFactory: org.eclipse.collections.api.set.MutableSet 'with'(java.lang.Object[])>(v);
staticinvoke <org.junit.Assert: void assertEquals(java.lang.Object,java.lang.Object)>(v, v);
return;
}
public void testSimpleTable()
{
org.finos.legend.engine.query.sql.providers.core.TableSource v;
org.finos.legend.engine.query.sql.api.TableSourceExtractorTest v;
org.finos.legend.engine.query.sql.providers.core.TableSource[] v;
v := @this: org.finos.legend.engine.query.sql.api.TableSourceExtractorTest;
v = newarray (org.finos.legend.engine.query.sql.providers.core.TableSource)[1];
v = <org.finos.legend.engine.query.sql.api.TableSourceExtractorTest: org.finos.legend.engine.query.sql.providers.core.TableSource TABLE_1>;
v[0] = v;
specialinvoke v.<org.finos.legend.engine.query.sql.api.TableSourceExtractorTest: void test(java.lang.String,org.finos.legend.engine.query.sql.providers.core.TableSource[])>("select * from service.table1", v);
return;
}
public void testSimpleTableFunc()
{
org.finos.legend.engine.query.sql.providers.core.TableSource v;
org.finos.legend.engine.query.sql.api.TableSourceExtractorTest v;
org.finos.legend.engine.query.sql.providers.core.TableSource[] v;
v := @this: org.finos.legend.engine.query.sql.api.TableSourceExtractorTest;
v = newarray (org.finos.legend.engine.query.sql.providers.core.TableSource)[1];
v = <org.finos.legend.engine.query.sql.api.TableSourceExtractorTest: org.finos.legend.engine.query.sql.providers.core.TableSource TABLE_1>;
v[0] = v;
specialinvoke v.<org.finos.legend.engine.query.sql.api.TableSourceExtractorTest: void test(java.lang.String,org.finos.legend.engine.query.sql.providers.core.TableSource[])>("select * from service(\'table1\')", v);
return;
}
public void testUnionDuplicate()
{
org.finos.legend.engine.query.sql.providers.core.TableSource v;
org.finos.legend.engine.query.sql.api.TableSourceExtractorTest v;
org.finos.legend.engine.query.sql.providers.core.TableSource[] v;
v := @this: org.finos.legend.engine.query.sql.api.TableSourceExtractorTest;
v = newarray (org.finos.legend.engine.query.sql.providers.core.TableSource)[1];
v = <org.finos.legend.engine.query.sql.api.TableSourceExtractorTest: org.finos.legend.engine.query.sql.providers.core.TableSource TABLE_1>;
v[0] = v;
specialinvoke v.<org.finos.legend.engine.query.sql.api.TableSourceExtractorTest: void test(java.lang.String,org.finos.legend.engine.query.sql.providers.core.TableSource[])>("select * from service(\'table1\') UNION select * from service.table1", v);
return;
}
public void testUnionNoDuplicate()
{
org.finos.legend.engine.query.sql.providers.core.TableSource v, v;
org.finos.legend.engine.query.sql.api.TableSourceExtractorTest v;
org.finos.legend.engine.query.sql.providers.core.TableSource[] v;
v := @this: org.finos.legend.engine.query.sql.api.TableSourceExtractorTest;
v = newarray (org.finos.legend.engine.query.sql.providers.core.TableSource)[2];
v = <org.finos.legend.engine.query.sql.api.TableSourceExtractorTest: org.finos.legend.engine.query.sql.providers.core.TableSource TABLE_1>;
v[0] = v;
v = <org.finos.legend.engine.query.sql.api.TableSourceExtractorTest: org.finos.legend.engine.query.sql.providers.core.TableSource TABLE_2>;
v[1] = v;
specialinvoke v.<org.finos.legend.engine.query.sql.api.TableSourceExtractorTest: void test(java.lang.String,org.finos.legend.engine.query.sql.providers.core.TableSource[])>("select * from service(\'table1\') UNION select * from service.table2", v);
return;
}
public void testUnionDuplicateArgs()
{
org.finos.legend.engine.query.sql.providers.core.TableSource v;
org.finos.legend.engine.query.sql.api.TableSourceExtractorTest v;
org.finos.legend.engine.query.sql.providers.core.TableSource[] v;
v := @this: org.finos.legend.engine.query.sql.api.TableSourceExtractorTest;
v = newarray (org.finos.legend.engine.query.sql.providers.core.TableSource)[1];
v = <org.finos.legend.engine.query.sql.api.TableSourceExtractorTest: org.finos.legend.engine.query.sql.providers.core.TableSource TABLE_1_ARGS>;
v[0] = v;
specialinvoke v.<org.finos.legend.engine.query.sql.api.TableSourceExtractorTest: void test(java.lang.String,org.finos.legend.engine.query.sql.providers.core.TableSource[])>("select * from service(\'table1\', a => 1, b => \'abc\', c => true) UNION select * from service(\'table1\', a => 1, b => \'abc\', c => true)", v);
return;
}
public void testUnionNoDuplicateArgs()
{
org.finos.legend.engine.query.sql.providers.core.TableSource v, v;
java.lang.Integer v;
org.eclipse.collections.impl.list.mutable.FastList v;
org.finos.legend.engine.query.sql.providers.core.TableSource[] v;
org.finos.legend.engine.query.sql.providers.core.TableSourceArgument[] v;
java.lang.Long v;
org.finos.legend.engine.query.sql.api.TableSourceExtractorTest v;
java.lang.Boolean v;
org.finos.legend.engine.query.sql.providers.core.TableSourceArgument v, v, v, v;
v := @this: org.finos.legend.engine.query.sql.api.TableSourceExtractorTest;
v = new org.finos.legend.engine.query.sql.providers.core.TableSource;
v = newarray (org.finos.legend.engine.query.sql.providers.core.TableSourceArgument)[4];
v = new org.finos.legend.engine.query.sql.providers.core.TableSourceArgument;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(0);
specialinvoke v.<org.finos.legend.engine.query.sql.providers.core.TableSourceArgument: void <init>(java.lang.String,java.lang.Integer,java.lang.Object)>(null, v, "table1");
v[0] = v;
v = new org.finos.legend.engine.query.sql.providers.core.TableSourceArgument;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(1L);
specialinvoke v.<org.finos.legend.engine.query.sql.providers.core.TableSourceArgument: void <init>(java.lang.String,java.lang.Integer,java.lang.Object)>("a", null, v);
v[1] = v;
v = new org.finos.legend.engine.query.sql.providers.core.TableSourceArgument;
specialinvoke v.<org.finos.legend.engine.query.sql.providers.core.TableSourceArgument: void <init>(java.lang.String,java.lang.Integer,java.lang.Object)>("b", null, "abc");
v[2] = v;
v = new org.finos.legend.engine.query.sql.providers.core.TableSourceArgument;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(0);
specialinvoke v.<org.finos.legend.engine.query.sql.providers.core.TableSourceArgument: void <init>(java.lang.String,java.lang.Integer,java.lang.Object)>("c", null, v);
v[3] = v;
v = staticinvoke <org.eclipse.collections.impl.list.mutable.FastList: org.eclipse.collections.impl.list.mutable.FastList newListWith(java.lang.Object[])>(v);
specialinvoke v.<org.finos.legend.engine.query.sql.providers.core.TableSource: void <init>(java.lang.String,java.util.List)>("service", v);
v = newarray (org.finos.legend.engine.query.sql.providers.core.TableSource)[2];
v = <org.finos.legend.engine.query.sql.api.TableSourceExtractorTest: org.finos.legend.engine.query.sql.providers.core.TableSource TABLE_1_ARGS>;
v[0] = v;
v[1] = v;
specialinvoke v.<org.finos.legend.engine.query.sql.api.TableSourceExtractorTest: void test(java.lang.String,org.finos.legend.engine.query.sql.providers.core.TableSource[])>("select * from service(\'table1\', a => 1, b => \'abc\', c => true) UNION select * from service(\'table1\', a => 1, b => \'abc\', c => false)", v);
return;
}
static void <clinit>()
{
org.finos.legend.engine.query.sql.providers.core.TableSource v, v, v;
java.lang.Integer v, v, v;
org.eclipse.collections.impl.list.mutable.FastList v, v, v;
org.finos.legend.engine.query.sql.providers.core.TableSourceArgument[] v, v, v;
java.lang.Long v;
java.lang.Boolean v;
org.finos.legend.engine.query.sql.providers.core.TableSourceArgument v, v, v, v, v, v;
v = new org.finos.legend.engine.query.sql.providers.core.TableSource;
v = newarray (org.finos.legend.engine.query.sql.providers.core.TableSourceArgument)[1];
v = new org.finos.legend.engine.query.sql.providers.core.TableSourceArgument;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(0);
specialinvoke v.<org.finos.legend.engine.query.sql.providers.core.TableSourceArgument: void <init>(java.lang.String,java.lang.Integer,java.lang.Object)>(null, v, "table1");
v[0] = v;
v = staticinvoke <org.eclipse.collections.impl.list.mutable.FastList: org.eclipse.collections.impl.list.mutable.FastList newListWith(java.lang.Object[])>(v);
specialinvoke v.<org.finos.legend.engine.query.sql.providers.core.TableSource: void <init>(java.lang.String,java.util.List)>("service", v);
<org.finos.legend.engine.query.sql.api.TableSourceExtractorTest: org.finos.legend.engine.query.sql.providers.core.TableSource TABLE_1> = v;
v = new org.finos.legend.engine.query.sql.providers.core.TableSource;
v = newarray (org.finos.legend.engine.query.sql.providers.core.TableSourceArgument)[1];
v = new org.finos.legend.engine.query.sql.providers.core.TableSourceArgument;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(0);
specialinvoke v.<org.finos.legend.engine.query.sql.providers.core.TableSourceArgument: void <init>(java.lang.String,java.lang.Integer,java.lang.Object)>(null, v, "table2");
v[0] = v;
v = staticinvoke <org.eclipse.collections.impl.list.mutable.FastList: org.eclipse.collections.impl.list.mutable.FastList newListWith(java.lang.Object[])>(v);
specialinvoke v.<org.finos.legend.engine.query.sql.providers.core.TableSource: void <init>(java.lang.String,java.util.List)>("service", v);
<org.finos.legend.engine.query.sql.api.TableSourceExtractorTest: org.finos.legend.engine.query.sql.providers.core.TableSource TABLE_2> = v;
v = new org.finos.legend.engine.query.sql.providers.core.TableSource;
v = newarray (org.finos.legend.engine.query.sql.providers.core.TableSourceArgument)[4];
v = new org.finos.legend.engine.query.sql.providers.core.TableSourceArgument;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(0);
specialinvoke v.<org.finos.legend.engine.query.sql.providers.core.TableSourceArgument: void <init>(java.lang.String,java.lang.Integer,java.lang.Object)>(null, v, "table1");
v[0] = v;
v = new org.finos.legend.engine.query.sql.providers.core.TableSourceArgument;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(1L);
specialinvoke v.<org.finos.legend.engine.query.sql.providers.core.TableSourceArgument: void <init>(java.lang.String,java.lang.Integer,java.lang.Object)>("a", null, v);
v[1] = v;
v = new org.finos.legend.engine.query.sql.providers.core.TableSourceArgument;
specialinvoke v.<org.finos.legend.engine.query.sql.providers.core.TableSourceArgument: void <init>(java.lang.String,java.lang.Integer,java.lang.Object)>("b", null, "abc");
v[2] = v;
v = new org.finos.legend.engine.query.sql.providers.core.TableSourceArgument;
v = staticinvoke <java.lang.Boolean: java.lang.Boolean valueOf(boolean)>(1);
specialinvoke v.<org.finos.legend.engine.query.sql.providers.core.TableSourceArgument: void <init>(java.lang.String,java.lang.Integer,java.lang.Object)>("c", null, v);
v[3] = v;
v = staticinvoke <org.eclipse.collections.impl.list.mutable.FastList: org.eclipse.collections.impl.list.mutable.FastList newListWith(java.lang.Object[])>(v);
specialinvoke v.<org.finos.legend.engine.query.sql.providers.core.TableSource: void <init>(java.lang.String,java.util.List)>("service", v);
<org.finos.legend.engine.query.sql.api.TableSourceExtractorTest: org.finos.legend.engine.query.sql.providers.core.TableSource TABLE_1_ARGS> = v;
return;
}
}