@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; }
@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; }
if (deleteStmt.getDataverseName() != null) { dataverse = deleteStmt.getDataverseName().getValue();
@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()
IStatementRewriter stmtRewriter) throws Exception { DeleteStatement stmtDelete = (DeleteStatement) stmt; String dataverseName = getActiveDataverse(stmtDelete.getDataverseName()); MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction(); boolean bActiveTxn = true;