import { TGetInfoValue } from '../../thrift/TCLIService_types'; /** * `getInfo` (JDBC `DatabaseMetaData` / ODBC `SQLGetInfo`) is a Thrift-protocol * concept: the Thrift backend forwards `TGetInfoReq` to the server's `getInfo` * RPC. The SEA REST protocol and the Rust kernel have **no** equivalent * endpoint, so — exactly as JDBC does for `DatabaseMetaData` — we synthesize * the values client-side. * * The Databricks Thrift server itself answers only three `TGetInfoType`s and * rejects every other value; we mirror that surface so the kernel path is a * drop-in equivalent: * * | TGetInfoType | Thrift server | kernel (here) | * |---------------------|---------------|-------------------| * | CLI_SERVER_NAME (13)| "Spark SQL" | "Spark SQL" | * | CLI_DBMS_NAME (17)| "Spark SQL" | "Spark SQL" | * | CLI_DBMS_VER (18)| "3.1.1" | "3.1.1" | * | (any other) | error | undefined → error | * * Empirically re-verified against a live warehouse over the Thrift path: the * three values above are byte-identical to the server's, and the server * returns an error for every other `TGetInfoType` (probed CLI_MAX_DRIVER_- * CONNECTIONS, CLI_DATA_SOURCE_NAME, CLI_FETCH_DIRECTION, … — all errored). So * the kernel "undefined → throw" path matches Thrift's effective behaviour rather * than narrowing it. */ /** Canonical DBMS product name — identical to the Thrift server's value. */ export declare const KERNEL_DBMS_NAME = "Spark SQL"; /** Server-name answer — identical to the Thrift server's value. */ export declare const KERNEL_SERVER_NAME = "Spark SQL"; /** * DBMS version string. Mirrors the constant the Databricks Thrift server * reports for `CLI_DBMS_VER` (the HiveServer2-compat Spark SQL version, not * the DBR release). Kept in lock-step with Thrift for parity; if the server * ever changes it the comparator's GET_INFO suite flags the drift. */ export declare const KERNEL_DBMS_VERSION = "3.1.1"; /** * Synthesize the `TGetInfoValue` for a `getInfo` request on the kernel path. * Returns `undefined` for any `TGetInfoType` the (Thrift) server does not * answer — the caller surfaces that as an error, matching Thrift's * reject-unsupported-info-type behaviour. */ export declare function kernelServerInfoValue(infoType: number): TGetInfoValue | undefined;