/** * Validate insert/merge entitlements */ protected void validateEntitlements(Insert obj) { List<LanguageObject> insert = new LinkedList<LanguageObject>(); insert.add(obj.getGroup()); insert.addAll(obj.getVariables()); validateEntitlements( insert, DataPolicy.PermissionType.CREATE, Context.INSERT); if (obj.isUpsert()) { validateEntitlements( insert, DataPolicy.PermissionType.UPDATE, Context.MERGE); } }
/** * Validate insert/merge entitlements */ protected void validateEntitlements(Insert obj) { List<LanguageObject> insert = new LinkedList<LanguageObject>(); insert.add(obj.getGroup()); insert.addAll(obj.getVariables()); validateEntitlements( insert, DataPolicy.PermissionType.CREATE, Context.INSERT); if (obj.isUpsert()) { validateEntitlements( insert, DataPolicy.PermissionType.UPDATE, Context.MERGE); } }
/** * Validate insert/merge entitlements */ protected void validateEntitlements(Insert obj) { List<LanguageObject> insert = new LinkedList<LanguageObject>(); insert.add(obj.getGroup()); insert.addAll(obj.getVariables()); validateEntitlements( insert, DataPolicy.PermissionType.CREATE, Context.INSERT); if (obj.isUpsert()) { validateEntitlements( insert, DataPolicy.PermissionType.UPDATE, Context.MERGE); } }
private boolean isUpsertKeyColumn(Insert obj, ElementSymbol insertElem) throws TeiidComponentException, QueryMetadataException { if (!obj.isUpsert()) { return false; } Collection keys = getMetadata().getUniqueKeysInGroup(obj.getGroup().getMetadataID()); //not an actual update, but a modification of existing row return !keys.isEmpty() && getMetadata().getElementIDsInKey(keys.iterator().next()).contains(insertElem.getMetadataID()); }
private boolean isUpsertKeyColumn(Insert obj, ElementSymbol insertElem) throws TeiidComponentException, QueryMetadataException { if (!obj.isUpsert()) { return false; } Collection keys = getMetadata().getUniqueKeysInGroup(obj.getGroup().getMetadataID()); //not an actual update, but a modification of existing row return !keys.isEmpty() && getMetadata().getElementIDsInKey(keys.iterator().next()).contains(insertElem.getMetadataID()); }
private boolean isUpsertKeyColumn(Insert obj, ElementSymbol insertElem) throws TeiidComponentException, QueryMetadataException { if (!obj.isUpsert()) { return false; } Collection keys = getMetadata().getUniqueKeysInGroup(obj.getGroup().getMetadataID()); //not an actual update, but a modification of existing row return !keys.isEmpty() && getMetadata().getElementIDsInKey(keys.iterator().next()).contains(insertElem.getMetadataID()); }
return table.insert(ts, insert.getVariables(), true, insert.isUpsert(), context);
return table.insert(ts, insert.getVariables(), true, insert.isUpsert(), context);
return table.insert(ts, insert.getVariables(), true, insert.isUpsert(), context);
result.setParameterValues(parameterValues); setBatchValues(result); result.setUpsert(insert.isUpsert()); return result;
result.setParameterValues(parameterValues); setBatchValues(result); result.setUpsert(insert.isUpsert()); return result;
result.setParameterValues(parameterValues); setBatchValues(result); result.setUpsert(insert.isUpsert()); return result;
public static Command helpTestRewriteCommand(String original, String expected, QueryMetadataInterface metadata, CommandContext cc) throws TeiidException { Command command = QueryParser.getQueryParser().parseCommand(original); QueryResolver.resolveCommand(command, metadata); Command rewriteCommand = QueryRewriter.rewrite(command, metadata, cc); //to accomodate the logic that was moved to QueryOptimizer if (rewriteCommand instanceof Insert && ((Insert)rewriteCommand).isUpsert()) { rewriteCommand = QueryRewriter.rewriteAsUpsertProcedure((Insert)rewriteCommand, metadata, cc); } assertEquals("Rewritten command was not expected", expected, rewriteCommand.toString()); //$NON-NLS-1$ return rewriteCommand; }
if (obj.isUpsert()) { Collection keys = getMetadata().getUniqueKeysInGroup(obj.getGroup().getMetadataID()); if (keys.isEmpty()) {
if (obj.isUpsert()) { Collection keys = getMetadata().getUniqueKeysInGroup(obj.getGroup().getMetadataID()); if (keys.isEmpty()) {
if (obj.isUpsert()) { Collection keys = getMetadata().getUniqueKeysInGroup(obj.getGroup().getMetadataID()); if (keys.isEmpty()) {
@Override public void visit( Insert obj ) { if (obj.isUpsert()) { append(NonReserved.UPSERT); } else {
@Override public void visit( Insert obj ) { if (obj.isUpsert()) { append(NonReserved.UPSERT); } else {
@Override public void visit( Insert obj ) { if (obj.isUpsert()) { append(NonReserved.UPSERT); } else {
projectNode.setProperty(NodeConstants.Info.CONSTRAINT, insert.getConstraint()); if (insert.isUpsert()) { projectNode.setProperty(NodeConstants.Info.UPSERT, true);