case INSERT: clfrqs = new CompiledInsertStatement(dataverseName, datasetName, rewrittenInsertUpsert.getQuery(), rewrittenInsertUpsert.getVarCounter(), rewrittenInsertUpsert.getVar(), rewrittenInsertUpsert.getReturnExpression()); clfrqs.setSourceLocation(insertUpsert.getSourceLocation()); case UPSERT: clfrqs = new CompiledUpsertStatement(dataverseName, datasetName, rewrittenInsertUpsert.getQuery(), rewrittenInsertUpsert.getVarCounter(), rewrittenInsertUpsert.getVar(), rewrittenInsertUpsert.getReturnExpression()); clfrqs.setSourceLocation(insertUpsert.getSourceLocation());
@Override public Expression visit(InsertStatement insertStatement, ILangExpression arg) throws CompilationException { scopeChecker.createNewScope(); // Visits the body query. insertStatement.getQuery().accept(this, insertStatement); // Registers the (inserted) data item variable. VariableExpr bindingVar = insertStatement.getVar(); if (bindingVar != null) { addNewVarSymbolToScope(scopeChecker.getCurrentScope(), bindingVar.getVar(), bindingVar.getSourceLocation()); } // Visits the expression for the returning expression. Expression returningExpr = insertStatement.getReturnExpression(); if (returningExpr != null) { insertStatement.setReturnExpression(visit(returningExpr, insertStatement)); } return null; }