Package org.teiid.query.metadata

Examples of org.teiid.query.metadata.TransformationMetadata


   
    public void testGetXmlSchemas() throws Exception {
        FakeCapabilitiesFinder finder = new FakeCapabilitiesFinder();
        finder.addCapabilities("sample", new BasicSourceCapabilities()); //$NON-NLS-1$
       
        TransformationMetadata metadata = createMetadata(UnitTestUtil.getTestDataPath()+"/test.vdb"); //$NON-NLS-1$
       
        String sql = "call getXMLSchemas('testdocument.testDocument')"//$NON-NLS-1$

        DQPCore core = Mockito.mock(DQPCore.class);
        RequestWorkItem rwi = Mockito.mock(RequestWorkItem.class);
View Full Code Here


        FakeCapabilitiesFinder finder = new FakeCapabilitiesFinder();
        finder.addCapabilities("oracle", CapabilitiesConverter.convertCapabilities(new OracleExecutionFactory())); //$NON-NLS-1$
        finder.addCapabilities("sybase", CapabilitiesConverter.convertCapabilities(new SybaseExecutionFactory())); //$NON-NLS-1$

        TransformationMetadata metadata = RealMetadataFactory.createTransformationMetadata(metadataStore, "star");
       
        TestOptimizer.helpPlan(sql, metadata, new String[] {
            "SELECT g_0.CurrencyCode AS c_0 FROM sybase.s2 AS g_0 WHERE g_0.Name = 'abc' ORDER BY c_0",
            "SELECT g_0.BOOKID AS c_0 FROM sybase.s1 AS g_0 WHERE g_0.Name = 'xyz' ORDER BY c_0",
            "SELECT g_0.PRODUCTID AS c_0, g_0.Description AS c_1 FROM sybase.s3 AS g_0 ORDER BY c_0",
View Full Code Here

      helpProcess(plan, context, dm, expected);
      assertEquals("UPDATE pm1.g1 SET e2 = 5 WHERE e2 = 2", dm.getQueries().get(0));
  }
 
  @Test public void testUpdateWithNonConstant() throws Exception {
    TransformationMetadata metadata = TestUpdateValidator.example1();
    TestUpdateValidator.createView("select 1 as x, 2 as y", metadata, GX);
    Table t = metadata.getMetadataStore().getSchemas().get(VM1).getTables().get(GX);
    t.setDeletePlan("");
    t.setUpdatePlan("FOR EACH ROW BEGIN update pm1.g1 set e2 = new.y where e2 = old.y; END");
    t.setInsertPlan("");
   
    String sql = "update gx set y = x";
View Full Code Here

        helpTest(userSql, viewSql, expectedSql, null)
  }

  private Command helpTest(String userSql, String viewSql, String expectedSql, ProcessorDataManager dm)
      throws Exception {
    TransformationMetadata metadata = TestUpdateValidator.example1();
        TestUpdateValidator.createView(viewSql, metadata, "gx");
        Command command = TestQueryRewriter.helpTestRewriteCommand(userSql, expectedSql, metadata);

        if (dm != null) {
          CommandContext context = createCommandContext();
View Full Code Here

  void restore() throws QueryResolverException, QueryValidatorException, TeiidComponentException {
    if (this.objectsAccessed != null) {
      return;
    }
    VDBMetaData vdb = DQPWorkContext.getWorkContext().getVDB();
    TransformationMetadata tm = vdb.getAttachment(TransformationMetadata.class);
    TempTableStore globalStore = vdb.getAttachment(TempTableStore.class);
    if (!externalNames.isEmpty()) {
      this.objectsAccessed = new HashSet<Object>(externalNames.size());
      for (List<String> key : this.externalNames) {
        if (key.size() == 1) {
          String matTableName = key.get(0);
          TempMetadataID id = globalStore.getMetadataStore().getTempGroupID(matTableName);
          if (id == null) {
            //if the id is null, then create a local instance
            String viewFullName = matTableName.substring(RelationalPlanner.MAT_PREFIX.length());
            id = globalStore.getGlobalTempTableMetadataId(tm.getGroupID(viewFullName), tm);
          }
          this.objectsAccessed.add(id);
        } else {
          Schema s = tm.getMetadataStore().getSchema(key.get(0).toUpperCase());
          Modifiable m = s.getTables().get(key.get(1).toUpperCase());
          if (m == null) {
            m = s.getProcedures().get(key.get(1).toUpperCase());
          }
          if (m != null) {
View Full Code Here

   
  private static final String GX = "GX";
  private static final String VM1 = "VM1";

  @Test public void testInsert() throws Exception {
    TransformationMetadata metadata = TestUpdateValidator.example1();
    TestUpdateValidator.createView("select 1 as x, 2 as y", metadata, GX);
    Table t = metadata.getMetadataStore().getSchemas().get(VM1).getTables().get(GX);
    t.setDeletePlan("");
    t.setUpdatePlan("");
    t.setInsertPlan("FOR EACH ROW BEGIN insert into pm1.g1 (e1) values (new.x); END");
   
    String sql = "insert into gx (x, y) values (1, 2)";
View Full Code Here

        List[] expected = new List[] {Arrays.asList(1)};
      helpProcess(plan, context, dm, expected);
  }
 
  @Test public void testInsertWithQueryExpression() throws Exception {
    TransformationMetadata metadata = TestUpdateValidator.example1();
    TestUpdateValidator.createView("select '1' as x, 2 as y", metadata, GX);
    Table t = metadata.getMetadataStore().getSchemas().get(VM1).getTables().get(GX);
    t.setDeletePlan("");
    t.setUpdatePlan("");
    t.setInsertPlan("FOR EACH ROW BEGIN insert into pm1.g1 (e1) values (new.x); END");
   
    String sql = "insert into gx (x, y) select e1, e2 from pm1.g1";
View Full Code Here

        List[] expected = new List[] {Arrays.asList(6)};
      helpProcess(plan, context, dm, expected);
  }
 
  @Test public void testDelete() throws Exception {
    TransformationMetadata metadata = TestUpdateValidator.example1();
    TestUpdateValidator.createView("select 1 as x, 2 as y", metadata, GX);
    Table t = metadata.getMetadataStore().getSchemas().get(VM1).getTables().get(GX);
    t.setDeletePlan("FOR EACH ROW BEGIN delete from pm1.g1 where e2 = old.x; END");
    t.setUpdatePlan("");
    t.setInsertPlan("");
   
    String sql = "delete from gx where y = 2";
View Full Code Here

        List[] expected = new List[] {Arrays.asList(1)};
      helpProcess(plan, context, dm, expected);
  }
 
  @Test public void testUpdate() throws Exception {
    TransformationMetadata metadata = TestUpdateValidator.example1();
    TestUpdateValidator.createView("select 1 as x, 2 as y", metadata, GX);
    Table t = metadata.getMetadataStore().getSchemas().get(VM1).getTables().get(GX);
    t.setDeletePlan("");
    t.setUpdatePlan("FOR EACH ROW BEGIN update pm1.g1 set e2 = new.y where e2 = old.y; END");
    t.setInsertPlan("");
   
    String sql = "update gx set y = 5";
View Full Code Here

TOP

Related Classes of org.teiid.query.metadata.TransformationMetadata

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.