Skip to content

Conversation

craigtaverner
Copy link
Contributor

@craigtaverner craigtaverner commented Sep 18, 2025

This walking skeleton is based on the original "ESQL: View" prototype by Nik but removing the new grammar and the use of UnresolvedView, instead keeping only the REST API and the ViewService/ViewMetadata design and aim for a solution that uses the following approach:

  • Use REST API for views CRUD (No views DDL in ES|QL)
  • Resolve views inside UnresolvedRelation before resolving indexes (supporting name shadowing as requested by Observability)

Checklist:

  • Extract key parts of Nik's original prototype
  • Write testing infrastructure to test views within csv-spec tests (single and multi-node tests)
  • Expand REST API to cover get, list, create/update, delete views
  • Add size and count limitations to stored view definitions
  • Write testing infrastructure to test views in CsvTest (csv-spec unit testing)
  • Expand scope to nested views
  • Expand scope to multiple views and views+indexes
  • Ensure views are gated behind SNAPSHOT and/or feature flag
  • Prototype CCS
  • Prototype CPS

@craigtaverner craigtaverner added >feature Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) :Analytics/ES|QL AKA ESQL Feature:ES|QL labels Sep 18, 2025
@elasticsearchmachine
Copy link
Collaborator

Hi @craigtaverner, I've created a changelog YAML for you.

@craigtaverner craigtaverner force-pushed the views_prototype branch 2 times, most recently from f4adfab to 28c0641 Compare September 18, 2025 13:54
@craigtaverner craigtaverner force-pushed the views_prototype branch 10 times, most recently from f645590 to 7a59a68 Compare September 26, 2025 10:30
@craigtaverner craigtaverner force-pushed the views_prototype branch 2 times, most recently from dbe379c to c7eb252 Compare October 1, 2025 17:05
@craigtaverner craigtaverner force-pushed the views_prototype branch 2 times, most recently from 10c5744 to 9e81ef7 Compare October 2, 2025 12:24
@craigtaverner craigtaverner force-pushed the views_prototype branch 2 times, most recently from 1287dc2 to da52bb9 Compare October 17, 2025 08:49
This is based on the origional "ESQL: View" prototype by Nik but with the following changes:
* Removal of support for FROM VIEW command (ie. all parser/grammar changes reverted)
* Removal of UnresolvedView and View resolution from that
* Port to latest origin/main as of mid-September

The goal was to keep the following parts:
* REST API for view CRUD
* The initial design concept of ViewService and ViewMetadata

Co-authored-by: Craig Taverner <[email protected]>
* Also add csv-spec tests that actually pass!
* Expand REST API to cover get and list to make it easier to check cluster status before loading views
* Get CsvTests working on views
* Initial work on view service configuration
  * Max nested view depth
  * Max number of view definitions
  * Max individual view query length
* Support TransportVersions for ViewMetadata serialization
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:Analytics/ES|QL AKA ESQL Feature:ES|QL >feature Team:Analytics Meta label for analytical engine team (ESQL/Aggs/Geo) v9.3.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants