Skip to content

eat(common): replace eager logical catalog with lazy async resolution#1849

Open
LNSD wants to merge 2 commits intomainfrom
lnsd/feat-common-amp-async-catalog
Open

eat(common): replace eager logical catalog with lazy async resolution#1849
LNSD wants to merge 2 commits intomainfrom
lnsd/feat-common-amp-async-catalog

Conversation

@LNSD
Copy link
Contributor

@LNSD LNSD commented Feb 23, 2026

Shift dataset table and function resolution from upfront logical catalog construction to on-demand async schema providers, so only catalogs referenced by a SQL statement are resolved at planning time.

  • Add AmpCatalogProvider and DatasetSchemaProvider for lazy per-dataset table and function resolution through DataFusion's async catalog API
  • Introduce SessionState wrapper with SQL pre-resolution that extracts references from statements and resolves only matched async catalogs
  • Add SelfSchemaProvider for self-referencing virtual schema lookups
  • Delete LogicalCatalog and all four catalog::logical resolution modules (for_query, for_dump, for_admin_api, for_manifest_validation)

@LNSD LNSD force-pushed the lnsd/feat-common-amp-async-catalog branch from d85dd84 to e6efa27 Compare February 23, 2026 16:19
@LNSD LNSD changed the title refactor(common): type pre-resolution errors for variant-based classi… feat(common): amp catalog provider Feb 23, 2026
@LNSD LNSD force-pushed the lnsd/feat-common-amp-async-catalog branch 13 times, most recently from 7037315 to b195c35 Compare February 26, 2026 15:06
@LNSD LNSD force-pushed the lnsd/feat-common-amp-async-catalog branch 4 times, most recently from 3260ab9 to 4a2a1c8 Compare February 27, 2026 19:07
Replace direct catalog network collection with BFS traversal of dataset
dependencies to find raw datasets, enabling correct resolution for derived datasets.

- Add `resolve_network_from_dependencies()` BFS function and `ResolveNetworkError` type
- Replace `SpawnError::MultiNetwork` with `SpawnError::ResolveNetwork` wrapping the new error
- Remove per-table network collection in admin-api schema handler
- Add dummy network placeholder in schema endpoint for TS manifest builder compat

Signed-off-by: Lorenzo Delgado <lorenzo@edgeandnode.com>
@LNSD LNSD force-pushed the lnsd/feat-common-amp-async-catalog branch 2 times, most recently from bd7c5bf to b448334 Compare February 28, 2026 02:08
Shift dataset table and function resolution from upfront logical catalog
construction to on-demand async schema providers, so only catalogs
referenced by a SQL statement are resolved at planning time.

- Add `AmpCatalogProvider` and `DatasetSchemaProvider` for lazy per-dataset
  table and function resolution through DataFusion's async catalog API
- Introduce `SessionState` wrapper with SQL pre-resolution that extracts
  references from statements and resolves only matched async catalogs
- Add `SelfSchemaProvider` for self-referencing virtual schema lookups
- Delete `LogicalCatalog` and all four `catalog::logical` resolution modules
  (`for_query`, `for_dump`, `for_admin_api`, `for_manifest_validation`)

Signed-off-by: Lorenzo Delgado <lorenzo@edgeandnode.com>
@LNSD LNSD force-pushed the lnsd/feat-common-amp-async-catalog branch from b448334 to 1729202 Compare February 28, 2026 02:12
@LNSD LNSD changed the title feat(common): amp catalog provider eat(common): replace eager logical catalog with lazy async resolution Feb 28, 2026
@LNSD LNSD self-assigned this Feb 28, 2026
@LNSD LNSD requested review from Theodus and leoyvens February 28, 2026 02:14
@LNSD LNSD marked this pull request as ready for review February 28, 2026 02:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant