Repository navigation
test(spark): characterize VortexCatalog path identifier resolution - #9161
Merged
robert3005 merged 1 commit intoAug 4, 2026
Merged
Conversation
VortexCatalog was only exercised end-to-end through VortexSqlTest, which starts a real session. Pin the identifier contract directly instead: a name must look like a path and carry no namespace, and a path-shaped identifier that cannot be read is deliberately translated into NoSuchTableException so SQL users see "table not found" rather than an internal error. Also cover the surface the catalog does not implement: dropTable reports that nothing was dropped rather than deleting data, and CREATE, ALTER and RENAME TABLE are unsupported. Signed-off-by: jackylee <qcsd2011@gmail.com>
robert3005
approved these changes
Aug 4, 2026
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.
VortexCatalog— the path-based catalog behindSELECT * FROM vortex.`/path`— was only exercised end-to-end throughVortexSqlTest, which starts a real session. This pins the identifier contract directly, without starting Spark.Covered:
initialize, and defaults tovortexbefore it is calledlistTablesis always empty: the catalog holds no state, tables are addressed by path/is not a table, and neither is a namespaced one even when the name looks like a pathNoSuchTableException, so SQL users see "table not found" rather than an internal errordropTablereports that nothing was dropped rather than deleting dataCREATE,ALTERandRENAME TABLEare unsupportedTests
./gradlew :vortex-spark_2.13:test --tests 'dev.vortex.spark.VortexCatalogTest'— 10/10 pass./gradlew :vortex-spark_2.12:test --tests 'dev.vortex.spark.VortexCatalogTest'— 10/10 pass./gradlew :vortex-spark_2.13:spotlessCheck— clean