diff options
author | Daniele Varrazzo <daniele.varrazzo@gmail.com> | 2020-07-21 21:48:11 +0100 |
---|---|---|
committer | Daniele Varrazzo <daniele.varrazzo@gmail.com> | 2020-07-21 22:22:58 +0100 |
commit | 9380f2a721ced5e2a73a0a4add602bf1708672d6 (patch) | |
tree | b277bac0dd0db7426d2ab2d43761857f0d12fa4b | |
parent | 7e1e801899fc0c0e79abd0e87dee33e5ffd2b2df (diff) | |
download | psycopg2-9380f2a721ced5e2a73a0a4add602bf1708672d6.tar.gz |
Get CockroachDB version from the connection info
-rw-r--r-- | tests/testutils.py | 25 |
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] |