generated from amazon-archives/__template_Custom
-
Notifications
You must be signed in to change notification settings - Fork 181
Open
Labels
enhancementNew feature or requestNew feature or requestmaintenanceImproves code quality, but not the productImproves code quality, but not the productuntriaged
Description
Is your feature request related to a problem?
The async-query module currently maintains its own PPL parsing and validation stack that is separate from the Unified Query API. Long-term, as the PPL specification and reference implementation, the Unified Query API should be the single entrypoint and reusable library for PPL consumers and adopters.
What solution would you like?
Integrate the async-query module with the Unified Query API to leverage its PPL parsing capabilities:
- Prerequisite: Add a
UnifiedQueryParsercomponent to the Unified Query API that exposes PPL parsing as a standalone capability, enabling syntax validation without requiring full planning context. - Unified PPL Parsing: Replace
PPLQueryValidator's use ofOpenSearchPPLParserwithUnifiedQueryParser, eliminating the duplicate ANTLR parser in async-query-core. - AST-Based Validation: Migrate
PPLQueryValidationVisitorfrom CST-based (parse tree) validation to AST-based validation using the unified query AST, enabling richer semantic checks beyond grammar element deny lists. - Datasource Capability Model: Refactor
GrammarElementValidatorProviderand deny-list validators (S3GlueSQLGrammarElementValidator,SecurityLakeSQLGrammarElementValidatoretc) into a datasource capability model that integrates with the unified query API's semantic analysis.
What alternatives have you considered?
- Keep separate implementations: Maintain independent PPL parsing in async-query. This was rejected because it increases maintenance burden and risks behavioral divergence between direct and async query execution.
Do you have any additional context?
Current Architecture:
PPLQueryValidator: PPL String → OpenSearchPPLParser (CST) → PPLQueryValidationVisitor
→ GrammarElementValidatorProvider → Deny List Check
Target Architecture:
PPLQueryValidator: PPL String → UnifiedQueryParser → AST → All validations
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestmaintenanceImproves code quality, but not the productImproves code quality, but not the productuntriaged