use of org.teiid.metadata.Schema in project teiid by teiid.
the class TestSourceHints method testHintInView.
@Test
public void testHintInView() {
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 /*+ sh:'x' */ a 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[] { "string", "string" });
TransformationMetadata metadata = RealMetadataFactory.createTransformationMetadata(metadataStore, "metadata");
// top level applies
HardcodedDataManager manager = manager("foo x", "leading");
// $NON-NLS-1$
String sql = "SELECT /*+ sh:'foo' bar:'leading' */ c from t1 order by c limit 1";
ProcessorPlan plan = helpGetPlan(sql, metadata);
List<?>[] expected = new List[] {};
helpProcess(plan, manager, expected);
// use the underlying hint
manager = manager("x", null);
// $NON-NLS-1$
sql = "SELECT c from t1 order by c limit 1";
plan = helpGetPlan(sql, metadata);
helpProcess(plan, manager, expected);
// $NON-NLS-1$
sql = "SELECT c from t1 union all select c from t1";
plan = helpGetPlan(sql, metadata);
helpProcess(plan, manager, expected);
}
use of org.teiid.metadata.Schema in project teiid by teiid.
the class TestResolver method example_12968.
public static TransformationMetadata example_12968() {
MetadataStore metadataStore = new MetadataStore();
// Create models
// $NON-NLS-1$
Schema pm1 = RealMetadataFactory.createPhysicalModel("myModel", metadataStore);
// $NON-NLS-1$
Schema pm2 = RealMetadataFactory.createPhysicalModel("myModel2", metadataStore);
// $NON-NLS-1$
Table pm1g1 = RealMetadataFactory.createPhysicalGroup("myTable", pm1);
// $NON-NLS-1$
Table pm2g1 = RealMetadataFactory.createPhysicalGroup("mySchema.myTable2", pm2);
RealMetadataFactory.createElements(pm1g1, // $NON-NLS-1$ //$NON-NLS-2$
new String[] { "myColumn", "myColumn2" }, new String[] { DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.INTEGER });
RealMetadataFactory.createElements(pm2g1, // $NON-NLS-1$ //$NON-NLS-2$
new String[] { "myColumn", "myColumn2" }, new String[] { DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.INTEGER });
return RealMetadataFactory.createTransformationMetadata(metadataStore, "12968");
}
use of org.teiid.metadata.Schema in project teiid by teiid.
the class TestResolver method testExecWithDuplicateNames.
@Test
public void testExecWithDuplicateNames() {
MetadataStore metadataStore = new MetadataStore();
Schema pm1 = RealMetadataFactory.createPhysicalModel("pm1", metadataStore);
// $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
ColumnSet<Procedure> rs2 = RealMetadataFactory.createResultSet("rs2", new String[] { "in", "e2" }, new String[] { DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.INTEGER });
// $NON-NLS-1$
ProcedureParameter rs2p2 = RealMetadataFactory.createParameter("in", ParameterInfo.IN, DataTypeManager.DefaultDataTypes.STRING);
// $NON-NLS-1$
Procedure sq2 = RealMetadataFactory.createStoredProcedure("sq2", pm1, Arrays.asList(rs2p2));
sq2.setResultSet(rs2);
QueryMetadataInterface metadata = RealMetadataFactory.createTransformationMetadata(metadataStore, "example1");
// $NON-NLS-1$ //$NON-NLS-2$
helpResolveException("select * from pm1.sq2", metadata, "TEIID30114 Cannot access procedure pm1.sq2 using table semantics since the parameter and result set column names are not all unique.");
}
use of org.teiid.metadata.Schema in project teiid by teiid.
the class TestValidator method exampleMetadata1.
public TransformationMetadata exampleMetadata1() {
MetadataStore metadataStore = new MetadataStore();
// Create metadata objects
// $NON-NLS-1$
Schema modelObj = RealMetadataFactory.createPhysicalModel("test", metadataStore);
// $NON-NLS-1$
Table groupObj = RealMetadataFactory.createPhysicalGroup("group", modelObj);
// $NON-NLS-1$
Column elemObj0 = RealMetadataFactory.createElement("e0", groupObj, DataTypeManager.DefaultDataTypes.INTEGER);
// $NON-NLS-1$
Column elemObj1 = RealMetadataFactory.createElement("e1", groupObj, DataTypeManager.DefaultDataTypes.STRING);
// $NON-NLS-1$
Column elemObj2 = RealMetadataFactory.createElement("e2", groupObj, DataTypeManager.DefaultDataTypes.STRING);
// $NON-NLS-1$
RealMetadataFactory.createElement("e3", groupObj, DataTypeManager.DefaultDataTypes.STRING);
elemObj0.setNullType(NullType.No_Nulls);
elemObj1.setNullType(NullType.Nullable);
elemObj1.setDefaultValue(Boolean.TRUE.toString());
elemObj2.setNullType(NullType.Nullable);
elemObj2.setDefaultValue(Boolean.FALSE.toString());
return RealMetadataFactory.createTransformationMetadata(metadataStore, "example1");
}
use of org.teiid.metadata.Schema in project teiid by teiid.
the class TestValidator method exampleMetadata2.
/**
* Group has element with type object
* @return QueryMetadataInterface
*/
public static TransformationMetadata exampleMetadata2() {
MetadataStore metadataStore = new MetadataStore();
// Create metadata objects
// $NON-NLS-1$
Schema modelObj = RealMetadataFactory.createPhysicalModel("test", metadataStore);
// $NON-NLS-1$
Table groupObj = RealMetadataFactory.createPhysicalGroup("group", modelObj);
RealMetadataFactory.createElements(groupObj, new String[] { // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
"e0", // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
"e1", // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
"e2", // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
"e3", // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
"e4", // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
"e5" }, new String[] { DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.OBJECT, DataTypeManager.DefaultDataTypes.BLOB, DataTypeManager.DefaultDataTypes.CLOB, DataTypeManager.DefaultDataTypes.XML });
return RealMetadataFactory.createTransformationMetadata(metadataStore, "example2");
}
Aggregations