/** * Compile order. */ private void compileOrder() { OrderByClause orderByClause = null; if (query.isSelectStatement()) { orderByClause = (OrderByClause) query.getSelectStatement().getOrderByClause(); } if (orderByClause == null || !orderByClause.hasOrderByItems()) { throw new JPQLParseException("keyword without value: ORDER BY"); } query.setOrdering(orderByClause.getOrderByItems().toActualText()); } }
/** * {@inheritDoc} */ @Override public void visit(OrderByClause expression) { if (expression.hasOrderByItems()) { clauseOfItems = true; expression.getOrderByItems().accept(this); clauseOfItems = false; } }
/** * {@inheritDoc} */ @Override public void visit(OrderByClause expression) { if (!expression.hasOrderByItems()) { int startPosition = position(expression.getOrderByItems()); addProblem(expression, startPosition, OrderByClause_OrderByItemMissing); } // Validate the separation of multiple grouping items else { validateCollectionSeparatedByComma( expression.getOrderByItems(), OrderByClause_OrderByItemEndsWithComma, OrderByClause_OrderByItemIsMissingComma ); } super.visit(expression); }
/** * {@inheritDoc} */ @Override public void visit(OrderByClause expression) { if (!expression.hasOrderByItems()) { int startPosition = position(expression.getOrderByItems()); addProblem(expression, startPosition, OrderByClause_OrderByItemMissing); } // Validate the separation of multiple grouping items else { validateCollectionSeparatedByComma( expression.getOrderByItems(), OrderByClause_OrderByItemEndsWithComma, OrderByClause_OrderByItemIsMissingComma ); } super.visit(expression); }
/** * {@inheritDoc} */ public void visit(OrderByClause expression) { if (badExpression) { if (positionWithinInvalidExpression <= 5 /* ORDER */) { queryPosition.setExpression(expression); queryPosition.addPosition(expression, positionWithinInvalidExpression); } } else { if (expression.hasOrderByItems()) { expression.getOrderByItems().accept(this); } if (queryPosition.getExpression() == null) { queryPosition.setExpression(expression); } queryPosition.addPosition(expression, expression.getLength() - correction); } }