/** * This method returns the select item of the given alias name. * * @param query * @return */ public static SelectItem getSelectItemByAlias(Query query, String alias) { List<SelectItem> selectItems = query.getSelectClause().getItems(); for (SelectItem selectItem : selectItems) { if (selectItem.getAlias() != null && selectItem.getAlias().equals(alias)) { return selectItem; } } return null; }
/** * This method returns the select item of the given alias name. * * @param query * @return */ public static SelectItem getSelectItemByAlias(Query query, String alias) { List<SelectItem> selectItems = query.getSelectClause().getItems(); for (SelectItem selectItem : selectItems) { if (selectItem.getAlias() != null && selectItem.getAlias().equals(alias)) { return selectItem; } } return null; }
/** * @return an alias that can be used in WHERE, GROUP BY and ORDER BY clauses in the same query */ public String getSameQueryAlias(boolean includeSchemaInColumnPath) { if (_column != null) { final StringBuilder sb = new StringBuilder(); final String columnPrefix = getToStringColumnPrefix(includeSchemaInColumnPath); sb.append(columnPrefix); sb.append(_column.getQuotedName()); appendFunctionSql(sb); return sb.toString(); } final String alias = getAlias(); if (alias == null) { final String result = toStringNoAlias(includeSchemaInColumnPath).toString(); logger.debug("Could not resolve a reasonable same-query alias for SelectItem: {}", result); return result; } return alias; }
/** * @return an alias that can be used in WHERE, GROUP BY and ORDER BY clauses in the same query */ public String getSameQueryAlias(boolean includeSchemaInColumnPath) { if (_column != null) { final StringBuilder sb = new StringBuilder(); final String columnPrefix = getToStringColumnPrefix(includeSchemaInColumnPath); sb.append(columnPrefix); sb.append(_column.getQuotedName()); appendFunctionSql(sb); return sb.toString(); } final String alias = getAlias(); if (alias == null) { final String result = toStringNoAlias(includeSchemaInColumnPath).toString(); logger.debug("Could not resolve a reasonable same-query alias for SelectItem: {}", result); return result; } return alias; }
if (selectItem.getAlias() != null) { thereIsAtLeastOneAlias = true; break;
if (selectItem.getAlias() != null) { thereIsAtLeastOneAlias = true; break;
if (selectItem.getAlias() != null) { thereIsAtLeastOneAlias = true; break;
if (selectItem.getAlias() != null) { thereIsAtLeastOneAlias = true; break;
@Override protected Query beforeRewrite(Query query) { query = query.clone(); JdbcDataContext dataContext = getDataContext(); if (dataContext != null) { String identifierQuoteString = dataContext.getIdentifierQuoteString(); if (identifierQuoteString != null) { List<SelectItem> selectItems = query.getSelectClause().getItems(); for (SelectItem item : selectItems) { String alias = item.getAlias(); if (needsQuoting(alias, identifierQuoteString)) { item.setAlias(identifierQuoteString + alias + identifierQuoteString); } } List<FromItem> fromItems = query.getFromClause().getItems(); for (FromItem item : fromItems) { String alias = item.getAlias(); if (needsQuoting(alias, identifierQuoteString)) { item.setAlias(identifierQuoteString + alias + identifierQuoteString); } } } } return query; }
@Override protected Query beforeRewrite(Query query) { query = query.clone(); JdbcDataContext dataContext = getDataContext(); if (dataContext != null) { String identifierQuoteString = dataContext.getIdentifierQuoteString(); if (identifierQuoteString != null) { List<SelectItem> selectItems = query.getSelectClause().getItems(); for (SelectItem item : selectItems) { String alias = item.getAlias(); if (needsQuoting(alias, identifierQuoteString)) { item.setAlias(identifierQuoteString + alias + identifierQuoteString); } } List<FromItem> fromItems = query.getFromClause().getItems(); for (FromItem item : fromItems) { String alias = item.getAlias(); if (needsQuoting(alias, identifierQuoteString)) { item.setAlias(identifierQuoteString + alias + identifierQuoteString); } } } } return query; }