Expand description
A clean-room Snowflake client: external-browser SSO + the v1 query endpoint, with session-token renewal and keep-alive heartbeats.
Implemented from Snowflake’s documented REST protocol — no third-party
connector. Unlike snowflake-connector-rs, it captures the master token
at login, so the session token can be renewed
(SnowflakeSession::renew) and kept alive
(SnowflakeSession::heartbeat) — letting the daemon authenticate once and
stay live indefinitely instead of dying when the ~1h session token lapses.
Verification status: the offline-decodable paths (result parsing, row→JSON,
request shaping, callback parsing) are unit-tested; the live
SSO/login/query/renew paths follow the documented protocol but need a real
account to verify. The Arrow result format and result sets that span external
chunks are not yet supported (a clear Error::Unsupported is returned).
Re-exports§
pub use config::AuthMethod;pub use config::BrowserConfig;pub use config::BrowserLaunch;pub use config::SnowflakeClientConfig;pub use error::Error;pub use error::Result;pub use row::rows_to_payload;pub use row::value_to_json;pub use row::Column;pub use row::Row;
Modules§
- config
- Configuration for the clean-room Snowflake client.
- error
- Error type for the clean-room Snowflake client.
- row
- Result rows and arbitrary-schema → JSON decoding.
Structs§
- Snowflake
Client - A clean-room Snowflake client bound to one account/user configuration.
- Snowflake
Session - A live, authenticated Snowflake session.