Skip to content

Commit 1061dd1

Browse files
committed
Improve telemetry sent on starup
- Sanitize the input to the query by using bindparams. - Report the versions of both sqlalchemy-cockroachdb and sqlalchemy.
1 parent 3ba0865 commit 1061dd1

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

sqlalchemy_cockroachdb/base.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -148,12 +148,17 @@ def initialize(self, connection):
148148
# The crdb_internal.increment_feature_counter only exists in v21.1 of CRDB
149149
# and onwards.
150150
if self._is_v211plus and not self.disable_cockroachdb_telemetry:
151-
version = pkg_resources.require("sqlalchemy-cockroachdb")[0].version
152-
telemetry_query = (
153-
"SELECT crdb_internal.increment_feature_counter"
154-
+ f"('SQLAlchemy {version}')"
151+
dialect_version = pkg_resources.require("sqlalchemy-cockroachdb")[0].version
152+
sqlalchemy_version = pkg_resources.require("sqlalchemy")[0].version
153+
telemetry_query = "SELECT crdb_internal.increment_feature_counter(:val)"
154+
connection.execute(
155+
text(telemetry_query),
156+
dict(val=f'sqlalchemy-cockroachdb {dialect_version}')
157+
)
158+
connection.execute(
159+
text(telemetry_query),
160+
dict(val=f'sqlalchemy {sqlalchemy_version}')
155161
)
156-
connection.execute(text(telemetry_query))
157162

158163
def _get_server_version_info(self, conn):
159164
# PGDialect expects a postgres server version number here,

0 commit comments

Comments
 (0)