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

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

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

Table.getUpdatePlan介绍

暂无

代码示例

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

private static String getPlanForEvent(Table t, TriggerEvent event) {
  switch (event) {
  case DELETE:
    return t.getDeletePlan();
  case INSERT:
    return t.getInsertPlan();
  case UPDATE:
    return t.getUpdatePlan();
  }
  throw new AssertionError();
}

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

private static String getPlanForEvent(Table t, TriggerEvent event) {
  switch (event) {
  case DELETE:
    return t.getDeletePlan();
  case INSERT:
    return t.getInsertPlan();
  case UPDATE:
    return t.getUpdatePlan();
  }
  throw new AssertionError();
}

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

private static String getPlanForEvent(Table t, TriggerEvent event) {
  switch (event) {
  case DELETE:
    return t.getDeletePlan();
  case INSERT:
    return t.getInsertPlan();
  case UPDATE:
    return t.getUpdatePlan();
  }
  throw new AssertionError();
}

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

public String getUpdatePlan(final Object groupID) throws TeiidComponentException, QueryMetadataException {
  Table tableRecordImpl = (Table)groupID;
  if (!tableRecordImpl.isVirtual()) {
    throw new QueryMetadataException(QueryPlugin.Event.TEIID30359, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30359, tableRecordImpl.getFullName(), "Update")); //$NON-NLS-1$
  }
  return tableRecordImpl.isUpdatePlanEnabled()?tableRecordImpl.getUpdatePlan():null;
}

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

public String getUpdatePlan(final Object groupID) throws TeiidComponentException, QueryMetadataException {
  Table tableRecordImpl = (Table)groupID;
  if (!tableRecordImpl.isVirtual()) {
    throw new QueryMetadataException(QueryPlugin.Event.TEIID30359, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30359, tableRecordImpl.getFullName(), "Update")); //$NON-NLS-1$
  }
  return tableRecordImpl.isUpdatePlanEnabled()?tableRecordImpl.getUpdatePlan():null;
}

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

public String getUpdatePlan(final Object groupID) throws TeiidComponentException, QueryMetadataException {
  Table tableRecordImpl = (Table)groupID;
  if (!tableRecordImpl.isVirtual()) {
    throw new QueryMetadataException(QueryPlugin.Event.TEIID30359, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30359, tableRecordImpl.getFullName(), "Update")); //$NON-NLS-1$
  }
  return tableRecordImpl.isUpdatePlanEnabled()?tableRecordImpl.getUpdatePlan():null;
}

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

@Test
public void testInsteadOfTriggerIsDistinct() throws Exception {
  String ddl =     "CREATE VIEW G1( e1 integer, e2 varchar) AS select * from foo;" +
          "CREATE TRIGGER ON G1 INSTEAD OF UPDATE AS " +
          "FOR EACH ROW \n" +
          "BEGIN ATOMIC \n" +
          "if (\"new\" is not distinct from \"old\") raise sqlexception 'error';\n" +
          "END;";
  Schema s = helpParse(ddl, "model").getSchema();
  
  assertEquals("FOR EACH ROW\nBEGIN ATOMIC\nIF(\"new\" IS NOT DISTINCT FROM \"old\")\nBEGIN\nRAISE SQLEXCEPTION 'error';\nEND\nEND", s.getTable("G1").getUpdatePlan());
}

代码示例来源:origin: org.teiid/teiid-spring-boot-starter

@Test
public void testRedirectionLayerUpdatePlan() {
  RedirectionSchemaBuilder mg = new RedirectionSchemaBuilder(this.context, "redirected");
  ModelMetaData model = mg.buildRedirectionLayer(buildSourceTableWithPK().getAttachment(MetadataFactory.class),
      "base");
  String expected = "FOR EACH ROW\n" + "BEGIN ATOMIC\n" + "IF (CHANGING.id)\n" + "BEGIN\n"
      + "    DECLARE boolean VARIABLES.Person_PK_EXISTS = (SELECT true FROM source.Person WHERE id = NEW.id);\n"
      + "    IF (VARIABLES.Person_PK_EXISTS)\n" + "    BEGIN\n"
      + "        RAISE SQLEXCEPTION 'duplicate key';\n" + "    END\n" + "    ELSE\n" + "    BEGIN\n"
      + "        DECLARE boolean VARIABLES.address_FK_EXISTS = (SELECT COUNT(*) > 0 FROM teiid.address WHERE pid = OLD.id);\n"
      + "        IF (VARIABLES.address_FK_EXISTS)\n" + "        BEGIN\n"
      + "            RAISE SQLEXCEPTION 'referential integrity check failed on address table, cascade deletes are not supported';\n"
      + "        END\n"
      + "        UPSERT INTO redirected.Person_REDIRECTED(id, ROW__STATUS) VALUES (OLD.id, 3);\n"
      + "        UPSERT INTO redirected.Person_REDIRECTED(id, name, dob, ROW__STATUS) VALUES (NEW.id, NEW.name, NEW.dob, 1);\n"
      + "    END\n" + "END\n" + "ELSE\n" + "BEGIN\n"
      + "    UPSERT INTO redirected.Person_REDIRECTED(id, name, dob, ROW__STATUS) VALUES (NEW.id, NEW.name, NEW.dob, 2);\n"
      + "END\n" + "END";
  MetadataFactory mf = model.getAttachment(MetadataFactory.class);
  Table table = mf.getSchema().getTable("Person");
  assertEquals(expected, table.getUpdatePlan().replace("\t", "    "));
}

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

buildTrigger(name, null, UPDATE, table.getUpdatePlan(), false);

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

validateUpdatePlan(model, report, metadata, t, t.getInsertPlan(), Command.TYPE_INSERT);
if (t.getUpdatePlan() != null && t.isUpdatePlanEnabled()) {
  validateUpdatePlan(model, report, metadata, t, t.getUpdatePlan(), Command.TYPE_UPDATE);

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

validateUpdatePlan(model, report, metadata, t, t.getInsertPlan(), Command.TYPE_INSERT);
if (t.getUpdatePlan() != null && t.isUpdatePlanEnabled()) {
  validateUpdatePlan(model, report, metadata, t, t.getUpdatePlan(), Command.TYPE_UPDATE);

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

validateUpdatePlan(model, report, metadata, t, t.getInsertPlan(), Command.TYPE_INSERT);
if (t.getUpdatePlan() != null && t.isUpdatePlanEnabled()) {
  validateUpdatePlan(model, report, metadata, t, t.getUpdatePlan(), Command.TYPE_UPDATE);

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

buildTrigger(name, null, UPDATE, table.getUpdatePlan(), false);

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

buildTrigger(name, null, UPDATE, table.getUpdatePlan(), false);

相关文章

微信公众号

最新文章

更多