/** * This method will append the order clause to the end of the * select statement. */ public void appendOrderClauseToWriter(ExpressionSQLPrinter printer) throws IOException { if (!hasOrderByExpressions()) { return; } printer.getWriter().write(" ORDER BY "); for (Iterator expressionsEnum = getOrderByExpressions().iterator(); expressionsEnum.hasNext();) { Expression expression = (Expression)expressionsEnum.next(); expression.printSQL(printer); if (expressionsEnum.hasNext()) { printer.getWriter().write(", "); } } }
/** * This method will append the order clause to the end of the * select statement. */ public void appendOrderClauseToWriter(ExpressionSQLPrinter printer) throws IOException { if (!hasOrderByExpressions()) { return; } printer.getWriter().write(" ORDER BY "); for (Iterator expressionsEnum = getOrderByExpressions().iterator(); expressionsEnum.hasNext();) { Expression expression = (Expression)expressionsEnum.next(); expression.printSQL(printer); if (expressionsEnum.hasNext()) { printer.getWriter().write(", "); } } }
/** * This method will append the order clause to the end of the * select statement. */ public void appendOrderClauseToWriter(ExpressionSQLPrinter printer) throws IOException { if (!hasOrderByExpressions()) { return; } printer.getWriter().write(" ORDER BY "); for (Iterator expressionsEnum = getOrderByExpressions().iterator(); expressionsEnum.hasNext();) { Expression expression = (Expression)expressionsEnum.next(); expression.printSQL(printer); if (expressionsEnum.hasNext()) { printer.getWriter().write(", "); } } }
List<Expression> orderBy = statement.getOrderByExpressions(); if (orderBy.isEmpty()) { orderBy.add(statement.getBuilder().literal("ROW_NUMBER() OVER (ORDER BY (SELECT null))"));
/** * When distinct is used with order by the ordered fields must be in the select clause. */ protected void addOrderByExpressionToSelectForDistinct() { for (Expression orderExpression : getOrderByExpressions()) { Expression fieldExpression = orderExpression; while (fieldExpression.isFunctionExpression() && (fieldExpression.getOperator().isOrderOperator())) { fieldExpression = ((FunctionExpression)fieldExpression).getBaseExpression(); } // Changed to call a method to loop through the fields vector and check each element // individually. Jon D. May 4, 2000 for pr 7811 if ((fieldExpression.selectIfOrderedBy()) && !fieldsContainField(getFields(), fieldExpression)) { addField(fieldExpression); } } }
/** * When distinct is used with order by the ordered fields must be in the select clause. */ protected void addOrderByExpressionToSelectForDistinct() { for (Expression orderExpression : getOrderByExpressions()) { Expression fieldExpression = orderExpression; while (fieldExpression.isFunctionExpression() && (fieldExpression.getOperator().isOrderOperator())) { fieldExpression = ((FunctionExpression)fieldExpression).getBaseExpression(); } // Changed to call a method to loop through the fields vector and check each element // individually. Jon D. May 4, 2000 for pr 7811 if ((fieldExpression.selectIfOrderedBy()) && !fieldsContainField(getFields(), fieldExpression)) { addField(fieldExpression); } } }
/** * When distinct is used with order by the ordered fields must be in the select clause. */ protected void addOrderByExpressionToSelectForDistinct() { for (Expression orderExpression : getOrderByExpressions()) { Expression fieldExpression = null; if (orderExpression.isFunctionExpression() && (orderExpression.getOperator().isOrderOperator())) { fieldExpression = ((FunctionExpression)orderExpression).getBaseExpression(); } else { fieldExpression = orderExpression; } // Changed to call a method to loop through the fields vector and check each element // individually. Jon D. May 4, 2000 for pr 7811 if ((fieldExpression.selectIfOrderedBy()) && !fieldsContainField(getFields(), fieldExpression)) { addField(fieldExpression); } } }
rebuildAndAddExpressions(getOrderByExpressions(), allExpressions, builder, clonedExpressions);