private Command rewriteDelete(Delete delete) throws TeiidComponentException, TeiidProcessingException{ if (delete.getGroup().getDefinition() != null) { removeAlias(delete, delete.getGroup()); } Command c = rewriteForWriteThrough(delete); if (c != null) { return c; } UpdateInfo info = delete.getUpdateInfo(); if (info != null && info.isInherentDelete()) { if (!info.getUnionBranches().isEmpty()) { List<Command> batchedUpdates = new ArrayList<Command>(info.getUnionBranches().size() + 1); for (UpdateInfo branchInfo : info.getUnionBranches()) { batchedUpdates.add(rewriteInherentDelete((Delete)delete.clone(), branchInfo)); } batchedUpdates.add(0, rewriteInherentDelete(delete, info)); return new BatchedUpdateCommand(batchedUpdates, true); } return rewriteInherentDelete(delete, info); } // Rewrite criteria Criteria crit = delete.getCriteria(); if(crit != null) { boolean preserveUnknownOld = preserveUnknown; preserveUnknown = false; delete.setCriteria(rewriteCriteria(crit)); preserveUnknown = preserveUnknownOld; } return delete; }
private Command rewriteDelete(Delete delete) throws TeiidComponentException, TeiidProcessingException{ if (delete.getGroup().getDefinition() != null) { removeAlias(delete, delete.getGroup()); } Command c = rewriteForWriteThrough(delete); if (c != null) { return c; } UpdateInfo info = delete.getUpdateInfo(); if (info != null && info.isInherentDelete()) { if (!info.getUnionBranches().isEmpty()) { List<Command> batchedUpdates = new ArrayList<Command>(info.getUnionBranches().size() + 1); for (UpdateInfo branchInfo : info.getUnionBranches()) { batchedUpdates.add(rewriteInherentDelete((Delete)delete.clone(), branchInfo)); } batchedUpdates.add(0, rewriteInherentDelete(delete, info)); return new BatchedUpdateCommand(batchedUpdates, true); } return rewriteInherentDelete(delete, info); } // Rewrite criteria Criteria crit = delete.getCriteria(); if(crit != null) { boolean preserveUnknownOld = preserveUnknown; preserveUnknown = false; delete.setCriteria(rewriteCriteria(crit)); preserveUnknown = preserveUnknownOld; } return delete; }
private Command rewriteDelete(Delete delete) throws TeiidComponentException, TeiidProcessingException{ if (delete.getGroup().getDefinition() != null) { removeAlias(delete, delete.getGroup()); } Command c = rewriteForWriteThrough(delete); if (c != null) { return c; } UpdateInfo info = delete.getUpdateInfo(); if (info != null && info.isInherentDelete()) { if (!info.getUnionBranches().isEmpty()) { List<Command> batchedUpdates = new ArrayList<Command>(info.getUnionBranches().size() + 1); for (UpdateInfo branchInfo : info.getUnionBranches()) { batchedUpdates.add(rewriteInherentDelete((Delete)delete.clone(), branchInfo)); } batchedUpdates.add(0, rewriteInherentDelete(delete, info)); return new BatchedUpdateCommand(batchedUpdates, true); } return rewriteInherentDelete(delete, info); } // Rewrite criteria Criteria crit = delete.getCriteria(); if(crit != null) { boolean preserveUnknownOld = preserveUnknown; preserveUnknown = false; delete.setCriteria(rewriteCriteria(crit)); preserveUnknown = preserveUnknownOld; } return delete; }
LogManager.logDetail(LogConstants.CTX_QUERY_RESOLVER, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31173, validator.getUpdateReport().getFailureMessage(), SQLConstants.Reserved.UPDATE, qmi.getFullName(virtualGroup.getMetadataID()))); if (info.isInherentDelete() && validator.getDeleteReport().hasItems()) { LogManager.logDetail(LogConstants.CTX_QUERY_RESOLVER, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31173, validator.getDeleteReport().getFailureMessage(), SQLConstants.Reserved.DELETE, qmi.getFullName(virtualGroup.getMetadataID())));
LogManager.logDetail(LogConstants.CTX_QUERY_RESOLVER, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31173, validator.getUpdateReport().getFailureMessage(), SQLConstants.Reserved.UPDATE, qmi.getFullName(virtualGroup.getMetadataID()))); if (info.isInherentDelete() && validator.getDeleteReport().hasItems()) { LogManager.logDetail(LogConstants.CTX_QUERY_RESOLVER, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31173, validator.getDeleteReport().getFailureMessage(), SQLConstants.Reserved.DELETE, qmi.getFullName(virtualGroup.getMetadataID())));
LogManager.logDetail(LogConstants.CTX_QUERY_RESOLVER, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31173, validator.getUpdateReport().getFailureMessage(), SQLConstants.Reserved.UPDATE, qmi.getFullName(virtualGroup.getMetadataID()))); if (info.isInherentDelete() && validator.getDeleteReport().hasItems()) { LogManager.logDetail(LogConstants.CTX_QUERY_RESOLVER, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31173, validator.getDeleteReport().getFailureMessage(), SQLConstants.Reserved.DELETE, qmi.getFullName(virtualGroup.getMetadataID())));
public void visit(Delete obj) { GroupSymbol group = obj.getGroup(); validateGroupSupportsUpdate(group); if (obj.getUpdateInfo() != null && obj.getUpdateInfo().isInherentDelete()) { validateUpdate(obj, Command.TYPE_DELETE, obj.getUpdateInfo()); } }
public void visit(Delete obj) { GroupSymbol group = obj.getGroup(); validateGroupSupportsUpdate(group); if (obj.getUpdateInfo() != null && obj.getUpdateInfo().isInherentDelete()) { validateUpdate(obj, Command.TYPE_DELETE, obj.getUpdateInfo()); } }
public void visit(Delete obj) { validateNoXMLUpdates(obj); GroupSymbol group = obj.getGroup(); validateGroupSupportsUpdate(group); if (obj.getUpdateInfo() != null && obj.getUpdateInfo().isInherentDelete()) { validateUpdate(obj, Command.TYPE_DELETE, obj.getUpdateInfo()); } }