From 81219aede4fa2a12ae1cc8e19a608a94b0485e0d Mon Sep 17 00:00:00 2001 From: fardinsarker Date: Wed, 6 Mar 2024 21:45:41 +1100 Subject: [PATCH] [BugFix] making this version comparison more resilient as it fails issues/41016 (#42198) Fixed #41016 which causes problems with version 3.2 Used to spit out '>' not supported between instances of 'int' and 'str' Signed-off-by: Fardin Sarker --- contrib/dbt-connector/dbt/adapters/starrocks/impl.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/contrib/dbt-connector/dbt/adapters/starrocks/impl.py b/contrib/dbt-connector/dbt/adapters/starrocks/impl.py index 09d2cce5f75ec..ac6dfdb887ca7 100644 --- a/contrib/dbt-connector/dbt/adapters/starrocks/impl.py +++ b/contrib/dbt-connector/dbt/adapters/starrocks/impl.py @@ -144,14 +144,9 @@ def is_before_version(self, version: str) -> bool: conn = self.connections.get_if_exists() if conn: server_version = conn.handle.server_version - version_detail = version.split(".") - version_detail = (int(version_detail[0]), int(version_detail[1]), int(version_detail[2])) - if version_detail[0] > server_version[0]: - return True - elif version_detail[0] == server_version[0] and version_detail[1] > server_version[1]: - return True - elif version_detail[0] == server_version[0] and version_detail[1] == server_version[1] \ - and version_detail[2] > server_version[2]: + server_version_tuple = tuple(int(part) for part in server_version if part.isdigit()) + version_detail_tuple = tuple(int(part) for part in version.split(".") if part.isdigit()) + if version_detail_tuple > server_version_tuple: return True return False