thswlsqls commented on PR #39102: URL: https://github.com/apache/shardingsphere/pull/39102#issuecomment-4985406657
Confirmed. In the SQL92 grammar the `SYSTEM_USER` token is declared in `SQL92Keyword.g4` but is not referenced by any parser rule — it is unreachable through `columnName → identifier → (IDENTIFIER_ | unreservedWord)` in `BaseRule.g4` and is not in `regularFunctionName`. So `SELECT SYSTEM_USER` never produces a `ColumnSegment` and fails in the parser before `ColumnSegmentBinder#isUnparenthesizedFunction` reads the set; the binder-set entry cannot fix #39099. The existing niladic names (`CURRENT_USER`, `SESSION_USER`, `USER`) have the same gap. I'll move the fix into the grammar — make `SYSTEM_USER` reachable as an unparenthesized/niladic function via `BaseRule.g4` — and add a parser-to-binder test that actually parses `SELECT SYSTEM_USER`. -- 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]
