You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by ze...@apache.org on 2024/02/07 18:30:02 UTC
(arrow-adbc) branch main updated: feat(go/adbc/driver/snowflake): add '[ADBC]' to snowflake application name (#1525)
This is an automated email from the ASF dual-hosted git repository.
zeroshade pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-adbc.git
The following commit(s) were added to refs/heads/main by this push:
new 21fba985 feat(go/adbc/driver/snowflake): add '[ADBC]' to snowflake application name (#1525)
21fba985 is described below
commit 21fba985231990fa9639d217157f8f5d38df47cf
Author: Matt Topol <zo...@gmail.com>
AuthorDate: Wed Feb 7 13:29:56 2024 -0500
feat(go/adbc/driver/snowflake): add '[ADBC]' to snowflake application name (#1525)
To help Snowflake track adoption and usage of the ADBC driver, we can
explicitly add a prefix to any client application name to indicate the
ADBC driver is the source of the requests.
---------
Co-authored-by: David Li <li...@gmail.com>
---
go/adbc/driver/snowflake/snowflake_database.go | 8 ++++++++
python/adbc_driver_snowflake/adbc_driver_snowflake/__init__.py | 4 ++++
2 files changed, 12 insertions(+)
diff --git a/go/adbc/driver/snowflake/snowflake_database.go b/go/adbc/driver/snowflake/snowflake_database.go
index 7b76fa5a..76ab4684 100644
--- a/go/adbc/driver/snowflake/snowflake_database.go
+++ b/go/adbc/driver/snowflake/snowflake_database.go
@@ -176,6 +176,11 @@ func (d *databaseImpl) SetOptions(cnOptions map[string]string) error {
}
}
+ defaultAppName := "[ADBC][Go-" + infoDriverVersion + "]"
+ // set default application name to track
+ // unless user overrides it
+ d.cfg.Application = defaultAppName
+
var err error
for k, v := range cnOptions {
v := v // copy into loop scope
@@ -265,6 +270,9 @@ func (d *databaseImpl) SetOptions(cnOptions map[string]string) error {
}
d.cfg.ClientTimeout = dur
case OptionApplicationName:
+ if !strings.HasPrefix(v, "[ADBC]") {
+ v = defaultAppName + v
+ }
d.cfg.Application = v
case OptionSSLSkipVerify:
switch v {
diff --git a/python/adbc_driver_snowflake/adbc_driver_snowflake/__init__.py b/python/adbc_driver_snowflake/adbc_driver_snowflake/__init__.py
index 701de23e..19b3bbc1 100644
--- a/python/adbc_driver_snowflake/adbc_driver_snowflake/__init__.py
+++ b/python/adbc_driver_snowflake/adbc_driver_snowflake/__init__.py
@@ -131,6 +131,10 @@ def connect(
kwargs = (db_kwargs or {}).copy()
if uri is not None:
kwargs["uri"] = uri
+ appname = kwargs.get(DatabaseOptions.APPLICATION_NAME.value, "")
+ kwargs[
+ DatabaseOptions.APPLICATION_NAME.value
+ ] = f"[ADBC][Python-{__version__}]{appname}"
return adbc_driver_manager.AdbcDatabase(driver=_driver_path(), **kwargs)