| validate(SqlValidator, SqlValidatorScope) |  | 0% |  | 0% | 25 | 25 | 74 | 74 | 1 | 1 |
| overlay(SqlWindow, SqlValidator) |  | 0% |  | 0% | 11 | 11 | 33 | 33 | 1 | 1 |
| checkSpecialLiterals(SqlWindow, SqlValidator) |  | 0% |  | 0% | 18 | 18 | 38 | 38 | 1 | 1 |
| validateFrameBoundary(SqlNode, boolean, SqlTypeFamily, SqlValidator, SqlValidatorScope) |  | 0% |  | 0% | 16 | 16 | 31 | 31 | 1 | 1 |
| setOperand(int, SqlNode) |  | 0% |  | 0% | 10 | 10 | 21 | 21 | 1 | 1 |
| isAlwaysNonEmpty() |  | 0% |  | 0% | 6 | 6 | 13 | 13 | 1 | 1 |
| createCurrentRowWindow(String) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| createUnboundedPrecedingWindow(String) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| populateBounds() |  | 0% |  | 0% | 5 | 5 | 7 | 7 | 1 | 1 |
| getOperandList() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| unparse(SqlWriter, int, int) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| setOperand(SqlNode, SqlNode, SqlValidator) |  | 0% |  | 0% | 5 | 5 | 7 | 7 | 1 | 1 |
| equalsDeep(SqlNode, Litmus) |  | 0% |  | 0% | 4 | 4 | 4 | 4 | 1 | 1 |
| onlySymbolBounds(SqlNode, SqlNode) |  | 0% |  | 0% | 7 | 7 | 3 | 3 | 1 | 1 |
| isAlwaysNonEmpty(RexWindowBound, RexWindowBound) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| setWindowCall(SqlCall) |  | 0% |  | 0% | 4 | 4 | 4 | 4 | 1 | 1 |
| SqlWindow(SqlParserPos, SqlIdentifier, SqlIdentifier, SqlNodeList, SqlNodeList, SqlLiteral, SqlNode, SqlNode, SqlLiteral, SqlLiteral) |   | 77% |   | 28% | 7 | 8 | 0 | 14 | 0 | 1 |
| SqlWindow(SqlParserPos, SqlIdentifier, SqlIdentifier, SqlNodeList, SqlNodeList, SqlLiteral, SqlNode, SqlNode, SqlLiteral) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| create(SqlIdentifier, SqlIdentifier, SqlNodeList, SqlNodeList, SqlLiteral, SqlNode, SqlNode, SqlLiteral, SqlParserPos) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setDeclName(SqlIdentifier) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| isCurrentRow(SqlNode) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| isUnboundedPreceding(SqlNode) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| isUnboundedFollowing(SqlNode) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| isAllowPartial() |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| isExcludeNoOthers(SqlLiteral) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| isExcludeCurrentRow(SqlLiteral) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| isExcludeGroup(SqlLiteral) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| isExcludeTies(SqlLiteral) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| setLowerBound(SqlNode) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setUpperBound(SqlNode) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setRows(SqlLiteral) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| isRows() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setOrderList(SqlNodeList) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setPartitionList(SqlNodeList) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| createExcludeCurrentRow(SqlParserPos) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| createExcludeTies(SqlParserPos) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| createExcludeGroup(SqlParserPos) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| createCurrentRow(SqlParserPos) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| createUnboundedFollowing(SqlParserPos) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| createUnboundedPreceding(SqlParserPos) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$validate$1(boolean, SqlValidator.Config) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$validate$0(SqlValidator.Config) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getDeclName() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getLowerBound() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getUpperBound() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getExclude() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getOrderList() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getPartitionList() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getRefName() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getWindowCall() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| static {...} |  | 92% |   | 50% | 1 | 2 | 0 | 3 | 0 | 1 |
| getOperator() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getKind() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| createBound(SqlLiteral) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| create(SqlIdentifier, SqlIdentifier, SqlNodeList, SqlNodeList, SqlLiteral, SqlNode, SqlNode, SqlLiteral, SqlLiteral, SqlParserPos) |  | 100% |   | 83% | 1 | 4 | 0 | 5 | 0 | 1 |
| createFollowing(SqlNode, SqlParserPos) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| createPreceding(SqlNode, SqlParserPos) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| createExcludeNoOthers(SqlParserPos) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |