Skip to content

docs: add connection parameter reference (Thrift vs SEA/Kernel)#457

Open
eric-wang-1990 wants to merge 2 commits into
mainfrom
docs/connection-parameters
Open

docs: add connection parameter reference (Thrift vs SEA/Kernel)#457
eric-wang-1990 wants to merge 2 commits into
mainfrom
docs/connection-parameters

Conversation

@eric-wang-1990

Copy link
Copy Markdown

What

Adds docs/connection-parameters.md — a single reference listing every public connection / session / per-statement parameter the Node.js connector accepts, and whether each is honored on the Thrift backend (default), the SEA / Kernel backend (useKernel: true), or both.

The goal is to make protocol support gaps explicit: a parameter honored on one backend but ignored or rejected on the other is called out in a Gap column.

Format

Modeled on the databricks-sql-kernel connection-parameters reference. Grouped by concern: connection identity · authentication · HTTP/proxy/retries · TLS/SSL · results & type rendering · session defaults · telemetry · per-statement options. Each row has a ✅ / ❌ / ⚠️ / — verdict per backend plus a Gap note.

Sources of truth

  • Public option shape ← lib/contracts/IDBSQLClient.ts
  • Internal / kernel-only flags ← lib/contracts/InternalConnectionOptions.ts
  • Thrift wiring ← lib/DBSQLClient.ts, lib/thrift-backend/ThriftBackend.ts, lib/connection/connections/HttpConnection.ts
  • Kernel wiring ← lib/kernel/KernelAuth.ts, lib/kernel/KernelBackend.ts, lib/kernel/KernelSessionBackend.ts

Notable gaps documented

Thrift-only (missing/ignored on Kernel): enableMetricViewMetadata auto-injection; auth types custom / token-provider / external-token / static-token + token federation; Azure-direct OAuth; custom OAuth persistence; custom U2M oauthClientId; SOCKS proxies; per-statement useCloudFetch / useLZ4Compression / stagingAllowedLocalPath.

Kernel-only (no Thrift public equivalent): maxConnections; all TLS controls (checkServerCertificate, checkServerCertificateHostname, customCaCert, clientCertPem, clientKeyPem).

TLS caveat surfaced: the Thrift connect() path exposes no public TLS options and hardcodes rejectUnauthorized: false (HttpConnection.ts); the internal ca/cert/key fields are never populated from a public option. TLS customization is therefore kernel-only in practice.

All kernel-path behavior reflects the M0 stub (useKernel is internal/unstable) and is noted as subject to change.

Docs-only change — no code touched.

This pull request and its description were written by Isaac.

Documents every public ConnectionOptions / OpenSessionRequest / per-statement
parameter and whether it is honored on the Thrift backend, the SEA/Kernel
backend (useKernel), or both — making protocol support gaps explicit.

Mirrors the databricks-sql-kernel connection-parameters reference format.

Co-authored-by: Isaac
Copilot AI review requested due to automatic review settings July 23, 2026 02:17

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions

Copy link
Copy Markdown

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).

Relocate docs/connection-parameters.md → CONNECTION_PARAMETERS.md at the repo
root and add a README "Configuration" section linking to it, mirroring the
existing Telemetry section's summary+link pattern.

Co-authored-by: Isaac
@github-actions

Copy link
Copy Markdown

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).

@msrathore-db msrathore-db left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

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.

3 participants