/** * Compile from. */ private void compileUpdateClause() { ListIterator<Expression> updateColumnIter = null; if (query.isUpdateStatement() && query.getUpdateStatement().getUpdateClause().hasUpdateItems()) { if (query.getUpdateStatement().getUpdateClause().getUpdateItems() instanceof CollectionExpression) { updateColumnIter = ((CollectionExpression) query.getUpdateStatement().getUpdateClause() .getUpdateItems()).children().iterator(); while (updateColumnIter.hasNext()) { ListIterator<Expression> childUpdateClauseIter = updateColumnIter.next().children().iterator(); while (childUpdateClauseIter.hasNext()) { addUpdateClause(childUpdateClauseIter); } } } else { updateColumnIter = query.getUpdateStatement().getUpdateClause().getUpdateItems().children() .iterator(); addUpdateClause(updateColumnIter); } } }
/** * Compilewhere clause. */ private void compilewhereClause() { if (isWhereClause()) { compileWhere(); } if (isGroupBy()) { compileGroup(); } if (isHaving()) { compileHaving(); } if (groupingClause != null) { query.setGrouping(groupingClause); } if (isOrderBy()) { compileOrder(); } }
/** * Compile select. */ private void compileSelectOrDelete() { if (!query.isSelectStatement()) { if (query.isDeleteStatement()) { query.setIsDeleteUpdate(true); } } else { // initiateExpressionFactory("SELECT"); } compileFrom(); compileResult(); compilewhereClause(); }
/** * Compile update. * * @return true, if successful */ private boolean compileUpdate() { if (query.isUpdateStatement()) { query.setIsDeleteUpdate(true); compileFrom(); compileUpdateClause(); compilewhereClause(); return true; } else { // initiateExpressionFactory("SELECT"); } return false; }
/** * Method to parse the Single-String query. */ public final void parse() { new Compiler().compile(); }
/** * Compile. */ private void compile() { // if it is not an update statement if (!compileUpdate()) { compileSelectOrDelete(); } }