use of org.teiid.metadata.Schema in project teiid by teiid.
the class TestProcessor method testInsertTempTableCreation1.
@Test
public void testInsertTempTableCreation1() {
MetadataStore metadataStore = new MetadataStore();
// $NON-NLS-1$
Schema v1 = RealMetadataFactory.createVirtualModel("v1", metadataStore);
// $NON-NLS-1$ //$NON-NLS-2$
QueryNode n1 = new QueryNode("CREATE VIRTUAL PROCEDURE BEGIN insert into #temp (var1) values (1); select 2 as var1 into #temp; select #temp.var1 from #temp; END");
// $NON-NLS-1$ //$NON-NLS-2$
ColumnSet<Procedure> rs = RealMetadataFactory.createResultSet("rs", new String[] { "var1" }, new String[] { DataTypeManager.DefaultDataTypes.INTEGER });
// $NON-NLS-1$
Procedure vp = RealMetadataFactory.createVirtualProcedure("vp", v1, null, n1);
vp.setResultSet(rs);
QueryMetadataInterface metadata = RealMetadataFactory.createTransformationMetadata(metadataStore, "foo");
// $NON-NLS-1$
ProcessorPlan plan = helpGetPlan("exec v1.vp()", metadata);
List[] expected = new List[] { Arrays.asList(new Object[] { new Integer(1) }), Arrays.asList(new Object[] { new Integer(2) }) };
helpProcess(plan, new FakeDataManager(), expected);
}
use of org.teiid.metadata.Schema in project teiid by teiid.
the class TestProcessor method createProjectErrorMetadata.
private TransformationMetadata createProjectErrorMetadata() {
MetadataStore metadataStore = new MetadataStore();
// $NON-NLS-1$
Schema p1 = RealMetadataFactory.createPhysicalModel("p1", metadataStore);
// $NON-NLS-1$
Table t1 = RealMetadataFactory.createPhysicalGroup("t", p1);
// $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
RealMetadataFactory.createElements(t1, new String[] { "a", "b" }, new String[] { "string", "string" });
// $NON-NLS-1$
Schema v1 = RealMetadataFactory.createVirtualModel("v1", metadataStore);
// $NON-NLS-1$ //$NON-NLS-2$
QueryNode n1 = new QueryNode("SELECT convert(a, integer) as c, b FROM p1.t");
// $NON-NLS-1$
Table vt1 = RealMetadataFactory.createVirtualGroup("t1", v1, n1);
// $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
RealMetadataFactory.createElements(vt1, new String[] { "c", "b" }, new String[] { "integer", "string" });
// $NON-NLS-1$ //$NON-NLS-2$
QueryNode n3 = new QueryNode("SELECT c, b FROM v1.t1 UNION ALL SELECT c, b FROM v1.t1");
// $NON-NLS-1$
Table vu1 = RealMetadataFactory.createVirtualGroup("u1", v1, n3);
// $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
RealMetadataFactory.createElements(vu1, new String[] { "c", "b" }, new String[] { "integer", "string" });
return RealMetadataFactory.createTransformationMetadata(metadataStore, "projectError");
}
use of org.teiid.metadata.Schema in project teiid by teiid.
the class TestProcessor method testInsertTempTableCreation.
/*
* Prior to case 3994 testInsertTempTableCreation1 worked, but testInsertTempTableCreation did not.
* Now they should both pass
*
*/
@Test
public void testInsertTempTableCreation() {
MetadataStore metadataStore = new MetadataStore();
// $NON-NLS-1$
Schema v1 = RealMetadataFactory.createVirtualModel("v1", metadataStore);
// $NON-NLS-1$ //$NON-NLS-2$
QueryNode n1 = new QueryNode("CREATE VIRTUAL PROCEDURE BEGIN insert into #temp (var1) values (1); select #temp.var1 from #temp; END");
// $NON-NLS-1$ //$NON-NLS-2$
ColumnSet<Procedure> rs = RealMetadataFactory.createResultSet("rs", new String[] { "var1" }, new String[] { DataTypeManager.DefaultDataTypes.INTEGER });
// $NON-NLS-1$
Procedure vp = RealMetadataFactory.createVirtualProcedure("vp", v1, null, n1);
vp.setResultSet(rs);
QueryMetadataInterface metadata = RealMetadataFactory.createTransformationMetadata(metadataStore, "foo");
// $NON-NLS-1$
ProcessorPlan plan = helpGetPlan("exec v1.vp()", metadata);
List[] expected = new List[] { Arrays.asList(new Object[] { new Integer(1) }) };
helpProcess(plan, new FakeDataManager(), expected);
}
use of org.teiid.metadata.Schema in project teiid by teiid.
the class TestProcedureProcessor method addProc.
private void addProc(TransformationMetadata metadata, String name, String query, String[] rsCols, String[] rsTypes, String[] params, String[] paramTypes) {
// $NON-NLS-1$
Schema pm1 = metadata.getMetadataStore().getSchema("PM1");
pm1.getProcedures().remove(name.toUpperCase());
ColumnSet<Procedure> rs2 = RealMetadataFactory.createResultSet("rs1", rsCols, rsTypes);
// $NON-NLS-1$
QueryNode sq2n1 = new QueryNode(query);
ArrayList<ProcedureParameter> procParams = new ArrayList<ProcedureParameter>(params.length);
for (int i = 0; i < params.length; i++) {
procParams.add(RealMetadataFactory.createParameter(params[i], SPParameter.IN, paramTypes[i]));
}
// $NON-NLS-1$
Procedure sq1 = RealMetadataFactory.createVirtualProcedure(name, pm1, procParams, sq2n1);
sq1.setResultSet(rs2);
}
use of org.teiid.metadata.Schema in project teiid by teiid.
the class TestCriteriaCapabilityValidatorVisitor method testSubqueryCompareCriteriaSearchableFail.
// element not searchable
@Test
public void testSubqueryCompareCriteriaSearchableFail() throws Exception {
TransformationMetadata metadata = RealMetadataFactory.example1();
Schema modelID = metadata.getMetadataStore().getSchema("PM1");
Column e1 = metadata.getElementID("pm1.g1.e1");
e1.setSearchType(SearchType.Like_Only);
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = new BasicSourceCapabilities();
caps.setCapabilitySupport(Capability.CRITERIA_COMPARE_EQ, true);
// $NON-NLS-1$
capFinder.addCapabilities("pm1", caps);
// $NON-NLS-1$
helpTestVisitorWithCommand("SELECT e1 FROM pm1.g1 WHERE pm1.g1.e1 = ANY (SELECT e1 FROM pm1.g2)", modelID, metadata, capFinder, false, false);
}
Aggregations