@Test public void testParseClone() throws QueryParserException { TriggerAction ta = (TriggerAction)QueryParser.getQueryParser().parseProcedure("for each row begin atomic if (\"new\" is not distinct from \"old\") raise sqlexception ''; end", true); assertEquals("FOR EACH ROW\nBEGIN ATOMIC\nIF(\"new\" IS NOT DISTINCT FROM \"old\")\nBEGIN\nRAISE SQLEXCEPTION '';\nEND\nEND", ta.toString()); QueryParser.getQueryParser().parseProcedure(ta.toString(), true); TriggerAction clone = ta.clone(); assertEquals(ta.toString(), clone.toString()); UnitTestUtil.helpTestEquivalence(0, ta, ta.clone()); }
void createDDLTrigger(DatabaseStore events, AlterTrigger trigger) { GroupSymbol group = trigger.getTarget(); events.setTableTriggerPlan(trigger.getName(), group.getName(), trigger.getEvent(), trigger.getDefinition().toString(), trigger.isAfter()); }
void createDDLTrigger(DatabaseStore events, AlterTrigger trigger) { GroupSymbol group = trigger.getTarget(); events.setTableTriggerPlan(trigger.getName(), group.getName(), trigger.getEvent(), trigger.getDefinition().toString(), trigger.isAfter()); }
void createDDLTrigger(DatabaseStore events, AlterTrigger trigger) { GroupSymbol group = trigger.getTarget(); events.setTableTriggerPlan(trigger.getName(), group.getName(), trigger.getEvent(), trigger.getDefinition().toString(), trigger.isAfter()); }
dbStore.enableTableTriggerPlan(objectName, Table.TriggerEvent.valueOf(event.image.toUpperCase()), enabled); } else { dbStore.setTableTriggerPlan(null, objectName, Table.TriggerEvent.valueOf(event.image.toUpperCase()), triggerAction.toString(), false);
dbStore.enableTableTriggerPlan(objectName, Table.TriggerEvent.valueOf(event.image.toUpperCase()), enabled, true); } else { dbStore.setTableTriggerPlan(null, objectName, Table.TriggerEvent.valueOf(event.image.toUpperCase()), triggerAction.toString(), false);
dbStore.enableTableTriggerPlan(objectName, Table.TriggerEvent.valueOf(event.image.toUpperCase()), enabled); } else { dbStore.setTableTriggerPlan(null, objectName, Table.TriggerEvent.valueOf(event.image.toUpperCase()), triggerAction.toString(), false);
@Override public void visit(AlterTrigger obj) { Table t = (Table)obj.getTarget().getMetadataID(); String sql = null; TriggerEvent event = obj.getEvent(); if (obj.getEnabled() == null) { if (obj.isCreate()) { if (getPlanForEvent(t, event) != null) { throw new TeiidRuntimeException(new TeiidProcessingException(QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30156, t.getName(), obj.getEvent()))); } } else if (getPlanForEvent(t, event) == null) { throw new TeiidRuntimeException(new TeiidProcessingException(QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30158, t.getName(), obj.getEvent()))); } sql = obj.getDefinition().toString(); } else if (getPlanForEvent(t, event) == null) { throw new TeiidRuntimeException(new TeiidProcessingException(QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30158, t.getName(), obj.getEvent()))); } if (getMetadataRepository(vdb, t.getParent().getName()) != null) { if (sql != null) { getMetadataRepository(vdb, t.getParent().getName()).setInsteadOfTriggerDefinition(workContext.getVdbName(), workContext.getVdbVersion(), t, obj.getEvent(), sql); } else { getMetadataRepository(vdb, t.getParent().getName()).setInsteadOfTriggerEnabled(workContext.getVdbName(), workContext.getVdbVersion(), t, obj.getEvent(), obj.getEnabled()); } } alterInsteadOfTrigger(vdb, t, sql, obj.getEnabled(), event, false); if (pdm.getEventDistributor() != null) { pdm.getEventDistributor().setInsteadOfTriggerDefinition(workContext.getVdbName(), workContext.getVdbVersion(), t.getParent().getName(), t.getName(), obj.getEvent(), sql, obj.getEnabled()); } } }
@Override public void visit(AlterTrigger obj) { Table t = (Table)obj.getTarget().getMetadataID(); String sql = null; TriggerEvent event = obj.getEvent(); if (obj.getEnabled() == null) { if (obj.isCreate()) { if (getPlanForEvent(t, event) != null) { throw new TeiidRuntimeException(new TeiidProcessingException(QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30156, t.getName(), obj.getEvent()))); } } else if (getPlanForEvent(t, event) == null) { throw new TeiidRuntimeException(new TeiidProcessingException(QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30158, t.getName(), obj.getEvent()))); } sql = obj.getDefinition().toString(); } else if (getPlanForEvent(t, event) == null) { throw new TeiidRuntimeException(new TeiidProcessingException(QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30158, t.getName(), obj.getEvent()))); } if (getMetadataRepository(vdb, t.getParent().getName()) != null) { if (sql != null) { getMetadataRepository(vdb, t.getParent().getName()).setInsteadOfTriggerDefinition(workContext.getVdbName(), workContext.getVdbVersion(), t, obj.getEvent(), sql); } else { getMetadataRepository(vdb, t.getParent().getName()).setInsteadOfTriggerEnabled(workContext.getVdbName(), workContext.getVdbVersion(), t, obj.getEvent(), obj.getEnabled()); } } alterInsteadOfTrigger(vdb, t, sql, obj.getEnabled(), event, false); if (pdm.getEventDistributor() != null) { pdm.getEventDistributor().setInsteadOfTriggerDefinition(workContext.getVdbName(), workContext.getVdbVersion(), t.getParent().getName(), t.getName(), obj.getEvent(), sql, obj.getEnabled()); } } }
@Override public void visit(AlterTrigger obj) { Table t = (Table)obj.getTarget().getMetadataID(); String sql = null; TriggerEvent event = obj.getEvent(); if (obj.getEnabled() == null) { if (obj.isCreate()) { if (getPlanForEvent(t, event) != null) { throw new TeiidRuntimeException(new TeiidProcessingException(QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30156, t.getName(), obj.getEvent()))); } } else if (getPlanForEvent(t, event) == null) { throw new TeiidRuntimeException(new TeiidProcessingException(QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30158, t.getName(), obj.getEvent()))); } sql = obj.getDefinition().toString(); } else if (getPlanForEvent(t, event) == null) { throw new TeiidRuntimeException(new TeiidProcessingException(QueryPlugin.Util.gs(QueryPlugin.Event.TEIID30158, t.getName(), obj.getEvent()))); } if (getMetadataRepository(vdb, t.getParent().getName()) != null) { if (sql != null) { getMetadataRepository(vdb, t.getParent().getName()).setInsteadOfTriggerDefinition(workContext.getVdbName(), workContext.getVdbVersion(), t, obj.getEvent(), sql); } else { getMetadataRepository(vdb, t.getParent().getName()).setInsteadOfTriggerEnabled(workContext.getVdbName(), workContext.getVdbVersion(), t, obj.getEvent(), obj.getEnabled()); } } alterInsteadOfTrigger(vdb, t, sql, obj.getEnabled(), event, false); if (pdm.getEventDistributor() != null) { pdm.getEventDistributor().setInsteadOfTriggerDefinition(workContext.getVdbName(), workContext.getVdbVersion(), t.getParent().getName(), t.getName(), obj.getEvent(), sql, obj.getEnabled()); } } }