private boolean isGroupBy() { if (query.isSelectStatement()) { return query.getSelectStatement().hasGroupByClause(); } return false; }
private boolean isOrderBy() { if (query.isSelectStatement()) { return query.getSelectStatement().hasOrderByClause(); } return false; }
private boolean isHaving() { if (query.isSelectStatement()) { return query.getSelectStatement().hasHavingClause(); } return false; }
/** * Gets the columns to output. * * @param m * the m * @param kunderaQuery * the kundera query * @return the columns to output */ private List<Map<String, Object>> getColumnsToOutput(EntityMetadata m, KunderaQuery kunderaQuery) { if (kunderaQuery.isSelectStatement()) { SelectStatement selectStatement = kunderaQuery.getSelectStatement(); SelectClause selectClause = (SelectClause) selectStatement.getSelectClause(); return KunderaQueryUtils.readSelectClause(selectClause.getSelectExpression(), m, false, kunderaMetadata); } return new ArrayList(); }
/** * Compile group. */ private void compileGroup() { GroupByClause groupByClause = null; if (query.isSelectStatement()) { groupByClause = (GroupByClause) query.getSelectStatement().getGroupByClause(); } // content cannot be empty if (groupByClause == null || groupByClause.toActualText().length() == 0) { throw new JPQLParseException("keyword without value: GROUP BY"); } groupingClause = groupByClause.toActualText(); }
.get(ESConstants.AGGREGATION_NAME)).getAggregations(); if (query.isSelectStatement() && KunderaQueryUtils.hasGroupBy(query.getJpqlExpression()))
/** * Compile having. */ private void compileHaving() { HavingClause havingClause = null; if (query.isSelectStatement()) { havingClause = (HavingClause) query.getSelectStatement().getHavingClause(); } // content cannot be empty if (havingClause == null || havingClause.toActualText().length() == 0) { throw new JPQLParseException("keyword without value: HAVING"); } if (groupingClause != null) { groupingClause = groupingClause.trim() + havingClause.toActualText(); } else { groupingClause = havingClause.toActualText(); } }
/** * Compile select. */ private void compileSelectOrDelete() { if (!query.isSelectStatement()) { if (query.isDeleteStatement()) { query.setIsDeleteUpdate(true); } } else { // initiateExpressionFactory("SELECT"); } compileFrom(); compileResult(); compilewhereClause(); }
if (kunderaQuery.isSelectStatement())
builder.addAggregation(aggregation); if (kunderaQuery.getResult().length == 1 || (kunderaQuery.isSelectStatement() && KunderaQueryUtils.hasGroupBy(kunderaQuery.getJpqlExpression())))
/** * 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()); } }
private void buildFrom() { ListIterator<Expression> fromIter = null; if (query.isSelectStatement() && query.getSelectStatement().hasFromClause()) { FromClause fromClause = (FromClause) query.getSelectStatement().getFromClause(); fromIter = fromClause.children().iterator(); } else if (query.isUpdateStatement()) { fromIter = query.getUpdateStatement().getUpdateClause().children().iterator(); } if (query.isDeleteStatement()) { fromIter = query.getDeleteStatement().getDeleteClause().children().iterator(); } if (fromIter != null) { while (fromIter.hasNext()) { String textObj = fromIter.next().toActualText().trim(); if (!StringUtils.isEmpty(textObj)) { query.setFrom(textObj); break; } } } }
/** * Sets the kundera query type object. */ private void setKunderaQueryTypeObject() { try { if (isSelectStatement()) { this.setSelectStatement((SelectStatement) (this.getJpqlExpression().getQueryStatement())); } else if (isUpdateStatement()) { this.setUpdateStatement((UpdateStatement) (this.getJpqlExpression().getQueryStatement())); } else if (isDeleteStatement()) { this.setDeleteStatement((DeleteStatement) (this.getJpqlExpression().getQueryStatement())); } } catch (ClassCastException cce) { throw new JPQLParseException("Bad query format : " + cce.getMessage()); } }
private boolean isWhereClause() { if (query.isSelectStatement()) { return query.getSelectStatement().hasWhereClause(); } else if (query.isUpdateStatement()) { return query.getUpdateStatement().hasWhereClause(); } if (query.isDeleteStatement()) { return query.getDeleteStatement().hasWhereClause(); } return false; }
/** * Compile where. */ private void compileWhere() { WhereClause whereClause = null; if (query.isSelectStatement()) { whereClause = (WhereClause) query.getSelectStatement().getWhereClause(); } else if (query.isUpdateStatement()) { whereClause = (WhereClause) query.getUpdateStatement().getWhereClause(); } if (query.isDeleteStatement()) { whereClause = (WhereClause) query.getDeleteStatement().getWhereClause(); } String content = whereClause.getConditionalExpression().toActualText(); if (whereClause != null && content.length() == 0) { throw new JPQLParseException("keyword without value[WHERE]"); } query.setFilter(content); }
private void buildResultColumns() if (query.isSelectStatement())
if (query.isSelectStatement() && KunderaQueryUtils.hasGroupBy(query.getJpqlExpression()))
|| (query.isSelectStatement() && query.getSelectStatement().hasGroupByClause()))
.get(ESConstants.AGGREGATION_NAME)).getAggregations(); if (query.isSelectStatement() && KunderaQueryUtils.hasGroupBy(query.getJpqlExpression()))
if (query.isSelectStatement() && KunderaQueryUtils.hasGroupBy(query.getJpqlExpression()))