org.teiid.metadata.Table.setInsertPlan()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(13.0k)|赞(0)|评价(0)|浏览(274)

本文整理了Java中org.teiid.metadata.Table.setInsertPlan()方法的一些代码示例,展示了Table.setInsertPlan()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Table.setInsertPlan()方法的具体详情如下:
包路径:org.teiid.metadata.Table
类名称:Table
方法名:setInsertPlan

Table.setInsertPlan介绍

暂无

代码示例

代码示例来源:origin: org.jboss.teiid/teiid-engine

  1. public static void alterInsteadOfTrigger(final VDBMetaData vdb, final Table t,
  2. final String sql, final Boolean enabled, final TriggerEvent event, boolean updateStore) {
  3. switch (event) {
  4. case DELETE:
  5. if (sql != null) {
  6. t.setDeletePlan(sql);
  7. } else {
  8. t.setDeletePlanEnabled(enabled);
  9. }
  10. break;
  11. case INSERT:
  12. if (sql != null) {
  13. t.setInsertPlan(sql);
  14. } else {
  15. t.setInsertPlanEnabled(enabled);
  16. }
  17. break;
  18. case UPDATE:
  19. if (sql != null) {
  20. t.setUpdatePlan(sql);
  21. } else {
  22. t.setUpdatePlanEnabled(enabled);
  23. }
  24. break;
  25. }
  26. TransformationMetadata indexMetadata = vdb.getAttachment(TransformationMetadata.class);
  27. indexMetadata.addToMetadataCache(t, "transformation/"+event, null); //$NON-NLS-1$
  28. t.setLastModified(System.currentTimeMillis());
  29. }

代码示例来源:origin: teiid/teiid

  1. public static void setInsteadOfTriggerDefinition(Table view, TriggerEvent event, String proc) {
  2. switch (event) {
  3. case DELETE:
  4. view.setDeletePlan(proc);
  5. break;
  6. case INSERT:
  7. view.setInsertPlan(proc);
  8. break;
  9. case UPDATE:
  10. view.setUpdatePlan(proc);
  11. break;
  12. }
  13. }

代码示例来源:origin: teiid/teiid

  1. t.setDeletePlan("");
  2. t.setUpdatePlan("");
  3. t.setInsertPlan("FOR EACH ROW BEGIN insert into pm1.g1 (e1) values (new.x); END");

代码示例来源:origin: teiid/teiid

  1. public static void alterInsteadOfTrigger(final VDBMetaData vdb, final Table t,
  2. final String sql, final Boolean enabled, final TriggerEvent event, boolean updateStore) {
  3. switch (event) {
  4. case DELETE:
  5. if (sql != null) {
  6. t.setDeletePlan(sql);
  7. } else {
  8. t.setDeletePlanEnabled(enabled);
  9. }
  10. break;
  11. case INSERT:
  12. if (sql != null) {
  13. t.setInsertPlan(sql);
  14. } else {
  15. t.setInsertPlanEnabled(enabled);
  16. }
  17. break;
  18. case UPDATE:
  19. if (sql != null) {
  20. t.setUpdatePlan(sql);
  21. } else {
  22. t.setUpdatePlanEnabled(enabled);
  23. }
  24. break;
  25. }
  26. TransformationMetadata indexMetadata = vdb.getAttachment(TransformationMetadata.class);
  27. indexMetadata.addToMetadataCache(t, "transformation/"+event, null); //$NON-NLS-1$
  28. t.setLastModified(System.currentTimeMillis());
  29. }

代码示例来源:origin: teiid/teiid

  1. @Test public void testDynamicUpdate() throws Exception {
  2. TransformationMetadata metadata = TestUpdateValidator.example1();
  3. TestUpdateValidator.createView("select '1' as x, 2 as y", metadata, GX);
  4. Table t = metadata.getMetadataStore().getSchemas().get(VM1).getTables().get(GX);
  5. t.setDeletePlan("");
  6. t.setUpdatePlan("FOR EACH ROW BEGIN execute immediate 'update pm1.g1 set e1 = new.x where e2 = new.y'; END");
  7. t.setInsertPlan("");
  8. String sql = "update gx set x = 1 where y = 2";
  9. HardcodedDataManager dm = new HardcodedDataManager();
  10. dm.addData("UPDATE pm1.g1 SET e1 = '1' WHERE e2 = 2", new List[] {Arrays.asList(1)});
  11. CommandContext context = createCommandContext();
  12. BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
  13. ProcessorPlan plan = TestProcessor.helpGetPlan(TestResolver.helpResolve(sql, metadata), metadata, new DefaultCapabilitiesFinder(caps), context);
  14. List<?>[] expected = new List[] {Arrays.asList(1)};
  15. helpProcess(plan, context, dm, expected);
  16. }

代码示例来源:origin: org.teiid/teiid-engine

  1. public static void alterInsteadOfTrigger(final VDBMetaData vdb, final Table t,
  2. final String sql, final Boolean enabled, final TriggerEvent event, boolean updateStore) {
  3. switch (event) {
  4. case DELETE:
  5. if (sql != null) {
  6. t.setDeletePlan(sql);
  7. } else {
  8. t.setDeletePlanEnabled(enabled);
  9. }
  10. break;
  11. case INSERT:
  12. if (sql != null) {
  13. t.setInsertPlan(sql);
  14. } else {
  15. t.setInsertPlanEnabled(enabled);
  16. }
  17. break;
  18. case UPDATE:
  19. if (sql != null) {
  20. t.setUpdatePlan(sql);
  21. } else {
  22. t.setUpdatePlanEnabled(enabled);
  23. }
  24. break;
  25. }
  26. TransformationMetadata indexMetadata = vdb.getAttachment(TransformationMetadata.class);
  27. indexMetadata.addToMetadataCache(t, "transformation/"+event, null); //$NON-NLS-1$
  28. t.setLastModified(System.currentTimeMillis());
  29. }

代码示例来源:origin: teiid/teiid

  1. @Test public void testDynamic() throws Exception {
  2. TransformationMetadata metadata = TestUpdateValidator.example1();
  3. TestUpdateValidator.createView("select '1' as x, 2 as y", metadata, GX);
  4. Table t = metadata.getMetadataStore().getSchemas().get(VM1).getTables().get(GX);
  5. t.setDeletePlan("FOR EACH ROW BEGIN ATOMIC END");
  6. t.setUpdatePlan("");
  7. t.setInsertPlan("FOR EACH ROW BEGIN execute immediate 'delete from gx where gx.x = new.x'; END");
  8. String sql = "insert into gx (x, y) select e1, e2 from pm1.g1";
  9. FakeDataManager dm = new FakeDataManager();
  10. FakeDataStore.addTable("pm1.g1", dm, metadata);
  11. CommandContext context = createCommandContext();
  12. BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
  13. ProcessorPlan plan = TestProcessor.helpGetPlan(TestResolver.helpResolve(sql, metadata), metadata, new DefaultCapabilitiesFinder(caps), context);
  14. List<?>[] expected = new List[] {Arrays.asList(6)};
  15. helpProcess(plan, context, dm, expected);
  16. }

代码示例来源:origin: teiid/teiid

  1. def = this.getInsteadOfTriggerDefinition(vdbName, vdbVersion, t, Table.TriggerEvent.INSERT);
  2. if (def != null) {
  3. t.setInsertPlan(def);

代码示例来源:origin: teiid/teiid

  1. @Test public void testUpdateWithNonConstant() throws Exception {
  2. TransformationMetadata metadata = TestUpdateValidator.example1();
  3. TestUpdateValidator.createView("select 1 as x, 2 as y", metadata, GX);
  4. Table t = metadata.getMetadataStore().getSchemas().get(VM1).getTables().get(GX);
  5. t.setDeletePlan("");
  6. t.setUpdatePlan("FOR EACH ROW BEGIN update pm1.g1 set e2 = new.y where e2 = old.y; END");
  7. t.setInsertPlan("");
  8. String sql = "update gx set y = x";
  9. FakeDataManager dm = new FakeDataManager();
  10. FakeDataStore.addTable("pm1.g1", dm, metadata);
  11. CommandContext context = createCommandContext();
  12. BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
  13. ProcessorPlan plan = TestProcessor.helpGetPlan(TestResolver.helpResolve(sql, metadata), metadata, new DefaultCapabilitiesFinder(caps), context);
  14. List<?>[] expected = new List[] {Arrays.asList(1)};
  15. helpProcess(plan, context, dm, expected);
  16. assertEquals("UPDATE pm1.g1 SET e2 = 1 WHERE e2 = 2", dm.getQueries().get(0));
  17. }

代码示例来源:origin: teiid/teiid

  1. @Test public void testInsertWithDefault() throws Exception {
  2. TransformationMetadata metadata = TestUpdateValidator.example1();
  3. TestUpdateValidator.createView("select 1 as x, 2 as y", metadata, GX);
  4. Table t = metadata.getMetadataStore().getSchemas().get(VM1).getTables().get(GX);
  5. t.setDeletePlan("");
  6. t.setUpdatePlan("");
  7. t.setInsertPlan("FOR EACH ROW BEGIN insert into pm1.g1 (e1) values (new.x); END");
  8. String sql = "insert into gx (x) values (1)";
  9. FakeDataManager dm = new FakeDataManager();
  10. FakeDataStore.addTable("pm1.g1", dm, metadata);
  11. CommandContext context = createCommandContext();
  12. BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
  13. ProcessorPlan plan = TestProcessor.helpGetPlan(TestResolver.helpResolve(sql, metadata), metadata, new DefaultCapabilitiesFinder(caps), context);
  14. List<?>[] expected = new List[] {Arrays.asList(1)};
  15. helpProcess(plan, context, dm, expected);
  16. }

代码示例来源:origin: teiid/teiid

  1. @Test public void testUpdate() throws Exception {
  2. TransformationMetadata metadata = TestUpdateValidator.example1();
  3. TestUpdateValidator.createView("select 1 as x, 2 as y", metadata, GX);
  4. Table t = metadata.getMetadataStore().getSchemas().get(VM1).getTables().get(GX);
  5. t.setDeletePlan("");
  6. t.setUpdatePlan("FOR EACH ROW BEGIN update pm1.g1 set e2 = new.y where e2 = old.y; END");
  7. t.setInsertPlan("");
  8. String sql = "update gx set y = 5";
  9. FakeDataManager dm = new FakeDataManager();
  10. FakeDataStore.addTable("pm1.g1", dm, metadata);
  11. CommandContext context = createCommandContext();
  12. BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
  13. ProcessorPlan plan = TestProcessor.helpGetPlan(TestResolver.helpResolve(sql, metadata), metadata, new DefaultCapabilitiesFinder(caps), context);
  14. List<?>[] expected = new List[] {Arrays.asList(1)};
  15. helpProcess(plan, context, dm, expected);
  16. assertEquals("UPDATE pm1.g1 SET e2 = 5 WHERE e2 = 2", dm.getQueries().get(0));
  17. }

代码示例来源:origin: teiid/teiid

  1. @Test public void testUpdateWithChanging() throws Exception {
  2. TransformationMetadata metadata = TestUpdateValidator.example1();
  3. TestUpdateValidator.createView("select 1 as x, 2 as y", metadata, GX);
  4. Table t = metadata.getMetadataStore().getSchemas().get(VM1).getTables().get(GX);
  5. t.setDeletePlan("");
  6. t.setUpdatePlan("FOR EACH ROW BEGIN update pm1.g1 set e2 = case when changing.y then new.y end where e2 = old.y; END");
  7. t.setInsertPlan("");
  8. String sql = "update gx set y = 5";
  9. FakeDataManager dm = new FakeDataManager();
  10. FakeDataStore.addTable("pm1.g1", dm, metadata);
  11. CommandContext context = createCommandContext();
  12. BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
  13. ProcessorPlan plan = TestProcessor.helpGetPlan(TestResolver.helpResolve(sql, metadata), metadata, new DefaultCapabilitiesFinder(caps), context);
  14. List<?>[] expected = new List[] {Arrays.asList(1)};
  15. helpProcess(plan, context, dm, expected);
  16. assertEquals("UPDATE pm1.g1 SET e2 = 5 WHERE e2 = 2", dm.getQueries().get(0));
  17. }

代码示例来源:origin: teiid/teiid

  1. @Test public void testInsert() throws Exception {
  2. TransformationMetadata metadata = TestUpdateValidator.example1();
  3. TestUpdateValidator.createView("select 1 as x, 2 as y", metadata, GX);
  4. Table t = metadata.getMetadataStore().getSchemas().get(VM1).getTables().get(GX);
  5. t.setDeletePlan("");
  6. t.setUpdatePlan("");
  7. t.setInsertPlan("FOR EACH ROW BEGIN insert into pm1.g1 (e1) values (new.x); END");
  8. String sql = "insert into gx (x, y) values (1, 2)";
  9. FakeDataManager dm = new FakeDataManager();
  10. FakeDataStore.addTable("pm1.g1", dm, metadata);
  11. CommandContext context = createCommandContext();
  12. BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
  13. ProcessorPlan plan = TestProcessor.helpGetPlan(TestResolver.helpResolve(sql, metadata), metadata, new DefaultCapabilitiesFinder(caps), context);
  14. List<?>[] expected = new List[] {Arrays.asList(1)};
  15. helpProcess(plan, context, dm, expected);
  16. }

代码示例来源:origin: teiid/teiid

  1. @Test public void testInsertWithQueryExpression() throws Exception {
  2. TransformationMetadata metadata = TestUpdateValidator.example1();
  3. TestUpdateValidator.createView("select '1' as x, 2 as y", metadata, GX);
  4. Table t = metadata.getMetadataStore().getSchemas().get(VM1).getTables().get(GX);
  5. t.setDeletePlan("");
  6. t.setUpdatePlan("");
  7. t.setInsertPlan("FOR EACH ROW BEGIN insert into pm1.g1 (e1) values (new.x); END");
  8. String sql = "insert into gx (x, y) select e1, e2 from pm1.g1";
  9. FakeDataManager dm = new FakeDataManager();
  10. FakeDataStore.addTable("pm1.g1", dm, metadata);
  11. CommandContext context = createCommandContext();
  12. BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
  13. ProcessorPlan plan = TestProcessor.helpGetPlan(TestResolver.helpResolve(sql, metadata), metadata, new DefaultCapabilitiesFinder(caps), context);
  14. List<?>[] expected = new List[] {Arrays.asList(6)};
  15. helpProcess(plan, context, dm, expected);
  16. }

代码示例来源:origin: teiid/teiid

  1. @Test public void testDelete() throws Exception {
  2. TransformationMetadata metadata = TestUpdateValidator.example1();
  3. TestUpdateValidator.createView("select 1 as x, 2 as y", metadata, GX);
  4. Table t = metadata.getMetadataStore().getSchemas().get(VM1).getTables().get(GX);
  5. t.setDeletePlan("FOR EACH ROW BEGIN delete from pm1.g1 where e2 = old.x; END");
  6. t.setUpdatePlan("");
  7. t.setInsertPlan("");
  8. String sql = "delete from gx where y = 2";
  9. FakeDataManager dm = new FakeDataManager();
  10. FakeDataStore.addTable("pm1.g1", dm, metadata);
  11. CommandContext context = createCommandContext();
  12. BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
  13. ProcessorPlan plan = TestProcessor.helpGetPlan(TestResolver.helpResolve(sql, metadata), metadata, new DefaultCapabilitiesFinder(caps), context);
  14. List<?>[] expected = new List[] {Arrays.asList(1)};
  15. helpProcess(plan, context, dm, expected);
  16. }

代码示例来源:origin: teiid/teiid

  1. tableRecord.setInsertPlan(insert.getTransformation());

代码示例来源:origin: org.teiid/teiid-engine

  1. table.setInsertPlan(triggerDefinition);

代码示例来源:origin: teiid/teiid

  1. table.setInsertPlan(triggerDefinition);

代码示例来源:origin: org.jboss.teiid/teiid-engine

  1. table.setInsertPlan(triggerDefinition);

代码示例来源:origin: teiid/teiid

  1. @Test public void testDynamicRecursion() throws Exception {
  2. TransformationMetadata metadata = TestUpdateValidator.example1();
  3. TestUpdateValidator.createView("select 'a' as x, 2 as y", metadata, GX);
  4. Table t = metadata.getMetadataStore().getSchemas().get(VM1).getTables().get(GX);
  5. t.setDeletePlan("FOR EACH ROW BEGIN ATOMIC insert into gx (x, y) values (old.x, old.y); END");
  6. t.setUpdatePlan("");
  7. t.setInsertPlan("FOR EACH ROW BEGIN execute immediate 'delete from gx where gx.x = new.x'; END");
  8. String sql = "insert into gx (x, y) select e1, e2 from pm1.g1";
  9. FakeDataManager dm = new FakeDataManager();
  10. FakeDataStore.addTable("pm1.g1", dm, metadata);
  11. CommandContext context = createCommandContext();
  12. BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
  13. ProcessorPlan plan = TestProcessor.helpGetPlan(TestResolver.helpResolve(sql, metadata), metadata, new DefaultCapabilitiesFinder(caps), context);
  14. try {
  15. helpProcess(plan, context, dm, null);
  16. fail();
  17. } catch (QueryProcessingException e) {
  18. assertEquals("TEIID30168 Couldn't execute the dynamic SQL command \"EXECUTE IMMEDIATE 'delete from gx where gx.x = new.x'\" with the SQL statement \"delete from gx where gx.x = new.x\" due to: TEIID30347 There is a recursive invocation of group 'I gx'. Please correct the SQL.", e.getMessage());
  19. }
  20. }

相关文章