/** * Filter buckets. * * @param buckets * the buckets * @param query * the query * @return the terms */ private Terms filterBuckets(Terms buckets, KunderaQuery query) { Expression havingClause = query.getSelectStatement().getHavingClause(); if (!(havingClause instanceof NullExpression) && havingClause != null) { Expression conditionalExpression = ((HavingClause) havingClause).getConditionalExpression(); for (Iterator<Bucket> bucketIterator = buckets.getBuckets().iterator(); bucketIterator.hasNext();) { InternalAggregations internalAgg = (InternalAggregations) bucketIterator.next().getAggregations(); if (!isValidBucket(internalAgg, query, conditionalExpression)) { bucketIterator.remove(); } } } return buckets; }
addHavingClause(((HavingClause) selectStatement.getHavingClause()).getConditionalExpression(), termsBuilder, entityMetadata);
/** * {@inheritDoc} */ @Override public void visit(HavingClause expression) { expression.getConditionalExpression().accept(this); }
/** * {@inheritDoc} */ @Override public void visit(HavingClause expression) { expression.getConditionalExpression().accept(this); }
/** * {@inheritDoc} */ @Override public void visit(HavingClause expression) { clause = HAVING; expression.getConditionalExpression().accept(this); clause = null; }
/** * {@inheritDoc} */ @Override public void visit(HavingClause expression) { expression.getConditionalExpression().accept(this); }
/** * {@inheritDoc} */ @Override public void visit(HavingClause expression) { if (expression.hasConditionalExpression()) { conditionalExpression = true; expression.getConditionalExpression().accept(this); conditionalExpression = false; } }
/** * Filter buckets. * * @param buckets * the buckets * @param query * the query * @return the terms */ private Terms filterBuckets(Terms buckets, KunderaQuery query) { Expression havingClause = query.getSelectStatement().getHavingClause(); if (!(havingClause instanceof NullExpression) && havingClause != null) { Expression conditionalExpression = ((HavingClause) havingClause).getConditionalExpression(); for (Iterator<Bucket> bucketIterator = buckets.getBuckets().iterator(); bucketIterator.hasNext();) { InternalAggregations internalAgg = (InternalAggregations) bucketIterator.next().getAggregations(); if (!isValidBucket(internalAgg, query, conditionalExpression)) { bucketIterator.remove(); } } } return buckets; }
addHavingClause(((HavingClause) selectStatement.getHavingClause()).getConditionalExpression(), termsBuilder, entityMetadata);