summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniele Varrazzo <daniele.varrazzo@gmail.com>2020-07-21 21:48:11 +0100
committerDaniele Varrazzo <daniele.varrazzo@gmail.com>2020-07-21 22:22:58 +0100
commit9380f2a721ced5e2a73a0a4add602bf1708672d6 (patch)
treeb277bac0dd0db7426d2ab2d43761857f0d12fa4b
parent7e1e801899fc0c0e79abd0e87dee33e5ffd2b2df (diff)
downloadpsycopg2-9380f2a721ced5e2a73a0a4add602bf1708672d6.tar.gz
Get CockroachDB version from the connection info
-rw-r--r--tests/testutils.py25
1 files changed, 11 insertions, 14 deletions
diff --git a/tests/testutils.py b/tests/testutils.py
index 9b607f7..f1f7dde 100644
--- a/tests/testutils.py
+++ b/tests/testutils.py
@@ -424,20 +424,17 @@ def crdb_version(conn, __crdb_version=[]):
if __crdb_version:
return __crdb_version[0]
- with conn.cursor() as cur:
- try:
- cur.execute("show crdb_version")
- except psycopg2.ProgrammingError:
- __crdb_version.append(None)
- else:
- sver = cur.fetchone()[0]
- m = re.search(r"\bv(\d+)\.(\d+)\.(\d+)", sver)
- if not m:
- raise ValueError(
- "can't parse CockroachDB version from %s" % sver)
-
- ver = int(m.group(1)) * 10000 + int(m.group(2)) * 100 + int(m.group(3))
- __crdb_version.append(ver)
+ sver = conn.info.parameter_status("crdb_version")
+ if sver is None:
+ __crdb_version.append(None)
+ else:
+ m = re.search(r"\bv(\d+)\.(\d+)\.(\d+)", sver)
+ if not m:
+ raise ValueError(
+ "can't parse CockroachDB version from %s" % sver)
+
+ ver = int(m.group(1)) * 10000 + int(m.group(2)) * 100 + int(m.group(3))
+ __crdb_version.append(ver)
return __crdb_version[0]