@Override protected boolean supportsGeneratedKeys(ExecutionContext context, Command command) { if (command instanceof Insert) { Insert insert = (Insert)command; if (insert.getParameterValues() != null) { return false; //bulk inserts result in an exception if keys are flaged for return } } return super.supportsGeneratedKeys(context, command); }
public InsertExecutionImpl(SalesForceExecutionFactory ef, Command command, SalesforceConnection salesforceConnection, RuntimeMetadata metadata, ExecutionContext context) throws TranslatorException { super(ef, command, salesforceConnection, metadata, context); Insert insert = (Insert)command; if (insert.getParameterValues() != null) { this.rowIter = insert.getParameterValues(); } InsertVisitor visitor = new InsertVisitor(getMetadata()); visitor.visit(insert); this.objectName = visitor.getTableName(); }
@Override public void visit(Insert obj) { visitNode(obj.getTable()); visitNodes(obj.getColumns()); if (!(obj.getValueSource() instanceof QueryExpression) && obj.getParameterValues() == null) { visitNode(obj.getValueSource()); } else { // bulk insert values this.values = obj.getParameterValues(); } }
Parameter p = CollectorVisitor.collectObjects(Parameter.class, insert).iterator().next(); assertEquals(0, p.getValueIndex()); assertEquals(Arrays.asList(3), insert.getParameterValues().next()); assertTrue(insert.getParameterValues().hasNext());
@Override public void execute() throws TranslatorException { Insert insert = (Insert)command; if (insert.getParameterValues() == null) { DataPayload data = new DataPayload(); data.setType(this.objectName);