Is your feature request related to a problem?
The Analytics engine integration requires ANSI SQL support to enable SQL queries against non-Lucene indices. However, the unified query API currently only supports PPL V3. The PPL integration (tracked in the sibling issue) establishes the query routing, execution engine, and response formatting infrastructure — this issue covers the additional work needed for SQL support.
Technical requirements:
- ANSI SQL queries against non-Lucene indices return correct results through
_plugins/_sql endpoint
- SQL explain API (
_plugins/_sql/_explain) returns the logical plan
- OpenSearch full-text search functions (
match, match_phrase, query_string) available in ANSI SQL syntax
- Existing V2 SQL queries are unaffected (backward compatible, ANSI SQL is opt-in)
- Same response format, error handling, and observability as the PPL unified path
What solution would you like?
Unified query API:
- Enable Calcite SQL in unified query API: Add the Calcite native SQL parser path (
SqlParser → SqlValidator → SqlToRelConverter → RelNode) in UnifiedQueryPlanner with proper SQL conformance, case sensitivity, and identifier handling
- Register full-text search functions: Register search functions (
match, match_phrase, query_string) with same signatures and return types
SQL plugin:
- Integrate with SQL REST endpoint: Add ANSI SQL mode routing in
RestSqlAction (via mode parameter or auto-detection) through the unified query pipeline established by the PPL issue, with explain support and backward compatibility for existing V2 SQL queries.
- Integration tests: End-to-end ITs verifying ANSI SQL query, explain, full-text search functions, response format, and breaking changes in existing V2 SQL queries.What alternatives have you considered?
See parent issue #5246 for the design comparison of Option A (Query Delegation), Option B (Unified Query Pipeline), and Option C (Calcite Schema Adapter).
Do you have any additional context?
- PoC PR: dai-chen/sql-1#10 — demonstrates ANSI SQL RelNode generation via Calcite's native parser in UnifiedQueryPlanner
- Depends on PPL Analytics engine integration (sibling issue) for query routing, execution engine, and response formatting infrastructure
Is your feature request related to a problem?
The Analytics engine integration requires ANSI SQL support to enable SQL queries against non-Lucene indices. However, the unified query API currently only supports PPL V3. The PPL integration (tracked in the sibling issue) establishes the query routing, execution engine, and response formatting infrastructure — this issue covers the additional work needed for SQL support.
Technical requirements:
_plugins/_sqlendpoint_plugins/_sql/_explain) returns the logical planmatch,match_phrase,query_string) available in ANSI SQL syntaxWhat solution would you like?
Unified query API:
SqlParser→SqlValidator→SqlToRelConverter→RelNode) in UnifiedQueryPlanner with proper SQL conformance, case sensitivity, and identifier handlingmatch,match_phrase,query_string) with same signatures and return typesSQL plugin:
RestSqlAction(via mode parameter or auto-detection) through the unified query pipeline established by the PPL issue, with explain support and backward compatibility for existing V2 SQL queries.See parent issue #5246 for the design comparison of Option A (Query Delegation), Option B (Unified Query Pipeline), and Option C (Calcite Schema Adapter).
Do you have any additional context?