The File connector (introduced in #1435) allows users to query raw files of any format or type or modalities and their internal metadata via SQL using $-suffix table variants (e.g., $encodings, $fields). However, there is currently no way for users to discover which metadata table variants are available for a given file.
Since the File connector is catalog-less (table names are file paths), SHOW TABLES cannot enumerate files in the traditional sense.
Problem
Users must already know the exact $-suffix metadata table names to query them. There is no discoverability mechanism — if a user has a file /path/to/file.nimble, they cannot programmatically determine that /path/to/file.nimble$encodings or /path/to/file.nimble$fields exist as queryable variants.
Proposed Solution
Support a pattern like:
SHOW TABLES LIKE '/path/to/file.nimble$%'
This should return the available metadata variants for that file, e.g.:
/path/to/file.nimble$encodings
/path/to/file.nimble$fields
Technical Considerations
- This likely requires changes to how
SHOW TABLES interacts with the listTableNames interface in the connector.
- The connector would need to recognize that the pattern targets a specific file and enumerate the available
$-suffix metadata tables for it.
- Should gracefully handle cases where the base file doesn't exist or has no metadata variants.
References
The File connector (introduced in #1435) allows users to query raw files of any format or type or modalities and their internal metadata via SQL using
$-suffix table variants (e.g.,$encodings,$fields). However, there is currently no way for users to discover which metadata table variants are available for a given file.Since the File connector is catalog-less (table names are file paths),
SHOW TABLEScannot enumerate files in the traditional sense.Problem
Users must already know the exact
$-suffix metadata table names to query them. There is no discoverability mechanism — if a user has a file/path/to/file.nimble, they cannot programmatically determine that/path/to/file.nimble$encodingsor/path/to/file.nimble$fieldsexist as queryable variants.Proposed Solution
Support a pattern like:
This should return the available metadata variants for that file, e.g.:
/path/to/file.nimble$encodings/path/to/file.nimble$fieldsTechnical Considerations
SHOW TABLESinteracts with thelistTableNamesinterface in the connector.$-suffix metadata tables for it.References