本文整理了Java中org.teiid.metadata.Table.setInsertPlan()
方法的一些代码示例,展示了Table.setInsertPlan()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Table.setInsertPlan()
方法的具体详情如下:
包路径:org.teiid.metadata.Table
类名称:Table
方法名:setInsertPlan
暂无
代码示例来源:origin: org.jboss.teiid/teiid-engine
public static void alterInsteadOfTrigger(final VDBMetaData vdb, final Table t,
final String sql, final Boolean enabled, final TriggerEvent event, boolean updateStore) {
switch (event) {
case DELETE:
if (sql != null) {
t.setDeletePlan(sql);
} else {
t.setDeletePlanEnabled(enabled);
}
break;
case INSERT:
if (sql != null) {
t.setInsertPlan(sql);
} else {
t.setInsertPlanEnabled(enabled);
}
break;
case UPDATE:
if (sql != null) {
t.setUpdatePlan(sql);
} else {
t.setUpdatePlanEnabled(enabled);
}
break;
}
TransformationMetadata indexMetadata = vdb.getAttachment(TransformationMetadata.class);
indexMetadata.addToMetadataCache(t, "transformation/"+event, null); //$NON-NLS-1$
t.setLastModified(System.currentTimeMillis());
}
代码示例来源:origin: teiid/teiid
public static void setInsteadOfTriggerDefinition(Table view, TriggerEvent event, String proc) {
switch (event) {
case DELETE:
view.setDeletePlan(proc);
break;
case INSERT:
view.setInsertPlan(proc);
break;
case UPDATE:
view.setUpdatePlan(proc);
break;
}
}
代码示例来源:origin: teiid/teiid
t.setDeletePlan("");
t.setUpdatePlan("");
t.setInsertPlan("FOR EACH ROW BEGIN insert into pm1.g1 (e1) values (new.x); END");
代码示例来源:origin: teiid/teiid
public static void alterInsteadOfTrigger(final VDBMetaData vdb, final Table t,
final String sql, final Boolean enabled, final TriggerEvent event, boolean updateStore) {
switch (event) {
case DELETE:
if (sql != null) {
t.setDeletePlan(sql);
} else {
t.setDeletePlanEnabled(enabled);
}
break;
case INSERT:
if (sql != null) {
t.setInsertPlan(sql);
} else {
t.setInsertPlanEnabled(enabled);
}
break;
case UPDATE:
if (sql != null) {
t.setUpdatePlan(sql);
} else {
t.setUpdatePlanEnabled(enabled);
}
break;
}
TransformationMetadata indexMetadata = vdb.getAttachment(TransformationMetadata.class);
indexMetadata.addToMetadataCache(t, "transformation/"+event, null); //$NON-NLS-1$
t.setLastModified(System.currentTimeMillis());
}
代码示例来源:origin: teiid/teiid
@Test public void testDynamicUpdate() 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 execute immediate 'update pm1.g1 set e1 = new.x where e2 = new.y'; END");
t.setInsertPlan("");
String sql = "update gx set x = 1 where y = 2";
HardcodedDataManager dm = new HardcodedDataManager();
dm.addData("UPDATE pm1.g1 SET e1 = '1' WHERE e2 = 2", new List[] {Arrays.asList(1)});
CommandContext context = createCommandContext();
BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
ProcessorPlan plan = TestProcessor.helpGetPlan(TestResolver.helpResolve(sql, metadata), metadata, new DefaultCapabilitiesFinder(caps), context);
List<?>[] expected = new List[] {Arrays.asList(1)};
helpProcess(plan, context, dm, expected);
}
代码示例来源:origin: org.teiid/teiid-engine
public static void alterInsteadOfTrigger(final VDBMetaData vdb, final Table t,
final String sql, final Boolean enabled, final TriggerEvent event, boolean updateStore) {
switch (event) {
case DELETE:
if (sql != null) {
t.setDeletePlan(sql);
} else {
t.setDeletePlanEnabled(enabled);
}
break;
case INSERT:
if (sql != null) {
t.setInsertPlan(sql);
} else {
t.setInsertPlanEnabled(enabled);
}
break;
case UPDATE:
if (sql != null) {
t.setUpdatePlan(sql);
} else {
t.setUpdatePlanEnabled(enabled);
}
break;
}
TransformationMetadata indexMetadata = vdb.getAttachment(TransformationMetadata.class);
indexMetadata.addToMetadataCache(t, "transformation/"+event, null); //$NON-NLS-1$
t.setLastModified(System.currentTimeMillis());
}
代码示例来源:origin: teiid/teiid
@Test public void testDynamic() 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 ATOMIC END");
t.setUpdatePlan("");
t.setInsertPlan("FOR EACH ROW BEGIN execute immediate 'delete from gx where gx.x = new.x'; END");
String sql = "insert into gx (x, y) select e1, e2 from pm1.g1";
FakeDataManager dm = new FakeDataManager();
FakeDataStore.addTable("pm1.g1", dm, metadata);
CommandContext context = createCommandContext();
BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
ProcessorPlan plan = TestProcessor.helpGetPlan(TestResolver.helpResolve(sql, metadata), metadata, new DefaultCapabilitiesFinder(caps), context);
List<?>[] expected = new List[] {Arrays.asList(6)};
helpProcess(plan, context, dm, expected);
}
代码示例来源:origin: teiid/teiid
def = this.getInsteadOfTriggerDefinition(vdbName, vdbVersion, t, Table.TriggerEvent.INSERT);
if (def != null) {
t.setInsertPlan(def);
代码示例来源:origin: teiid/teiid
@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";
FakeDataManager dm = new FakeDataManager();
FakeDataStore.addTable("pm1.g1", dm, metadata);
CommandContext context = createCommandContext();
BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
ProcessorPlan plan = TestProcessor.helpGetPlan(TestResolver.helpResolve(sql, metadata), metadata, new DefaultCapabilitiesFinder(caps), context);
List<?>[] expected = new List[] {Arrays.asList(1)};
helpProcess(plan, context, dm, expected);
assertEquals("UPDATE pm1.g1 SET e2 = 1 WHERE e2 = 2", dm.getQueries().get(0));
}
代码示例来源:origin: teiid/teiid
@Test public void testInsertWithDefault() 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) values (1)";
FakeDataManager dm = new FakeDataManager();
FakeDataStore.addTable("pm1.g1", dm, metadata);
CommandContext context = createCommandContext();
BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
ProcessorPlan plan = TestProcessor.helpGetPlan(TestResolver.helpResolve(sql, metadata), metadata, new DefaultCapabilitiesFinder(caps), context);
List<?>[] expected = new List[] {Arrays.asList(1)};
helpProcess(plan, context, dm, expected);
}
代码示例来源:origin: teiid/teiid
@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";
FakeDataManager dm = new FakeDataManager();
FakeDataStore.addTable("pm1.g1", dm, metadata);
CommandContext context = createCommandContext();
BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
ProcessorPlan plan = TestProcessor.helpGetPlan(TestResolver.helpResolve(sql, metadata), metadata, new DefaultCapabilitiesFinder(caps), context);
List<?>[] expected = new List[] {Arrays.asList(1)};
helpProcess(plan, context, dm, expected);
assertEquals("UPDATE pm1.g1 SET e2 = 5 WHERE e2 = 2", dm.getQueries().get(0));
}
代码示例来源:origin: teiid/teiid
@Test public void testUpdateWithChanging() 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 = case when changing.y then new.y end where e2 = old.y; END");
t.setInsertPlan("");
String sql = "update gx set y = 5";
FakeDataManager dm = new FakeDataManager();
FakeDataStore.addTable("pm1.g1", dm, metadata);
CommandContext context = createCommandContext();
BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
ProcessorPlan plan = TestProcessor.helpGetPlan(TestResolver.helpResolve(sql, metadata), metadata, new DefaultCapabilitiesFinder(caps), context);
List<?>[] expected = new List[] {Arrays.asList(1)};
helpProcess(plan, context, dm, expected);
assertEquals("UPDATE pm1.g1 SET e2 = 5 WHERE e2 = 2", dm.getQueries().get(0));
}
代码示例来源:origin: teiid/teiid
@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)";
FakeDataManager dm = new FakeDataManager();
FakeDataStore.addTable("pm1.g1", dm, metadata);
CommandContext context = createCommandContext();
BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
ProcessorPlan plan = TestProcessor.helpGetPlan(TestResolver.helpResolve(sql, metadata), metadata, new DefaultCapabilitiesFinder(caps), context);
List<?>[] expected = new List[] {Arrays.asList(1)};
helpProcess(plan, context, dm, expected);
}
代码示例来源:origin: teiid/teiid
@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";
FakeDataManager dm = new FakeDataManager();
FakeDataStore.addTable("pm1.g1", dm, metadata);
CommandContext context = createCommandContext();
BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
ProcessorPlan plan = TestProcessor.helpGetPlan(TestResolver.helpResolve(sql, metadata), metadata, new DefaultCapabilitiesFinder(caps), context);
List<?>[] expected = new List[] {Arrays.asList(6)};
helpProcess(plan, context, dm, expected);
}
代码示例来源:origin: teiid/teiid
@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";
FakeDataManager dm = new FakeDataManager();
FakeDataStore.addTable("pm1.g1", dm, metadata);
CommandContext context = createCommandContext();
BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
ProcessorPlan plan = TestProcessor.helpGetPlan(TestResolver.helpResolve(sql, metadata), metadata, new DefaultCapabilitiesFinder(caps), context);
List<?>[] expected = new List[] {Arrays.asList(1)};
helpProcess(plan, context, dm, expected);
}
代码示例来源:origin: teiid/teiid
tableRecord.setInsertPlan(insert.getTransformation());
代码示例来源:origin: org.teiid/teiid-engine
table.setInsertPlan(triggerDefinition);
代码示例来源:origin: teiid/teiid
table.setInsertPlan(triggerDefinition);
代码示例来源:origin: org.jboss.teiid/teiid-engine
table.setInsertPlan(triggerDefinition);
代码示例来源:origin: teiid/teiid
@Test public void testDynamicRecursion() throws Exception {
TransformationMetadata metadata = TestUpdateValidator.example1();
TestUpdateValidator.createView("select 'a' as x, 2 as y", metadata, GX);
Table t = metadata.getMetadataStore().getSchemas().get(VM1).getTables().get(GX);
t.setDeletePlan("FOR EACH ROW BEGIN ATOMIC insert into gx (x, y) values (old.x, old.y); END");
t.setUpdatePlan("");
t.setInsertPlan("FOR EACH ROW BEGIN execute immediate 'delete from gx where gx.x = new.x'; END");
String sql = "insert into gx (x, y) select e1, e2 from pm1.g1";
FakeDataManager dm = new FakeDataManager();
FakeDataStore.addTable("pm1.g1", dm, metadata);
CommandContext context = createCommandContext();
BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
ProcessorPlan plan = TestProcessor.helpGetPlan(TestResolver.helpResolve(sql, metadata), metadata, new DefaultCapabilitiesFinder(caps), context);
try {
helpProcess(plan, context, dm, null);
fail();
} catch (QueryProcessingException e) {
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());
}
}
内容来源于网络,如有侵权,请联系作者删除!