| getSQL() |  | 0% |  | 0% | 26 | 26 | 131 | 131 | 1 | 1 |
| resolveTypesForComparison(Session, Expression) |   | 28% |   | 26% | 41 | 45 | 48 | 71 | 0 | 1 |
| resolveTypes(Session, Expression) |   | 28% |   | 25% | 44 | 51 | 79 | 107 | 0 | 1 |
| getValue(Session) |  | 0% |  | 0% | 39 | 39 | 66 | 66 | 1 | 1 |
| reorderComparison(Session, Expression) |  | 0% |  | 0% | 19 | 19 | 55 | 55 | 1 | 1 |
| getAllAnyValue(Session, Object[], TableDerived) |  | 0% |  | 0% | 31 | 31 | 79 | 79 | 1 | 1 |
| resolveTypesForOverlaps() |  | 0% |  | 0% | 8 | 8 | 20 | 20 | 1 | 1 |
| testMatchCondition(Session) |  | 0% |  | 0% | 29 | 29 | 69 | 69 | 1 | 1 |
| describe(Session, int) |  | 0% |  | 0% | 26 | 26 | 63 | 63 | 1 | 1 |
| convertDateTime(Session) |  | 0% |  | 0% | 7 | 7 | 23 | 23 | 1 | 1 |
| compareValues(Session, Object[], Object[]) |  | 0% |  | 0% | 25 | 25 | 46 | 46 | 1 | 1 |
| costFactor(Session, RangeVariable, int) |  | 0% |  | 0% | 12 | 12 | 28 | 28 | 1 | 1 |
| resolveRowTypes() |  | 0% |  | 0% | 9 | 9 | 17 | 17 | 1 | 1 |
| costFactorColumns(Session, RangeVariable) |  | 0% |  | 0% | 9 | 9 | 17 | 17 | 1 | 1 |
| distributeOr() |  | 0% |  | 0% | 4 | 4 | 17 | 17 | 1 | 1 |
| matchValues(Session, Object[], Object[]) |  | 0% |  | 0% | 8 | 8 | 16 | 16 | 1 | 1 |
| testInCondition(Session) |  | 0% |  | 0% | 6 | 6 | 13 | 13 | 1 | 1 |
| getIndexableExpression(RangeVariable) |   | 64% |   | 47% | 18 | 25 | 15 | 38 | 0 | 1 |
| compareValues(Session, Object, Object) |  | 0% |  | 0% | 15 | 15 | 23 | 23 | 1 | 1 |
| resolveTypesForAllAny(Session) |   | 74% |   | 54% | 10 | 12 | 7 | 24 | 0 | 1 |
| checkRowComparison() |   | 10% |   | 8% | 6 | 7 | 8 | 10 | 0 | 1 |
| changeToRowExpression(int) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| isIndexable(RangeVariable) |   | 24% |   | 23% | 6 | 8 | 6 | 9 | 0 | 1 |
| isSimpleBound() |  | 0% |  | 0% | 6 | 6 | 9 | 9 | 1 | 1 |
| costFactorUnaryColumn(Session, RangeVariable) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| testNotDistinctCondition(Session) |  | 0% |  | 0% | 4 | 4 | 5 | 5 | 1 | 1 |
| testAllAnyCondition(Session) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| setEqualityMode() |   | 70% |   | 66% | 3 | 9 | 5 | 18 | 0 | 1 |
| ExpressionLogical(Expression, Expression) |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| ExpressionLogical(int, Expression, Expression, Expression) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| resolveTypesForLogicalOp() |   | 71% |   | 50% | 8 | 9 | 5 | 11 | 0 | 1 |
| orExpressions(Expression, Expression) |  | 0% |  | 0% | 4 | 4 | 7 | 7 | 1 | 1 |
| isConditionRangeVariable(RangeVariable) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| testExistsCondition(Session) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| swapCondition() |   | 63% |   | 14% | 6 | 7 | 10 | 19 | 0 | 1 |
| getJoinRangeVariables(RangeVariable[], List) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| ExpressionLogical(boolean) |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| setNoOptimisation() |   | 35% |   | 25% | 2 | 3 | 4 | 7 | 0 | 1 |
| convertToSmaller() |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| andExpressions(Expression, Expression) |   | 72% |   | 60% | 4 | 6 | 3 | 10 | 0 | 1 |
| ExpressionLogical(int) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| ExpressionLogical(int, Expression) |  | 92% |   | 90% | 1 | 6 | 1 | 12 | 0 | 1 |
| addLeftColumnsForAllAny(RangeVariable, OrderedIntHashSet) |  | 91% |   | 62% | 3 | 5 | 3 | 9 | 0 | 1 |
| ExpressionLogical(int, Expression, Expression) |  | 87% |   | 66% | 1 | 3 | 1 | 11 | 0 | 1 |
| ExpressionLogical(RangeVariable, int, RangeVariable, int) |  | 100% | | n/a | 0 | 1 | 0 | 9 | 0 | 1 |
| ExpressionLogical(ColumnSchema) |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 |
| setSubType(int) |  | 100% |   | 50% | 2 | 3 | 0 | 4 | 0 | 1 |
| newNotNullCondition(Expression) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |