private static void populateWhereClause(PrecomputedTable precomputedTable, Query query, Query precompQuery, Map<AbstractValue, SelectValue> valueMap, Query currentQuery, Set<AbstractConstraint> whereConstraintEqualsSet, Table precomputedSqlTable, Query newQuery, Field orderByField, List<AbstractValue> precompOrderBy) throws QueryOptimiserException { if ((orderByField == null) || (!query.getGroupBy().isEmpty())) { reconstructAbstractConstraints(currentQuery.getWhere(), precomputedSqlTable, valueMap, precompQuery.getFrom(), false, newQuery.getWhere(), whereConstraintEqualsSet, null, 0, null, false, false); } else { AbstractValue maybeDesc = precompOrderBy.get(0); boolean reverse = false; if (maybeDesc instanceof OrderDescending) { maybeDesc = ((OrderDescending) maybeDesc).getValue(); reverse = true; } Field firstPrecompOrderBy = new Field(valueMap.get( maybeDesc).getAlias(), precomputedSqlTable); reconstructAbstractConstraints(currentQuery.getWhere(), precomputedSqlTable, valueMap, precompQuery.getFrom(), false, newQuery.getWhere(), whereConstraintEqualsSet, firstPrecompOrderBy, precompOrderBy.size(), orderByField, precomputedTable.getFirstOrderByHasNoNulls(), reverse); } }
private static void populateWhereClause(PrecomputedTable precomputedTable, Query query, Query precompQuery, Map<AbstractValue, SelectValue> valueMap, Query currentQuery, Set<AbstractConstraint> whereConstraintEqualsSet, Table precomputedSqlTable, Query newQuery, Field orderByField, List<AbstractValue> precompOrderBy) throws QueryOptimiserException { if ((orderByField == null) || (!query.getGroupBy().isEmpty())) { reconstructAbstractConstraints(currentQuery.getWhere(), precomputedSqlTable, valueMap, precompQuery.getFrom(), false, newQuery.getWhere(), whereConstraintEqualsSet, null, 0, null, false, false); } else { AbstractValue maybeDesc = precompOrderBy.get(0); boolean reverse = false; if (maybeDesc instanceof OrderDescending) { maybeDesc = ((OrderDescending) maybeDesc).getValue(); reverse = true; } Field firstPrecompOrderBy = new Field(valueMap.get( maybeDesc).getAlias(), precomputedSqlTable); reconstructAbstractConstraints(currentQuery.getWhere(), precomputedSqlTable, valueMap, precompQuery.getFrom(), false, newQuery.getWhere(), whereConstraintEqualsSet, firstPrecompOrderBy, precompOrderBy.size(), orderByField, precomputedTable.getFirstOrderByHasNoNulls(), reverse); } }
Query precompQuery = precomputedTable.getQuery(); Set<Query> retval = new LinkedHashSet<Query>(); if (precompQuery.getGroupBy().size() != query.getGroupBy().size()) { if (!precompQuery.getGroupBy().equals(query.getGroupBy())) { continue;
Query precompQuery = precomputedTable.getQuery(); Set<Query> retval = new LinkedHashSet<Query>(); if (precompQuery.getGroupBy().size() != query.getGroupBy().size()) { if (!precompQuery.getGroupBy().equals(query.getGroupBy())) { continue;
Query originalQuery) { Query precompQuery = precomputedTable.getQuery(); if (!precompQuery.getGroupBy().isEmpty()) { return mergeGroupBy(precomputedTable, query, originalQuery); boolean hasAggregate = !query.getGroupBy().isEmpty(); if (!hasAggregate) { if ((precomputedTable.getOrderByField() == null) || (!query.getGroupBy() .isEmpty())) { reconstructAbstractValues(currentQuery.getOrderBy(), precomputedSqlTable, reconstructAbstractValues(currentQuery.getGroupBy(), precomputedSqlTable, valueMap, precompQuery.getFrom(), false, newQuery.getGroupBy());
Query originalQuery) { Query precompQuery = precomputedTable.getQuery(); if (!precompQuery.getGroupBy().isEmpty()) { return mergeGroupBy(precomputedTable, query, originalQuery); boolean hasAggregate = !query.getGroupBy().isEmpty(); if (!hasAggregate) { if ((precomputedTable.getOrderByField() == null) || (!query.getGroupBy() .isEmpty())) { reconstructAbstractValues(currentQuery.getOrderBy(), precomputedSqlTable, reconstructAbstractValues(currentQuery.getGroupBy(), precomputedSqlTable, valueMap, precompQuery.getFrom(), false, newQuery.getGroupBy());