feat: add global system tables framework under sys database#366
Draft
suxiaogang223 wants to merge 6 commits into
Draft
feat: add global system tables framework under sys database#366suxiaogang223 wants to merge 6 commits into
sys database#366suxiaogang223 wants to merge 6 commits into
Conversation
- Add GetOptions() to Catalog interface for catalog-level config access - FileSystemCatalog stores and exposes catalog_options - New GlobalSystemTableLoader with independent registry for sys tables - Implement sys.catalog_options, sys.all_table_options, sys.tables - Stub for sys.partitions (manifest aggregation to follow) - Extend SystemTablePath with is_global flag - TryParsePath detects sys/ paths for TableScan/TableRead routing - FileSystemCatalog handles sys database in ListTables, DatabaseExists, TableExists, LoadTableSchema Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add global system table support under the
sysdatabase, enabling catalog-level metadata queries.Closes part of #141.
Changes
Infrastructure
GetOptions()toCataloginterface for catalog-level config accessFileSystemCatalogstores and exposes catalog optionsGlobalSystemTableLoaderwith independent registry forsystablesSystemTablePathwithis_globalflag andTryParsePathto detectsys/pathsFileSystemCataloghandlessysdatabase inListTables/DatabaseExists/TableExists/LoadTableSchemaGlobal System Tables
sys.catalog_optionskey,valuesys.all_table_optionsdatabase_name,table_name,key,valuesys.tablesdatabase_name,table_name,table_type,partitioned,primary_key,record_count; file stats columns (file_size_in_bytes, file_count, last_file_creation_time) return nullsys.partitionsFiles Changed
Dependency on #309 (codex/system-table-files-manifests-pr4)
The
ManifestFile/ManifestListreading infrastructure from #309 is needed to complete:sys.tables: populatefile_size_in_bytes,file_count,last_file_creation_timeby aggregating manifest entries from the latest snapshotsys.partitions: read manifest entries grouped by partition to output per-partition statisticsOnce #309 lands, the remaining TODO items in
global_system_tables.cppcan be resolved in a follow-up PR.🤖 Generated with Claude Code