@Override public Void visit(DeleteStatement del, Integer step) throws CompilationException { out.print(skip(step) + "delete "); del.getVariableExpr().accept(this, step + 2); out.println(skip(step) + " from " + generateFullName(del.getDataverseName(), del.getDatasetName())); if (del.getCondition() != null) { out.print(skip(step) + " where "); del.getCondition().accept(this, step + 2); } out.println(SEMICOLON); return null; }
IStatementRewriter stmtRewriter) throws Exception { DeleteStatement stmtDelete = (DeleteStatement) stmt; String dataverseName = getActiveDataverse(stmtDelete.getDataverseName()); MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction(); boolean bActiveTxn = true; metadataProvider.setMetadataTxnContext(mdTxnCtx); MetadataLockUtil.insertDeleteUpsertBegin(lockManager, metadataProvider.getLocks(), dataverseName + "." + stmtDelete.getDatasetName()); try { metadataProvider.setWriteTransaction(true); CompiledDeleteStatement clfrqs = new CompiledDeleteStatement(stmtDelete.getVariableExpr(), dataverseName, stmtDelete.getDatasetName().getValue(), stmtDelete.getCondition(), stmtDelete.getVarCounter(), stmtDelete.getQuery()); clfrqs.setSourceLocation(stmt.getSourceLocation()); JobSpecification jobSpec =
if (deleteStmt.getDataverseName() != null) { dataverse = deleteStmt.getDataverseName().getValue();
final public DeleteStatement DeleteStatement() throws ParseException, ParseException { VariableExpr var = null; Expression condition = null; Pair<Identifier, Identifier> nameComponents; jj_consume_token(DELETE); var = Variable(); getCurrentScope().addNewVarSymbolToScope(var.getVar()); jj_consume_token(FROM); jj_consume_token(DATASET); nameComponents = QualifiedName(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case WHERE: jj_consume_token(WHERE); condition = Expression(); break; default: jj_la1[56] = jj_gen; ; } // First we get the dataverses and datasets that we want to lock {if (true) return new DeleteStatement(var, nameComponents.first, nameComponents.second, condition, getVarCounter());} throw new Error("Missing return statement in function"); }
final public DeleteStatement DeleteStatement() throws ParseException, ParseException { VariableExpr var = null; Expression condition = null; Pair<Identifier, Identifier> nameComponents; jj_consume_token(DELETE); var = Variable(); getCurrentScope().addNewVarSymbolToScope(var.getVar()); jj_consume_token(FROM); jj_consume_token(DATASET); nameComponents = QualifiedName(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case WHERE: jj_consume_token(WHERE); condition = Expression(); break; default: jj_la1[38] = jj_gen; ; } // First we get the dataverses and datasets that we want to lock {if (true) return new DeleteStatement(var, nameComponents.first, nameComponents.second, condition, getVarCounter());} throw new Error("Missing return statement in function"); }
@Override public Void visit(DeleteStatement del, Integer step) throws CompilationException { out.print(skip(step) + "delete "); del.getVariableExpr().accept(this, step + 2); out.println( skip(step) + " from " + datasetSymbol + generateFullName(del.getDataverseName(), del.getDatasetName())); if (del.getCondition() != null) { out.print(skip(step) + " where "); del.getCondition().accept(this, step + 2); } out.println(SEMICOLON); return null; }
addSourceLocation(varExpr, startToken); DeleteStatement stmt = new DeleteStatement(varExpr, nameComponents.first, nameComponents.second, condition, getVarCounter()); {if (true) return addSourceLocation(stmt, startToken);}
@Override public Void visit(DeleteStatement deleteStmt, Void visitArg) { List<Expression> arguments = new ArrayList<>(); Identifier dataverseName = deleteStmt.getDataverseName(); Identifier datasetName = deleteStmt.getDatasetName(); String arg = dataverseName == null ? datasetName.getValue() : dataverseName.getValue() + "." + datasetName.getValue(); LiteralExpr argumentLiteral = new LiteralExpr(new StringLiteral(arg)); arguments.add(argumentLiteral); CallExpr callExpression = new CallExpr(new FunctionSignature(BuiltinFunctions.DATASET), arguments); List<Clause> clauseList = new ArrayList<>(); VariableExpr var = deleteStmt.getVariableExpr(); Clause forClause = new ForClause(var, callExpression); clauseList.add(forClause); Clause whereClause = null; Expression condition = deleteStmt.getCondition(); if (condition != null) { whereClause = new WhereClause(condition); clauseList.add(whereClause); } VariableExpr returnExpr = new VariableExpr(var.getVar()); returnExpr.setIsNewVar(false); FLWOGRExpression flowgr = new FLWOGRExpression(clauseList, returnExpr); Query query = new Query(false); query.setBody(flowgr); deleteStmt.setQuery(query); return null; }
@Override public Void visit(DeleteStatement deleteStmt, Void visitArg) { List<Expression> arguments = new ArrayList<>(); Identifier dataverseName = deleteStmt.getDataverseName(); Identifier datasetName = deleteStmt.getDatasetName(); String arg = dataverseName == null ? datasetName.getValue() : dataverseName.getValue() + "." + datasetName.getValue(); arguments.add(argumentLiteral); CallExpr callExpression = new CallExpr(new FunctionSignature(BuiltinFunctions.DATASET), arguments); callExpression.setSourceLocation(deleteStmt.getSourceLocation()); VariableExpr var = deleteStmt.getVariableExpr(); FromTerm fromTerm = new FromTerm(callExpression, var, null, null); fromTerm.setSourceLocation(var.getSourceLocation()); Expression condition = deleteStmt.getCondition(); if (condition != null) { whereClause = new WhereClause(condition); returnExpr.setSourceLocation(var.getSourceLocation()); SelectElement selectElement = new SelectElement(returnExpr); selectElement.setSourceLocation(deleteStmt.getSourceLocation()); SelectClause selectClause = new SelectClause(selectElement, null, false); selectClause.setSourceLocation(deleteStmt.getSourceLocation()); Query query = new Query(false, false, selectExpression, 0); query.setBody(selectExpression); query.setSourceLocation(deleteStmt.getSourceLocation());