You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Code-review #413 (gopalldb). Two P1s:
- TIMESTAMP_LTZ was sent verbatim on the wire, but Spark has no distinct
TIMESTAMP_LTZ type (TIMESTAMP already carries LTZ semantics) — so a Thrift
caller got an opaque server bind error, and the enum comment falsely claimed
NTZ/LTZ "degrade to a plain TIMESTAMP bind" (there was no such logic).
`toSparkParameter` now maps TIMESTAMP_LTZ → `TIMESTAMP` (valid on both Thrift
and kernel); TIMESTAMP_NTZ stays native (a real Spark type). Comment corrected.
Added DBSQLParameter tests for both wire types (the Thrift behaviour the
review flagged as untested) and updated the kernel positional-params test.
- queryTimeout (`number | bigint | Int64`) was coerced with `Number(...)`, which
yields NaN for an Int64 (node-int64 has no valueOf) → the client-side deadline
was silently disabled for Int64 inputs. Now uses
`numberToInt64(...).toNumber()`, matching the Thrift backend. Added a
regression test that an `Int64(1)` queryTimeout actually fires the deadline
(OperationStateError(Timeout)) rather than polling forever.
(P1 "queryTimeout silently dropped on submit" and the unbounded-poll note were
already resolved earlier by the client-side deadline fix; doc comment updated to
match. P2 polarity/Date-NTZ items noted for the public-surface follow-up.)
Validated live: NTZ binds natively and LTZ binds as TIMESTAMP on the kernel path.
Co-authored-by: Isaac
Signed-off-by: Madhavendra Rathore <madhavendra.rathore@databricks.com>
0 commit comments