morrySnow opened a new pull request, #66944:
URL: https://github.com/apache/doris/pull/66944
### What problem does this PR solve?
Issue Number: None
Related PR: None
Problem Summary: `statementBase` previously grouped unrelated statement
families into one ANTLR adaptive prediction decision. This PR splits
cross-prefix families and dispatches them through first-token-specific rules,
changing generated `statementBase()` from one `adaptivePredict` call to a
direct `LA(1)` switch. It also removes the redundant `supported` prefix from
statement grammar rules and generated Context/visitor names; dispatcher rules
use the `*StatementDispatch` suffix where the natural statement name is already
occupied. All concrete grammar alternatives and FE behavior are preserved.
Parent CST Context compatibility is intentionally out of scope because the
standalone parser CST is not a public API.
Shared-host JMH rounds were rejected because they did not pass the
predeclared noise gate, so this PR does not claim an unverified wall-clock
improvement.
### Release note
None
### Check List (For Author)
- Test
- [x] Unit Test
- `./run-fe-ut.sh --run
org.apache.doris.sqlparser.StatementBaseDispatchTest,org.apache.doris.sqlparser.DorisSqlParserTest,org.apache.doris.nereids.parser.NereidsParserTest`
- 163 tests passed: 73 dispatch, 7 parser, and 83 Nereids
parser/visitor tests.
- [x] Manual test
- `mvn checkstyle:check -pl fe-core`
- `DISABLE_BUILD_UI=ON ./build.sh --fe`
- FE reactor BUILD SUCCESS with 0 Checkstyle violations.
- Behavior changed:
- [x] No.
- Does this need documentation?
- [x] No.
### Check List (For Reviewer who merge this PR)
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]