@Override public void createIndexConditions(Session session, TableFilter filter) { if (value.getType() == Value.BOOLEAN) { boolean v = value.getBoolean().booleanValue(); if (!v) { filter.addIndexCondition(IndexCondition.get(Comparison.FALSE, null, this)); } } }
@Override public void createIndexConditions(Session session, TableFilter filter) { if (!(left instanceof ExpressionColumn)) { return; } ExpressionColumn l = (ExpressionColumn) left; if (filter != l.getTableFilter()) { return; } if (session.getDatabase().getSettings().optimizeInList) { filter.addIndexCondition(IndexCondition.getInList(l, valueList)); return; } }
@Override public void createIndexConditions(Session session, TableFilter filter) { TableFilter tf = getTableFilter(); if (filter == tf && column.getType() == Value.BOOLEAN) { IndexCondition cond = IndexCondition.get( Comparison.EQUAL, this, ValueExpression.get( ValueBoolean.get(true))); filter.addIndexCondition(cond); } }
@Override public void createIndexConditions(Session session, TableFilter filter) { if (!session.getDatabase().getSettings().optimizeInList) { return; } if (!(left instanceof ExpressionColumn)) { return; } ExpressionColumn l = (ExpressionColumn) left; if (filter != l.getTableFilter()) { return; } ExpressionVisitor visitor = ExpressionVisitor.getNotFromResolverVisitor(filter); if (!query.isEverything(visitor)) { return; } filter.addIndexCondition(IndexCondition.getInQuery(l, query)); }
filter.addIndexCondition(IndexCondition.get(Comparison.EQUAL, l, ValueExpression.get(ValueString.get(begin)))); } else { filter.addIndexCondition(IndexCondition.get( Comparison.BIGGER_EQUAL, l, ValueExpression.get(ValueString.get(begin)))); end = begin.substring(0, begin.length() - 1) + (char) (next + i); if (compareMode.compareString(begin, end, ignoreCase) == -1) { filter.addIndexCondition(IndexCondition.get( Comparison.SMALLER, l, ValueExpression.get(ValueString.get(end))));
@Override public void createIndexConditions(Session session, TableFilter filter) { if (!(left instanceof ExpressionColumn)) { return; } ExpressionColumn l = (ExpressionColumn) left; if (filter != l.getTableFilter()) { return; } if (session.getDatabase().getSettings().optimizeInList) { ExpressionVisitor visitor = ExpressionVisitor.getNotFromResolverVisitor(filter); for (Expression e : valueList) { if (!e.isEverything(visitor)) { return; } } filter.addIndexCondition(IndexCondition.getInList(l, valueList)); return; } }
case IS_NULL: if (session.getDatabase().getSettings().optimizeIsNull) { filter.addIndexCondition( IndexCondition.get( Comparison.EQUAL_NULL_SAFE, l, filter.addIndexCondition( IndexCondition.get(compareType, l, right)); } else if (r != null) { int compareRev = getReversedCompareType(compareType); filter.addIndexCondition( IndexCondition.get(compareRev, r, left));