Skip to content

[SEA-NodeJS] Rename SEA → kernel across the driver (useSEA → useKernel)#428

Open
msrathore-db wants to merge 1 commit into
mainfrom
msrathore/kernel-rename-v2
Open

[SEA-NodeJS] Rename SEA → kernel across the driver (useSEA → useKernel)#428
msrathore-db wants to merge 1 commit into
mainfrom
msrathore/kernel-rename-v2

Conversation

@msrathore-db
Copy link
Copy Markdown
Contributor

Why

The kernel backend can sit on top of any wire protocol (today SEA / Statement Execution API, later others), so the driver shouldn't brand its path "SEA". This renames the driver-layer surface to kernel, matching the Python connector's use_kernel=True, while preserving genuine references to the SEA wire protocol the kernel speaks.

What changed (mechanical, no behavior change)

  • Public option useSEAuseKernel.
  • lib/sea/lib/kernel/; Sea* classes/types → Kernel*; seaCancel/seaClose/seaFinished/seaServerInfoValuekernel*; SEA_DBMS_*/SEA_SERVER_NAMEKERNEL_*.
  • tests/unit/sea/tests/unit/kernel/, tests/e2e/sea/tests/e2e/kernel/ (+ Sea*-named test files).
  • native/sea/native/kernel/build:native, prepack, loader require path, .gitignore, .prettierignore, .npmignore, .gitattributes, and kernel-e2e.yml updated. index.d.ts/index.js regenerated from a fresh build, so the kernel-e2e drift-guard still matches.
  • Driver-prose comments / binding error messages → "kernel".
  • Dropped the dead 'sea' telemetry backend literal (nothing emits it).

Deliberately preserved

The genuine protocol references — "Statement Execution API (SEA)", "SEA REST protocol", "SEA wire", SEA CreateSession wire fields — and the native-packaging regression-guard for the historical garbled @databricks/sea-native-* npm prefix (renaming it would make the guard vacuous).

On the kernel repo

No kernel-repo changes needed. The kernel's own sea naming (SeaRestTransport, etc.) is the genuine SEA wire-protocol implementation — preserved by design. This rename is entirely the Node driver's path branding.

Base

Built on current main (includes directResults #426). Supersedes #415, which was stacked on the now-closed old SEA stack.

Verification

  • tsc clean; npm run lint (eslint lib/** tests/e2e/**) clean; prettier --check clean.
  • Renamed kernel unit suite 261 passing.
  • git grep useSEA0; no stale lib/sea/native/sea/tests/*/sea path refs.
  • useKernel: true validated end-to-end against a live warehouse — SELECT, directResults CREATE+count, and the binding loading from native/kernel/.

This pull request and its description were written by Isaac.

The kernel backend can sit on top of any wire protocol (today SEA / Statement
Execution API, later others), so the driver shouldn't brand its path "SEA". This
renames the driver-layer surface to `kernel`, matching the Python connector's
`use_kernel=True`, while PRESERVING genuine references to the SEA wire protocol
the kernel speaks.

Mechanical, no behavior change:
- Public option `useSEA` → `useKernel`.
- `lib/sea/` → `lib/kernel/`; `Sea*` classes/types → `Kernel*` (KernelBackend,
  KernelSessionBackend, KernelOperationBackend, KernelAuth, KernelNativeLoader,
  KernelServerInfo, …); `seaCancel`/`seaClose`/`seaFinished`/`seaServerInfoValue`
  → `kernel*`; `SEA_DBMS_*`/`SEA_SERVER_NAME` → `KERNEL_*`.
- `tests/unit/sea/` → `tests/unit/kernel/`, `tests/e2e/sea/` → `tests/e2e/kernel/`
  (+ `Sea*`-named test files).
- `native/sea/` → `native/kernel/` — with build:native, prepack, loader require
  path, .gitignore / .prettierignore / .npmignore / .gitattributes, and
  kernel-e2e.yml all updated. index.d.ts / index.js regenerated from a fresh
  build (so the drift-guard still matches).
- Driver-prose comments / binding error messages → "kernel".
- Dropped the dead `'sea'` telemetry backend literal (nothing emits it).

Deliberately preserved: the genuine PROTOCOL references — "Statement Execution
API (SEA)", "SEA REST protocol", "SEA wire", SEA `CreateSession` wire fields —
and the native-packaging regression-guard for the historical garbled
`@databricks/sea-native-*` npm prefix (renaming it would make the guard vacuous).

Built on current main (includes directResults #426). Supersedes #415 (which was
stacked on the now-closed old SEA stack).

Verification: tsc clean; `npm run lint` (eslint lib/** tests/e2e/**) clean;
`prettier --check` clean; renamed kernel unit suite 261 passing;
`git grep useSEA` → 0. `useKernel: true` validated end-to-end against a live
warehouse (SELECT, directResults CREATE+count, binding loads from native/kernel).

Co-authored-by: Isaac
Signed-off-by: Madhavendra Rathore <madhavendra.rathore@databricks.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant