| getSQL() |  | 0% |  | 0% | 26 | 26 | 131 | 131 | 1 | 1 |
| reorderComparison(Session, Expression) |  | 0% |  | 0% | 19 | 19 | 55 | 55 | 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 |
| getAllAnyValue(Session, Object[], TableDerived) |   | 35% |   | 21% | 28 | 31 | 58 | 79 | 0 | 1 |
| resolveTypes(Session, Expression) |   | 68% |   | 65% | 25 | 51 | 33 | 107 | 0 | 1 |
| getValue(Session) |   | 51% |   | 46% | 27 | 39 | 31 | 66 | 0 | 1 |
| compareValues(Session, Object[], Object[]) |  | 0% |  | 0% | 25 | 25 | 46 | 46 | 1 | 1 |
| resolveTypesForComparison(Session, Expression) |   | 77% |   | 68% | 22 | 45 | 20 | 71 | 0 | 1 |
| costFactor(Session, RangeVariable, int) |  | 0% |  | 0% | 12 | 12 | 28 | 28 | 1 | 1 |
| costFactorColumns(Session, RangeVariable) |  | 0% |  | 0% | 9 | 9 | 17 | 17 | 1 | 1 |
| distributeOr() |  | 0% |  | 0% | 4 | 4 | 17 | 17 | 1 | 1 |
| testInCondition(Session) |  | 0% |  | 0% | 6 | 6 | 13 | 13 | 1 | 1 |
| getIndexableExpression(RangeVariable) |   | 64% |   | 47% | 18 | 25 | 15 | 38 | 0 | 1 |
| convertDateTime(Session) |   | 62% |   | 75% | 3 | 7 | 7 | 23 | 0 | 1 |
| resolveRowTypes() |   | 52% |   | 62% | 5 | 9 | 6 | 17 | 0 | 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 |
| resolveTypesForAllAny(Session) |   | 84% |   | 63% | 8 | 12 | 5 | 24 | 0 | 1 |
| ExpressionLogical(int, Expression, Expression, Expression) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 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 |
| matchValues(Session, Object[], Object[]) |   | 79% |   | 57% | 4 | 8 | 3 | 16 | 0 | 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 |
| testNotDistinctCondition(Session) |   | 75% |   | 33% | 3 | 4 | 1 | 5 | 0 | 1 |
| resolveTypesForLogicalOp() |   | 91% |   | 75% | 4 | 9 | 2 | 11 | 0 | 1 |
| compareValues(Session, Object, Object) |  | 93% |   | 91% | 2 | 15 | 1 | 23 | 0 | 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 |
| checkRowComparison() |  | 94% |   | 66% | 4 | 7 | 1 | 10 | 0 | 1 |
| setEqualityMode() |  | 100% |  | 100% | 0 | 9 | 0 | 18 | 0 | 1 |
| changeToRowExpression(int) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 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 |
| testAllAnyCondition(Session) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| ExpressionLogical(Expression, Expression) |  | 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 |
| ExpressionLogical(int) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |