From 6909e91ca255ade94b862870005ca9c19577e07e Mon Sep 17 00:00:00 2001 From: palmtree100 <60498733+palmtree100@users.noreply.github.com> Date: Fri, 17 Feb 2023 15:58:51 -0600 Subject: [PATCH] Update database.py --- src/infi/clickhouse_orm/database.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/infi/clickhouse_orm/database.py b/src/infi/clickhouse_orm/database.py index bf47431..c5cffda 100644 --- a/src/infi/clickhouse_orm/database.py +++ b/src/infi/clickhouse_orm/database.py @@ -410,7 +410,13 @@ def _get_server_timezone(self): def _get_server_version(self, as_tuple=True): try: r = self._send('SELECT version();') - ver = r.text + # ver = r.text + # The version# of clickhouse new release via Altinity is something like this: 21.8.15.15.altinitystable, a string at the end + # this broke this piece of script if it is called from sqlalchemy or any other python library. + # below is a kind of workaroud to only take the digits and dot, believe some more solid way might needed. + ver = re.sub("[^(0-9|.)]", "", r.text) + while ver[-1] == '.': ver = ver[:-1] + while ver[1] == '.': ver = ver[1:] except ServerError as e: logger.exception('Cannot determine server version (%s), assuming 1.1.0', e) ver = '1.1.0'