dcs-sdk 1.5.2__py3-none-any.whl → 1.5.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data_diff/databases/sybase.py +9 -18
- dcs_sdk/__version__.py +1 -1
- {dcs_sdk-1.5.2.dist-info → dcs_sdk-1.5.4.dist-info}/METADATA +5 -4
- {dcs_sdk-1.5.2.dist-info → dcs_sdk-1.5.4.dist-info}/RECORD +6 -6
- {dcs_sdk-1.5.2.dist-info → dcs_sdk-1.5.4.dist-info}/WHEEL +0 -0
- {dcs_sdk-1.5.2.dist-info → dcs_sdk-1.5.4.dist-info}/entry_points.txt +0 -0
data_diff/databases/sybase.py
CHANGED
|
@@ -299,7 +299,8 @@ class Dialect(BaseDialect):
|
|
|
299
299
|
return timestamp_str
|
|
300
300
|
|
|
301
301
|
def normalize_number(self, value: str, coltype: FractionalType) -> str:
|
|
302
|
-
|
|
302
|
+
scale = getattr(coltype, "scale", 0) or 0
|
|
303
|
+
return self.to_string(f"CAST({value} AS DECIMAL(38, {scale}))")
|
|
303
304
|
|
|
304
305
|
# def md5_as_int(self, s: str) -> str:
|
|
305
306
|
# """Returns an MD5 hash of the input string as an integer for Sybase IQ."""
|
|
@@ -344,7 +345,7 @@ class Dialect(BaseDialect):
|
|
|
344
345
|
|
|
345
346
|
def md5_as_int(self, s: str) -> str:
|
|
346
347
|
if self.sybase_driver_type.is_ase or self.query_config_for_free_tds["ase_query_chosen"]:
|
|
347
|
-
return f"CAST(HEXTOINT(LEFT(CAST(HASH({s}, 'MD5') AS VARCHAR(32)), 8)) AS BIGINT)
|
|
348
|
+
return f"CAST(HEXTOINT(LEFT(CAST(HASH({s}, 'MD5') AS VARCHAR(32)), 8)) AS BIGINT) % 2147483647"
|
|
348
349
|
base_prime = self.get_unique_prime_for_column(s)
|
|
349
350
|
separator = " +\n "
|
|
350
351
|
parts = [f"LENGTH(COALESCE({s}, '')) * {base_prime}"]
|
|
@@ -474,7 +475,7 @@ class Sybase(ThreadedDatabase):
|
|
|
474
475
|
username = self._args.get("user", None)
|
|
475
476
|
password = self._args.get("password", None)
|
|
476
477
|
driver = self._args.get("driver", None)
|
|
477
|
-
max_query_timeout = 60 *
|
|
478
|
+
max_query_timeout = 60 * 30 # 30 minutes
|
|
478
479
|
|
|
479
480
|
if self.dialect.sybase_driver_type.is_freetds:
|
|
480
481
|
conn_dict = {
|
|
@@ -488,10 +489,10 @@ class Sybase(ThreadedDatabase):
|
|
|
488
489
|
|
|
489
490
|
conn_dict["host"] = host or server
|
|
490
491
|
try:
|
|
491
|
-
logger.debug(
|
|
492
|
+
logger.debug("Attempting FreeTDS connection..")
|
|
492
493
|
self._conn = self._sybase.connect(**conn_dict)
|
|
493
494
|
self._conn.timeout = max_query_timeout
|
|
494
|
-
logger.info(
|
|
495
|
+
logger.info("Successfully connected to Sybase using FreeTDS")
|
|
495
496
|
return self._conn
|
|
496
497
|
except Exception as e:
|
|
497
498
|
error_msg = f"Failed to connect to Sybase with FreeTDS: {str(e)}"
|
|
@@ -565,23 +566,13 @@ class Sybase(ThreadedDatabase):
|
|
|
565
566
|
final_config.update(ase_config)
|
|
566
567
|
|
|
567
568
|
try:
|
|
568
|
-
logger.debug(f"Attempting connection
|
|
569
|
+
logger.debug(f"Attempting connection..")
|
|
569
570
|
self._conn = self._sybase.connect(**final_config)
|
|
570
571
|
self._conn.timeout = max_query_timeout
|
|
571
|
-
logger.info(
|
|
572
|
-
f"Successfully connected to Sybase using: "
|
|
573
|
-
f"driver={driver}, "
|
|
574
|
-
f"{attempt['key']}={attempt['value']}, "
|
|
575
|
-
f"port_config={port_config}, "
|
|
576
|
-
f"ase_config={ase_config}"
|
|
577
|
-
)
|
|
572
|
+
logger.info(f"Successfully connected to Sybase using: driver={driver}")
|
|
578
573
|
return self._conn
|
|
579
574
|
except Exception as e:
|
|
580
|
-
error_msg =
|
|
581
|
-
f"Failed with {attempt['key']}={attempt['value']}, "
|
|
582
|
-
f"port_config={port_config}, "
|
|
583
|
-
f"ase_config={ase_config}: {str(e)}"
|
|
584
|
-
)
|
|
575
|
+
error_msg = "Failed to connect to sybase"
|
|
585
576
|
logger.debug(error_msg)
|
|
586
577
|
errors.append(error_msg)
|
|
587
578
|
continue
|
dcs_sdk/__version__.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: dcs-sdk
|
|
3
|
-
Version: 1.5.
|
|
3
|
+
Version: 1.5.4
|
|
4
4
|
Summary: SDK for DataChecks
|
|
5
5
|
Author: Waterdip Labs
|
|
6
6
|
Author-email: hello@waterdip.ai
|
|
@@ -43,24 +43,25 @@ Requires-Dist: oracledb (>=2.4.1) ; extra == "oracle" or extra == "all-dbs"
|
|
|
43
43
|
Requires-Dist: packaging (>=24.1,<25.0)
|
|
44
44
|
Requires-Dist: preql (>=0.2.19) ; extra == "preql" or extra == "all-dbs"
|
|
45
45
|
Requires-Dist: presto-python-client (>=0.8.4) ; extra == "presto" or extra == "all-dbs"
|
|
46
|
+
Requires-Dist: protobuf (>=5.29.5)
|
|
46
47
|
Requires-Dist: psycopg2-binary (>=2.9.9,<3.0.0) ; extra == "postgresql" or extra == "redshift" or extra == "all-dbs"
|
|
47
48
|
Requires-Dist: pydantic (>=1.10.12)
|
|
48
49
|
Requires-Dist: pyodbc (>=4.0.39) ; extra == "mssql" or extra == "sybase" or extra == "all-dbs"
|
|
49
50
|
Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
|
|
50
51
|
Requires-Dist: pyyaml (>=6.0.1,<7.0.0)
|
|
51
|
-
Requires-Dist: requests (>=2.32.
|
|
52
|
+
Requires-Dist: requests (>=2.32.4)
|
|
52
53
|
Requires-Dist: rich (>=13.8.0)
|
|
53
54
|
Requires-Dist: snowflake-connector-python (>=3.13.1) ; extra == "snowflake" or extra == "all-dbs"
|
|
54
55
|
Requires-Dist: tabulate (>=0.9.0)
|
|
55
56
|
Requires-Dist: toml (>=0.10.2)
|
|
56
57
|
Requires-Dist: trino (>=0.314.0) ; extra == "trino" or extra == "all-dbs"
|
|
57
58
|
Requires-Dist: typing-extensions (>=4.0.1)
|
|
58
|
-
Requires-Dist: urllib3 (
|
|
59
|
+
Requires-Dist: urllib3 (>=2.5.0)
|
|
59
60
|
Requires-Dist: vertica-python (>=1.4.0) ; extra == "vertica" or extra == "all-dbs"
|
|
60
61
|
Description-Content-Type: text/markdown
|
|
61
62
|
|
|
62
63
|
<h1 align="center">
|
|
63
|
-
DCS SDK v1.5.
|
|
64
|
+
DCS SDK v1.5.4
|
|
64
65
|
</h1>
|
|
65
66
|
|
|
66
67
|
> SDK for DataChecks
|
|
@@ -18,7 +18,7 @@ data_diff/databases/postgresql.py,sha256=QrvYDsMSECQiPfsl85UQxY9ivxTRXnEwjAfRjd-
|
|
|
18
18
|
data_diff/databases/presto.py,sha256=1Z8iDV2pc35Bu7DuUerFuFLbrwgSHSkBYmJ72JlZSZ8,7116
|
|
19
19
|
data_diff/databases/redshift.py,sha256=-gFWs3NCcevO4s6c4zV3_LYihK24fUd5BADTKahubjw,8122
|
|
20
20
|
data_diff/databases/snowflake.py,sha256=7G6fvVJXOtTvXmSfWCxTslF4WohoscQoiqcmJIN684A,7910
|
|
21
|
-
data_diff/databases/sybase.py,sha256=
|
|
21
|
+
data_diff/databases/sybase.py,sha256=QUGol1uLZ2KfvcYZIBUNfkfEJ8JxPUnvaT9QJBS70FU,31250
|
|
22
22
|
data_diff/databases/trino.py,sha256=VIN3gMJvT4oSYuXCJ1QnngVL2gjjEYMFw87QTHgjs8c,2328
|
|
23
23
|
data_diff/databases/vertica.py,sha256=2dSDZp6qOEvUVPldI5Tgn7Sm3dCpC3vNXJL3qb3FDvQ,5529
|
|
24
24
|
data_diff/diff_tables.py,sha256=Ey88gUr9Wh8UVsgRlBCY3CACIYfHL52PxJSrd821aqg,20060
|
|
@@ -43,7 +43,7 @@ data_diff/utils.py,sha256=8vbVbJvBSqtRfrzvQsz79qIAF2bHn1dnufijstDxddU,31345
|
|
|
43
43
|
data_diff/version.py,sha256=Wk0ovyBlLEF2UaWLWEcVBLFElREtIxi7TU1hD3CuTFI,634
|
|
44
44
|
dcs_sdk/__init__.py,sha256=RkfhRKLXEForLCs4rZkTf0qc_b0TokSggSAcKI4yfZg,610
|
|
45
45
|
dcs_sdk/__main__.py,sha256=Qn8stIaQGrdLjHQ-H7xO0T-brtq5RWZoWU9QvqoarV8,683
|
|
46
|
-
dcs_sdk/__version__.py,sha256=
|
|
46
|
+
dcs_sdk/__version__.py,sha256=_DZDeYH_J9poBV0fFD1k1kQKGmlR3YXp5et_7jZLRxI,633
|
|
47
47
|
dcs_sdk/cli/__init__.py,sha256=RkfhRKLXEForLCs4rZkTf0qc_b0TokSggSAcKI4yfZg,610
|
|
48
48
|
dcs_sdk/cli/cli.py,sha256=LyrRk972OL9pTqrvBeXWBu5rUDAN17lQ1g8FdSRW_8M,4299
|
|
49
49
|
dcs_sdk/sdk/__init__.py,sha256=skrZcgWWJBL6NXTUERywJ3qRJRemgpDXyW7lPg1FJk8,2107
|
|
@@ -65,7 +65,7 @@ dcs_sdk/sdk/utils/similarity_score/levenshtein_distance_provider.py,sha256=puAWP
|
|
|
65
65
|
dcs_sdk/sdk/utils/table.py,sha256=X8HxdYTWyx_oVrBWPsXlmA-xJKXXDBW9RrhlWNqA1As,18224
|
|
66
66
|
dcs_sdk/sdk/utils/themes.py,sha256=Meo2Yldv4uyPpEqI7qdA28Aa6sxtwUU1dLKKm4QavjM,1403
|
|
67
67
|
dcs_sdk/sdk/utils/utils.py,sha256=vF2zAvgt__Y8limicWTEWRyn41SBVJN81ZCTBRy6hQg,11907
|
|
68
|
-
dcs_sdk-1.5.
|
|
69
|
-
dcs_sdk-1.5.
|
|
70
|
-
dcs_sdk-1.5.
|
|
71
|
-
dcs_sdk-1.5.
|
|
68
|
+
dcs_sdk-1.5.4.dist-info/METADATA,sha256=hHx-XDpD7cE-Ji6ud3o-7HGCNKHoHJmdSDEp3maormU,6254
|
|
69
|
+
dcs_sdk-1.5.4.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
70
|
+
dcs_sdk-1.5.4.dist-info/entry_points.txt,sha256=zQtrZL7YuaKtt6WPwihCTV1BRXnqBkaY6zUGdYJbBSg,49
|
|
71
|
+
dcs_sdk-1.5.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|