-
Notifications
You must be signed in to change notification settings - Fork 157
Open
Labels
Description
We are planning a v2 release of the Go Snowflake Driver. The final scope is not fully decided, but the list of potential changes includes:
- Reduce module binary size, by making Arrow batches mode optional (either via compilation tag or by moving it to a separate module), estimated drop is ~36MB to ~20MB!
- Logger changes:
- Drop Logrus dependency, make logger backend configurable (with default to slog)
- Split logger to more configurable loggers (to set log levels more independently)
- Make logger more configurable (i.e., configure time and line format)
- Remove obsolete or deprecated config options:
RaisePutGetErrorfromSnowflakeFileTransferOptions(behaviour aligned to setting it to true)ClientIPfromConfigstruct (not used internally)InsecureMode- replaced withDisableOCSPChecksTelemetryDisabled- replaced withCLIENT_TELEMETRY_ENABLEDsession parameter
- Remove deprecated functions:
WithOriginalTimestamp- replaced withWithArrowBatchesTimestampOption
- Remove
SnowflakeTransport/SnowflakeTransportTest- useTransporterfield fromConfigorRegisterTLSConfig - Move some global variables to reduced scope:
MaxChunkDownloadWorkers- to be configured per query basis- OCSP timeout/retry config - to Config/DSN
- S3LoggingMode - to Config/DSN
- Fix typo in
GOSNOWFLAKE_SKIP_REGISTERATIONenv variable WithMultistatementwill not returnerroranymore, onlycontext.Context- Drop support for
CustomJSONDecoderEnabled - Context keys will have type migrated from string to internal structs
- Remove JSON stream downloader
- Combine
WithMapValuesNullableandWithArrayValuesNullableinto one - Unify
SNOWFLAKE_andSF_prefix of environment variables - Arrow batches - conversion improvements.
Arrayfunction may return error, not only the value.
We are targeting the release of V2 in spring 2026.
sfc-gh-dszmolka, gilcrest, ggoranov-smar, sblackstone, costrouc and 4 morebombsimon