public MetadataStore asMetadataStore() { MetadataStore store = new MetadataStore(); mergeInto(store); return store; }
public MetadataStore load(Collection<Datatype> systemDatatypes, VDBResources vdbResources) throws IOException { MetadataStore store = new MetadataStore(); loadAll(systemDatatypes, vdbResources.getEntriesPlusVisibilities()); // the index map below is keyed by uuid not modelname, so map lookup is not possible Collection<AbstractMetadataRecord> modelRecords = getByType(MetadataConstants.RECORD_TYPE.MODEL).values(); for (AbstractMetadataRecord modelRecord:modelRecords) { Schema s = (Schema) modelRecord; store.addSchema(s); getTables(s); getProcedures(s); } return store; }
public static TransformationMetadata exampleAggregates() { MetadataStore store = new MetadataStore(); addAggregateTablesToModel("m1", store); //$NON-NLS-1$ addAggregateTablesToModel("m2", store); //$NON-NLS-1$ // Create the facade from the store return createTransformationMetadata(store, "exampleAggregates"); }
@Test(expected=MetadataException.class) public void testDuplicatePrimarykey() throws Exception { QueryParser parser = new QueryParser(); String ddl = "CREATE FOREIGN TABLE G1( e1 integer primary key, e2 varchar primary key)"; MetadataStore mds = new MetadataStore(); MetadataFactory mf = new MetadataFactory("x", 1, "model", getDataTypes(), new Properties(), null); parser.parseDDL(mf, ddl); mf.mergeInto(mds); }
@Test public void testRenameView() throws Exception { QueryParser parser = new QueryParser(); MetadataStore mds = new MetadataStore(); MetadataFactory mf = new MetadataFactory("x", 1, "VM1", getDataTypes(), new Properties(), null); parser.parseDDL(mf,"CREATE VIEW V1 AS SELECT * FROM PM1.G1;ALTER VIEW V1 RENAME TO V2"); mf.mergeInto(mds); }
@Test(expected=MetadataException.class) public void testWrongPrimarykey() throws Exception { QueryParser parser = new QueryParser(); String ddl = "CREATE FOREIGN TABLE G1( e1 integer, e2 varchar, PRIMARY KEY (e3))"; MetadataStore mds = new MetadataStore(); MetadataFactory mf = new MetadataFactory("x", 1, "model", getDataTypes(), new Properties(), null); parser.parseDDL(mf, ddl); mf.mergeInto(mds); }
@Test public void testAutoIncrementPrimarykey() throws Exception { QueryParser parser = new QueryParser(); String ddl = "CREATE FOREIGN TABLE G1( e1 integer auto_increment primary key, e2 varchar)"; MetadataStore mds = new MetadataStore(); MetadataFactory mf = new MetadataFactory("x", 1, "model", getDataTypes(), new Properties(), null); parser.parseDDL(mf, ddl); mf.mergeInto(mds); }
@Test public void testRenameTableQualified() throws Exception { QueryParser parser = new QueryParser(); String ddl = "CREATE FOREIGN TABLE G1( e1 integer auto_increment primary key, e2 varchar);" + "ALTER TABLE model.G1 RENAME TO G2"; MetadataStore mds = new MetadataStore(); MetadataFactory mf = new MetadataFactory("x", 1, "model", getDataTypes(), new Properties(), null); parser.parseDDL(mf, ddl); mf.mergeInto(mds); }
@Test(expected=MetadataException.class) public void testTableWithPlan() throws Exception { QueryParser parser = new QueryParser(); String ddl = "CREATE foreign table G1 as select 1"; MetadataStore mds = new MetadataStore(); MetadataFactory mf = new MetadataFactory("x", 1, "model", getDataTypes(), new Properties(), null); parser.parseDDL(mf,ddl); mf.mergeInto(mds); }
@Test public void testViewWithoutColumns() throws Exception { QueryParser parser = new QueryParser(); MetadataStore mds = new MetadataStore(); MetadataFactory mf = new MetadataFactory("x", 1, "VM1", getDataTypes(), new Properties(), null); parser.parseDDL(mf,"CREATE VIEW V1 AS SELECT * FROM PM1.G1"); mf.mergeInto(mds); }
@Test public void testViewWithoutColumnTypes() throws Exception { QueryParser parser = new QueryParser(); MetadataStore mds = new MetadataStore(); MetadataFactory mf = new MetadataFactory("x", 1, "VM1", getDataTypes(), new Properties(), null); parser.parseDDL(mf,"CREATE VIEW V1 (e11, e12, e13, e14) AS SELECT * FROM PM1.G1"); mf.mergeInto(mds); }
@Test public void testReservedNamespace1() throws Exception { QueryParser parser = new QueryParser(); String ddl = "set namespace 'http://www.teiid.org/translator/salesforce/2012' AS teiid_sf"; MetadataStore mds = new MetadataStore(); MetadataFactory mf = new MetadataFactory("x", 1, "model", getDataTypes(), new Properties(), null); parser.parseDDL(mf, ddl); mf.mergeInto(mds); assertTrue(mf.getNamespaces().keySet().contains("teiid_sf")); assertEquals("http://www.teiid.org/translator/salesforce/2012", mf.getNamespaces().get("teiid_sf")); }
@Test(expected=MetadataException.class) public void testReservedNamespaceURIWrong() throws Exception { QueryParser parser = new QueryParser(); String ddl = "set namespace 'http://www.teiid.org/translator/salesforce/2013' AS teiid_sf"; MetadataStore mds = new MetadataStore(); MetadataFactory mf = new MetadataFactory("x", 1, "model", getDataTypes(), new Properties(), null); parser.parseDDL(mf, ddl); mf.mergeInto(mds); assertTrue(mf.getNamespaces().keySet().contains("teiid_sf")); assertEquals("http://www.teiid.org/translator/salesforce/2012", mf.getNamespaces().get("teiid_sf")); }
@Test public void testRenameTable() throws Exception { QueryParser parser = new QueryParser(); String ddl = "CREATE FOREIGN TABLE G1( e1 integer auto_increment primary key, e2 varchar);" + "ALTER TABLE G1 RENAME TO G2"; MetadataStore mds = new MetadataStore(); MetadataFactory mf = new MetadataFactory("x", 1, "model", getDataTypes(), new Properties(), null); parser.parseDDL(mf, ddl); mf.mergeInto(mds); }
@Test public void testReservedURIDifferentNS() throws Exception { QueryParser parser = new QueryParser(); String ddl = "set namespace 'http://www.teiid.org/translator/salesforce/2012' AS ns"; MetadataStore mds = new MetadataStore(); MetadataFactory mf = new MetadataFactory("x", 1, "model", getDataTypes(), new Properties(), null); parser.parseDDL(mf, ddl); mf.mergeInto(mds); assertTrue(mf.getNamespaces().keySet().contains("ns")); assertEquals("http://www.teiid.org/translator/salesforce/2012", mf.getNamespaces().get("ns")); }
@Test public void testNamespace() throws Exception { QueryParser parser = new QueryParser(); String ddl = "set namespace 'http://teiid.org' AS teiid"; MetadataStore mds = new MetadataStore(); MetadataFactory mf = new MetadataFactory("x", 1, "model", getDataTypes(), new Properties(), null); parser.parseDDL(mf, ddl); mf.mergeInto(mds); assertTrue(mf.getNamespaces().keySet().contains("teiid")); assertEquals("http://teiid.org", mf.getNamespaces().get("teiid")); }
@Test(expected=MetadataException.class) public void testReservedNamespacePrefixMismatch() throws Exception { QueryParser parser = new QueryParser(); String ddl = "set namespace 'http://www.teiid.org/translator/salesforce/2012' AS teiid_foo"; MetadataStore mds = new MetadataStore(); MetadataFactory mf = new MetadataFactory("x", 1, "model", getDataTypes(), new Properties(), null); parser.parseDDL(mf, ddl); mf.mergeInto(mds); assertTrue(mf.getNamespaces().keySet().contains("teiid_foo")); assertEquals("http://www.teiid.org/translator/salesforce/2012", mf.getNamespaces().get("teiid_foo")); }
@Test public void testExecWithDuplicateNames() { MetadataStore metadataStore = new MetadataStore(); Schema pm1 = RealMetadataFactory.createPhysicalModel("pm1", metadataStore); ColumnSet<Procedure> rs2 = RealMetadataFactory.createResultSet("rs2", new String[] { "in", "e2" }, new String[] { DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.INTEGER }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ ProcedureParameter rs2p2 = RealMetadataFactory.createParameter("in", ParameterInfo.IN, DataTypeManager.DefaultDataTypes.STRING); //$NON-NLS-1$ Procedure sq2 = RealMetadataFactory.createStoredProcedure("sq2", pm1, Arrays.asList(rs2p2)); //$NON-NLS-1$ sq2.setResultSet(rs2); QueryMetadataInterface metadata = RealMetadataFactory.createTransformationMetadata(metadataStore, "example1"); 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."); //$NON-NLS-1$ //$NON-NLS-2$ }
@Before public void setUp() { MetadataStore metadataStore = new MetadataStore(); CompositeMetadataStore store = new CompositeMetadataStore(metadataStore); VDBMetaData vdbMetaData = new VDBMetaData(); vdbMetaData.setName("foo"); //$NON-NLS-1$ vdbMetaData.setVersion(1); Map<String, VDBResources.Resource> vdbEntries = new LinkedHashMap<String, VDBResources.Resource>(); vdbEntries.put(MY_RESOURCE_PATH, new VDBResources.Resource(root.getChild("foo"))); metadataFactory = new RuntimeMetadataImpl(new TransformationMetadata(vdbMetaData, store, vdbEntries, null, null)); }
public static TransformationMetadata exampleMetadata3() { MetadataStore metadataStore = new MetadataStore(); // Create metadata objects Schema modelObj = RealMetadataFactory.createPhysicalModel("test", metadataStore); //$NON-NLS-1$ Table groupObj = RealMetadataFactory.createPhysicalGroup("group", modelObj); //$NON-NLS-1$ RealMetadataFactory.createElement("e0", groupObj, DataTypeManager.DefaultDataTypes.INTEGER); //$NON-NLS-1$ Column elemObj1 = RealMetadataFactory.createElement("e1", groupObj, DataTypeManager.DefaultDataTypes.STRING); //$NON-NLS-1$ elemObj1.setNullType(NullType.No_Nulls); elemObj1.setDefaultValue(Boolean.FALSE.toString()); elemObj1.setAutoIncremented(true); elemObj1.setNameInSource("e1:SEQUENCE=MYSEQUENCE.nextVal"); //$NON-NLS-1$ return RealMetadataFactory.createTransformationMetadata(metadataStore, "example3"); }