FlyingZC commented on PR #39776:
URL: https://github.com/apache/shardingsphere/pull/39776#issuecomment-5595216002
### Result
**Review Result: Mergeable**
The change correctly distinguishes SQL NULL from non-null literal values
without changing the existing
`getLiterals()` or `getText()` contracts. Direct consumers now handle SQL
NULL explicitly, while numeric
ordinal behavior remains unchanged.
### Evidence
- Added `LiteralExpressionSegment#isNullLiteral()` as the shared semantic
check.
- Preserved Java `null` as the semantic value of SQL NULL.
- Preserved SQL NULL as `SqlLiteral.createNull` in SQL Federation.
- Prevented SQL NULL from being interpreted as an ORDER BY/GROUP BY
position.
- Preserved original projection text for unaliased ClickHouse NULL
projections.
- Normalized Oracle NULL projection labels to `NULL`.
- Prevented ROWNUM/TOP pagination extraction from dereferencing a null
literal value.
- Focused unit tests passed: 49 tests.
- Parser integration tests passed:
- MySQL, Oracle, and PostgreSQL: 5,034 tests.
- openGauss and ClickHouse: 979 tests.
- Spotless, Checkstyle, and Apache RAT passed.
### Coverage
Reviewed commit `234819d9f1db8f5b74242440b8846aa0dfced42f`, covering all
22 changed files.
The reviewed behavior clusters include:
- Literal semantic-value contract.
- Projection text and column-label handling.
- ORDER BY and GROUP BY expression handling.
- Pagination context extraction.
- SQL Federation NULL conversion.
- Unit and parser integration regression coverage.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]