151 std::unique_ptr<AuthConfig> auth_;
152 std::unique_ptr<SQLConfig> sql_;
153 std::unique_ptr<PoolingConfig> pooling_;
154 std::unique_ptr<RetryConfig> retry_;
155 bool auto_connect_ =
false;
221 std::vector<std::vector<std::
string>>
query(
222 const std::
string& sql,
223 const std::vector<
Parameter>& params = {}
255 const std::string& sql,
256 const std::vector<Parameter>& params = {}
269 std::unique_ptr<Impl> pimpl_;
Builder pattern for constructing Client with modular configuration.
Builder & with_auth(const AuthConfig &auth)
Set authentication configuration.
Builder & with_sql(const SQLConfig &sql)
Set SQL configuration.
Builder & with_pooling(const PoolingConfig &pooling)
Set connection pooling configuration (optional)
Builder & with_auto_connect(bool enable=true)
Enable auto-connect (connects immediately on build)
Builder & with_retry(const RetryConfig &retry)
Set retry configuration for automatic error recovery.
Builder & with_environment_config(const std::string &profile="DEFAULT")
Load configuration from environment (profile + env vars)
Client build()
Build the Client.
Main client class for Databricks SQL operations.
bool is_configured() const
Check if the client is configured with valid credentials.
void connect()
Explicitly establish connection to Databricks.
Client(Client &&) noexcept
std::future< void > connect_async()
Asynchronously establish connection to Databricks.
Client & operator=(const Client &)=delete
const AuthConfig & get_auth_config() const
Get the authentication configuration.
void disconnect()
Disconnect from Databricks.
const PoolingConfig & get_pooling_config() const
Get the pooling configuration.
std::future< std::vector< std::vector< std::string > > > query_async(const std::string &sql, const std::vector< Parameter > ¶ms={})
Asynchronously execute a SQL query.
Client(const Client &)=delete
const SQLConfig & get_sql_config() const
Get the SQL configuration.
std::vector< std::vector< std::string > > query(const std::string &sql, const std::vector< Parameter > ¶ms={})
Execute a SQL query against Databricks.
Core authentication configuration shared across all Databricks features.
Parameter for parameterized queries.
std::string value
Parameter value as string.
SQLSMALLINT sql_type
SQL data type (default: VARCHAR)
SQLSMALLINT c_type
C data type (default: character)
Connection pooling configuration (optional performance optimization)
Retry configuration for automatic error recovery.
SQL-specific configuration for Databricks SQL operations.