| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
…i packages (0.2.0) Declare the eight per-platform kernel binary packages as optionalDependencies pinned to 0.2.0, so a released @databricks/sql pulls the matching native binding from npm on install instead of requiring a local 'npm run build:native'. npm resolves only the package matching the consumer's platform; the rest are skipped (optional), so installs on unsupported platforms keep working with the Thrift backend. Refresh native/kernel/README.md to drop the stale 'M0 / not yet published' note now that all 8 triples are live. Co-authored-by: Isaac Signed-off-by: Madhavendra Rathore <madhavendra.rathore@databricks.com>
Regenerated against public npm so the eight @databricks/databricks-sql-kernel-* 0.2.0 entries carry registry.npmjs.org resolved URLs + integrity, keeping npm ci in sync with package.json. Co-authored-by: Isaac Signed-off-by: Madhavendra Rathore <madhavendra.rathore@databricks.com>
Adds a focused live-warehouse e2e that connects with useKernel:true, runs SELECT 1, fetches the row, and asserts the value === 1 — the full DBSQLClient → KernelBackend → napi (npm-installed binding) → warehouse round-trip. Complements execution-e2e.test.ts, which exercises the operation lifecycle but does not read rows. Gated on the pecotesting secrets; skips when absent. Verified passing against a live warehouse on the published kernel 0.2.0 binary. Co-authored-by: Isaac Signed-off-by: Madhavendra Rathore <madhavendra.rathore@databricks.com>
|
Thanks for your contribution! To satisfy the DCO policy in our contributing guide every commit message must include a sign-off message. One or more of your commits is missing this message. You can reword previous commit messages with an interactive rebase (git rebase -i main). |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
What
Declares the eight per-platform kernel binary packages as optionalDependencies, pinned to 0.2.0:
Also refreshes native/kernel/README.md to drop the stale "M0 / not yet published" note.
Why
The kernel's per-platform napi packages are now published on npm (umbrella + 8 triples at 0.2.0). With them in optionalDependencies, a released @databricks/sql pulls the matching native binding from npm at install time instead of requiring a local npm run build:native. npm installs only the package matching the consumer's process.platform/process.arch; the others are skipped (that's what optionalDependencies tolerates), so installs on unsupported platforms keep working on the Thrift backend.
The committed native/kernel/index.js router + index.d.ts are unchanged — the driver still owns the type contract and just needs the .node binary, which now arrives via the optional dep.
Testing
Verified locally on darwin-arm64 against the published 0.2.0 binary (binding loads, version() → 0.2.0) with main's driver code:
SELECT 1 via kernel 0.2.0 (useKernel:true, PAT): [{"one":1}]KERNEL_REV on main (0d46716) matches the 0.2.0 binding's exports (assertBindingShape passes).
⚠️ Follow-up before merge: regenerate package-lock.json
package-lock.json is not updated in this commit. The lockfile must be regenerated against public npm (the internal npm-proxy.dev.databricks.com does not mirror the @databricks/databricks-sql-kernel* scope yet — separate allowlist request in flight). Run with VPN off:
npm install --registry=https://registry.npmjs.org/ git add package-lock.json && git commitCI's npm ci will be red until that lands.
This pull request and its description were written by Isaac.