Repository navigation
Conversation
VortexCalciteOptions (schema name, directory, explicit tables) replaces passing a raw table map; connect(Path) is the one-call shortcut. The columns still come from each file's dtype. Existing connect(String, Map) and new VortexSchema(Map) delegate to the options, so nothing breaks. Part of #566. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…odel Lets a jdbc:calcite:model=... URL, as an IDE data source holds it, expose a directory of .vortex files. operand takes directory and files; any other key is rejected so a typo cannot silently expose no tables. The key is files, not tables: Calcite fills operand.tables with the model's own empty list. A model cannot set connection properties, so lex=JAVA must be in the URL. Part of #566. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…r works
VortexCalcite.connect called DriverManager.getConnection("jdbc:calcite:"),
which only finds drivers already registered. A jar loaded by its own
classloader (an IDE data source, an application server) never had Calcite's
driver registered, so connect failed with "No suitable driver". Instantiate
Calcite's driver directly.
Found by the shaded-jar integration test added with the jdbc-driver module.
Part of #566.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…L tools New module vortex-jdbc-driver: a java.sql.Driver registered through META-INF/services that parses jdbc:vortex:<dir>?schema=..&table.<name>=<path> into VortexCalciteOptions and connects through VortexCalcite. Unknown keys fail with SQLState 08001 so a typo cannot silently expose no tables. The -all shaded jar merges the java.sql.Driver service entries, strips signature files and bundles the zstd natives. ShadedJarIT loads it alone in an isolated classloader after package and runs a query. Closes #566. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…eaches Drops the Avatica HTTP client, YAML, sketches, Hilbert-curve and connection pooling jars: the shaded jar goes from 32.4 to 28.7 MB. Each was excluded on the calcite module's classpath and its whole SQL suite re-run; httpcore5, json-path and JTS cannot go, the planner initializes with them. Part of #566. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Setup, URL options, query tips (back-tick quoting, what is cheap), the out-of-memory case for queries that hold every row in IntelliJ's JDBC process, and a troubleshooting table. From a real IntelliJ session. Part of #566. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
It is a bug to fix, not behavior to document. Part of #566. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This branch has not been deployed
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.
Closes #566.
What
VortexCalciteOptions+VortexCalcite.connect(Path): a directory of.vortexfiles becomes SQL tables named after the files; columns come from each file's dtype.VortexSchemaFactory: the same, from ajdbc:calcite:model=...URL (operand:directory,files; other keys rejected).jdbc-driver(vortex-jdbc-driver):jdbc:vortex:<dir>?schema=..&table.<name>=<path>, registered viaMETA-INF/services/java.sql.Driver, shipped as a self-contained-alljar (28.7 MB) for IntelliJ/DBeaver.VortexCalcite.connectusedDriverManager, which fails with "No suitable driver" when the jar is loaded by its own classloader (separate commit).Notes
connect(String, Map)andnew VortexSchema(Map)delegate to the options.ShadedJarIT(failsafe, afterpackage) loads only the shaded jar in an isolated classloader: checks the mergedjava.sql.Driverentries, no signature files, and runs a query. It is what found theDriverManagerbug.httpcore5, json-path, JTS and Jackson cannot go (planner init). Re-check on Calcite upgrades.jdbc:calcite:model=) are not available through the driver jar (YAML excluded); usejdbc:vortex:.Not done
JdbcExporteris feat(jdbc): JdbcExporter, matching the CSV and Parquet exporters #567. JPMS (build: JPMS modules for the library, surefire and failsafe on the module path #538) may want amodule-infofor the new module.🤖 Generated with Claude Code