public BaseIndexInfo(T table, final List<? extends Expression> projectedCols, final Criteria condition, OrderBy orderBy, boolean primary) { this.table = table; if (primary || this.table.getColumnMap().keySet().containsAll(projectedCols)) { covering = true; } if (table.getPkLength() > 0) { processCriteria(condition, primary); if (orderBy != null) { ordering = useIndexForOrderBy(orderBy); } } }
for (Iterator<Criteria> critIter = crits.iterator(); critIter.hasNext();) { Criteria criteria = critIter.next(); if (table.getColumnMap().keySet().containsAll(ElementCollectorVisitor.getElements(criteria, false))) { if (coveredCriteria == null) { coveredCriteria = new CompoundCriteria(); for (int i = 0; i < table.getPkLength(); i++) { for (Iterator<Criteria> critIter = crits.iterator(); critIter.hasNext();) { Criteria criteria = critIter.next(); if (criteria instanceof CompareCriteria) { CompareCriteria cc = (CompareCriteria)criteria; Object matchResult = table.matchesPkColumn(i, cc.getLeftExpression()); if (Boolean.FALSE.equals(matchResult)) { continue; if (cc.getOperator() != CompareCriteria.EQ && !table.supportsOrdering(i, cc.getLeftExpression())) { critIter.remove(); continue; } else if (criteria instanceof IsNullCriteria) { IsNullCriteria inc = (IsNullCriteria)criteria; Object matchResult = table.matchesPkColumn(i, inc.getExpression()); if (Boolean.FALSE.equals(matchResult)) { continue; } else if (criteria instanceof MatchCriteria) { MatchCriteria matchCriteria = (MatchCriteria)criteria; Object matchResult = table.matchesPkColumn(i, matchCriteria.getLeftExpression()); if (Boolean.FALSE.equals(matchResult)) {
Boolean direction = null; int size = orderBy.getOrderByItems().size(); if (size > table.getPkLength()) { return null; OrderByItem item = orderBy.getOrderByItems().get(i); if (!Boolean.TRUE.equals(table.matchesPkColumn(i, item.getSymbol())) || !table.supportsOrdering(i, item.getSymbol())) { return null;
void addSet(int i, Object match, Collection<Constant> values) { if (!valueSet.isEmpty()) { return; } if (i == 0) { for (Constant constant : values) { List<Object> value = new ArrayList<Object>(table.getPkLength()); Object value2 = constant.getValue(); buildSearchRow(i, match, value2, value); valueSet.add(value); } lower = null; upper = null; } }
for (Iterator<Criteria> critIter = crits.iterator(); critIter.hasNext();) { Criteria criteria = critIter.next(); if (table.getColumnMap().keySet().containsAll(ElementCollectorVisitor.getElements(criteria, false))) { if (coveredCriteria == null) { coveredCriteria = new CompoundCriteria(); for (int i = 0; i < table.getPkLength(); i++) { for (Iterator<Criteria> critIter = crits.iterator(); critIter.hasNext();) { Criteria criteria = critIter.next(); if (criteria instanceof CompareCriteria) { CompareCriteria cc = (CompareCriteria)criteria; Object matchResult = table.matchesPkColumn(i, cc.getLeftExpression()); if (Boolean.FALSE.equals(matchResult)) { continue; if (cc.getOperator() != CompareCriteria.EQ && !table.supportsOrdering(i, cc.getLeftExpression())) { critIter.remove(); continue; } else if (criteria instanceof IsNullCriteria) { IsNullCriteria inc = (IsNullCriteria)criteria; Object matchResult = table.matchesPkColumn(i, inc.getExpression()); if (Boolean.FALSE.equals(matchResult)) { continue; } else if (criteria instanceof MatchCriteria) { MatchCriteria matchCriteria = (MatchCriteria)criteria; Object matchResult = table.matchesPkColumn(i, matchCriteria.getLeftExpression()); if (Boolean.FALSE.equals(matchResult)) {
Boolean direction = null; int size = orderBy.getOrderByItems().size(); if (size > table.getPkLength()) { return null; OrderByItem item = orderBy.getOrderByItems().get(i); if (!Boolean.TRUE.equals(table.matchesPkColumn(i, item.getSymbol())) || !table.supportsOrdering(i, item.getSymbol())) { return null;
void addSet(int i, Object match, Collection<Constant> values) { if (!valueSet.isEmpty()) { return; } if (i == 0) { for (Constant constant : values) { List<Object> value = new ArrayList<Object>(table.getPkLength()); Object value2 = constant.getValue(); buildSearchRow(i, match, value2, value); valueSet.add(value); } lower = null; upper = null; } }
for (Iterator<Criteria> critIter = crits.iterator(); critIter.hasNext();) { Criteria criteria = critIter.next(); if (table.getColumnMap().keySet().containsAll(ElementCollectorVisitor.getElements(criteria, false))) { if (coveredCriteria == null) { coveredCriteria = new CompoundCriteria(); for (int i = 0; i < table.getPkLength(); i++) { for (Iterator<Criteria> critIter = crits.iterator(); critIter.hasNext();) { Criteria criteria = critIter.next(); if (criteria instanceof CompareCriteria) { CompareCriteria cc = (CompareCriteria)criteria; Object matchResult = table.matchesPkColumn(i, cc.getLeftExpression()); if (Boolean.FALSE.equals(matchResult)) { continue; if (cc.getOperator() != CompareCriteria.EQ && !table.supportsOrdering(i, cc.getLeftExpression())) { critIter.remove(); continue; } else if (criteria instanceof IsNullCriteria) { IsNullCriteria inc = (IsNullCriteria)criteria; Object matchResult = table.matchesPkColumn(i, inc.getExpression()); if (Boolean.FALSE.equals(matchResult)) { continue; } else if (criteria instanceof MatchCriteria) { MatchCriteria matchCriteria = (MatchCriteria)criteria; Object matchResult = table.matchesPkColumn(i, matchCriteria.getLeftExpression()); if (Boolean.FALSE.equals(matchResult)) {
Boolean direction = null; int size = orderBy.getOrderByItems().size(); if (size > table.getPkLength()) { return null; OrderByItem item = orderBy.getOrderByItems().get(i); if (!Boolean.TRUE.equals(table.matchesPkColumn(i, item.getSymbol())) || !table.supportsOrdering(i, item.getSymbol())) { return null;
public BaseIndexInfo(T table, final List<? extends Expression> projectedCols, final Criteria condition, OrderBy orderBy, boolean primary) { this.table = table; if (primary || this.table.getColumnMap().keySet().containsAll(projectedCols)) { covering = true; } if (table.getPkLength() > 0) { processCriteria(condition, primary); if (orderBy != null) { ordering = useIndexForOrderBy(orderBy); } } }
void addSet(int i, Object match, Collection<Constant> values) { if (!valueSet.isEmpty()) { return; } if (i == 0) { for (Constant constant : values) { List<Object> value = new ArrayList<Object>(table.getPkLength()); Object value2 = constant.getValue(); buildSearchRow(i, match, value2, value); valueSet.add(value); } lower = null; upper = null; } }
public BaseIndexInfo(T table, final List<? extends Expression> projectedCols, final Criteria condition, OrderBy orderBy, boolean primary) { this.table = table; if (primary || this.table.getColumnMap().keySet().containsAll(projectedCols)) { covering = true; } if (table.getPkLength() > 0) { processCriteria(condition, primary); if (orderBy != null) { ordering = useIndexForOrderBy(orderBy); } } }
if (i == 0) { valueSet.clear(); valueSet.add(new ArrayList<Object>(table.getPkLength())); if (valueSet.isEmpty()) { if (i == 0) { lower = new ArrayList<Object>(table.getPkLength()); if (valueSet.isEmpty()) { if (i == 0) { upper = new ArrayList<Object>(table.getPkLength());
if (i == 0) { valueSet.clear(); valueSet.add(new ArrayList<Object>(table.getPkLength())); if (valueSet.isEmpty()) { if (i == 0) { lower = new ArrayList<Object>(table.getPkLength()); if (valueSet.isEmpty()) { if (i == 0) { upper = new ArrayList<Object>(table.getPkLength());
if (i == 0) { valueSet.clear(); valueSet.add(new ArrayList<Object>(table.getPkLength())); if (valueSet.isEmpty()) { if (i == 0) { lower = new ArrayList<Object>(table.getPkLength()); if (valueSet.isEmpty()) { if (i == 0) { upper = new ArrayList<Object>(table.getPkLength());