clickzetta-dbutils 1.0.5__py3-none-any.whl → 1.0.6__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- clickzetta_dbutils/db_utils.py +30 -22
- clickzetta_dbutils/version.py +1 -1
- {clickzetta_dbutils-1.0.5.dist-info → clickzetta_dbutils-1.0.6.dist-info}/METADATA +1 -6
- clickzetta_dbutils-1.0.6.dist-info/RECORD +7 -0
- clickzetta_dbutils-1.0.5.dist-info/RECORD +0 -7
- {clickzetta_dbutils-1.0.5.dist-info → clickzetta_dbutils-1.0.6.dist-info}/WHEEL +0 -0
- {clickzetta_dbutils-1.0.5.dist-info → clickzetta_dbutils-1.0.6.dist-info}/top_level.txt +0 -0
clickzetta_dbutils/db_utils.py
CHANGED
@@ -23,6 +23,7 @@ class ConnectionConfig:
|
|
23
23
|
dsType: int
|
24
24
|
schema: str = "public"
|
25
25
|
workspaceName: str = "default"
|
26
|
+
table: Optional[str] = None
|
26
27
|
host: Optional[str] = None
|
27
28
|
magicToken: Optional[str] = None
|
28
29
|
username: Optional[str] = None
|
@@ -223,6 +224,7 @@ class DatabaseConnectionManager:
|
|
223
224
|
query=conn_info.query
|
224
225
|
)
|
225
226
|
connect_args = {'options': self._convert_options(options)}
|
227
|
+
|
226
228
|
elif ds_type == 1: # ClickZetta
|
227
229
|
if not conn_info.workspaceName or not conn_info.instanceName:
|
228
230
|
raise DatabaseConnectionError("Missing required parameters 'workspace_name', "
|
@@ -230,32 +232,38 @@ class DatabaseConnectionManager:
|
|
230
232
|
if not self._vcluster:
|
231
233
|
raise DatabaseConnectionError("Missing virtual cluster for ClickZetta data source")
|
232
234
|
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
f"?virtualcluster={self._vcluster}"
|
238
|
-
)
|
239
|
-
elif conn_info.magicToken:
|
240
|
-
base_url = (f"clickzetta://{conn_info.instanceName}.{conn_info.host}/"
|
241
|
-
f"{conn_info.workspaceName}"
|
242
|
-
f"?magic_token={conn_info.magicToken}"
|
243
|
-
f"&virtualcluster={self._vcluster}"
|
244
|
-
)
|
245
|
-
else:
|
246
|
-
raise ValueError("username and password or token must be specified")
|
235
|
+
# Generate base parameters
|
236
|
+
query_params = {
|
237
|
+
"virtualcluster": self._vcluster
|
238
|
+
}
|
247
239
|
|
248
|
-
# Add schema if provided
|
249
240
|
if schema:
|
250
|
-
|
241
|
+
query_params["schema"] = schema
|
251
242
|
|
252
|
-
|
243
|
+
query_params.update(options)
|
244
|
+
query_params.update(conn_info.query)
|
253
245
|
|
254
|
-
|
255
|
-
if options:
|
256
|
-
base_url += f"&{urllib.parse.urlencode(options)}"
|
246
|
+
full_host = f"{conn_info.instanceName}.{conn_info.host}"
|
257
247
|
|
258
|
-
|
248
|
+
if conn_info.username and conn_info.password:
|
249
|
+
url = URL.create(
|
250
|
+
drivername="clickzetta",
|
251
|
+
username=conn_info.username,
|
252
|
+
password=conn_info.password,
|
253
|
+
host=full_host,
|
254
|
+
database=conn_info.workspaceName,
|
255
|
+
query=query_params
|
256
|
+
)
|
257
|
+
elif conn_info.magicToken:
|
258
|
+
query_params["magic_token"] = conn_info.magicToken
|
259
|
+
url = URL.create(
|
260
|
+
drivername="clickzetta",
|
261
|
+
host=full_host,
|
262
|
+
database=conn_info.workspaceName,
|
263
|
+
query=query_params
|
264
|
+
)
|
265
|
+
else:
|
266
|
+
raise ValueError("username and password or token must be specified")
|
259
267
|
else:
|
260
268
|
raise ValueError(f"Unsupported data source type: {ds_type}")
|
261
269
|
|
@@ -266,7 +274,7 @@ class DatabaseConnectionManager:
|
|
266
274
|
def _convert_options(options):
|
267
275
|
if not options:
|
268
276
|
return ''
|
269
|
-
return ' '.join([f'-c
|
277
|
+
return ' '.join([f'-c{k}={v}' for k, v in options.items()])
|
270
278
|
|
271
279
|
|
272
280
|
def get_lakehouse_connection(conn):
|
clickzetta_dbutils/version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "1.0.
|
1
|
+
__version__ = "1.0.6"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: clickzetta-dbutils
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.6
|
4
4
|
Summary: clickzetta dbutils
|
5
5
|
Author-email: "lin.zhang" <lin.zhang@clickzetta.com>
|
6
6
|
Project-URL: documentation, https://www.yunqi.tech/
|
@@ -14,13 +14,8 @@ Requires-Dist: psycopg2-binary
|
|
14
14
|
Requires-Dist: mysql-connector-python
|
15
15
|
Provides-Extra: dev
|
16
16
|
Requires-Dist: pytest==8.2.1; extra == "dev"
|
17
|
-
Requires-Dist: sqlparse; extra == "dev"
|
18
|
-
Requires-Dist: grpcio; extra == "dev"
|
19
|
-
Requires-Dist: grpcio-tools; extra == "dev"
|
20
17
|
Requires-Dist: build; extra == "dev"
|
21
18
|
Requires-Dist: pytest-xdist; extra == "dev"
|
22
|
-
Requires-Dist: pytz; extra == "dev"
|
23
|
-
Requires-Dist: apache-superset==4.0.2; extra == "dev"
|
24
19
|
Provides-Extra: cliclzetta
|
25
20
|
Requires-Dist: clickzetta-connector; extra == "cliclzetta"
|
26
21
|
Requires-Dist: clickzetta-sqlalchemy; extra == "cliclzetta"
|
@@ -0,0 +1,7 @@
|
|
1
|
+
clickzetta_dbutils/__init__.py,sha256=Q_6kas0RvZ0767qlaA_xGESmXxm0dks1YQ8DqCX8LV0,290
|
2
|
+
clickzetta_dbutils/db_utils.py,sha256=1iVaiYIQosukrQBAbgjNXJJW51p7k1ihQKBIcl_MvQM,10166
|
3
|
+
clickzetta_dbutils/version.py,sha256=fCDDAyG3nMZcE_hvt1RHdxkiFN3DfNSyU_k-rLUDrpE,21
|
4
|
+
clickzetta_dbutils-1.0.6.dist-info/METADATA,sha256=mpfK67NkOGCBN_wu5NcTvMLLTsVGlLxmnNdcX3KTiFw,726
|
5
|
+
clickzetta_dbutils-1.0.6.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
6
|
+
clickzetta_dbutils-1.0.6.dist-info/top_level.txt,sha256=8o5KqMSg9pxnPNejHjMaqZV2vEDvwvsz2GdChZI0N6I,19
|
7
|
+
clickzetta_dbutils-1.0.6.dist-info/RECORD,,
|
@@ -1,7 +0,0 @@
|
|
1
|
-
clickzetta_dbutils/__init__.py,sha256=Q_6kas0RvZ0767qlaA_xGESmXxm0dks1YQ8DqCX8LV0,290
|
2
|
-
clickzetta_dbutils/db_utils.py,sha256=TQobsTlxNTzUwIFgWZvVMtydNUPk_7AG82ChWQ4BCQY,10085
|
3
|
-
clickzetta_dbutils/version.py,sha256=ZR1VA9cGs0vIK6cWK4YKLfBTnmUCAcDaaP9ARPPYxEs,21
|
4
|
-
clickzetta_dbutils-1.0.5.dist-info/METADATA,sha256=2QYdvLVx4oQCI0J727G0ACdKrwuNAlYXjPpUKuSS6mI,938
|
5
|
-
clickzetta_dbutils-1.0.5.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
6
|
-
clickzetta_dbutils-1.0.5.dist-info/top_level.txt,sha256=8o5KqMSg9pxnPNejHjMaqZV2vEDvwvsz2GdChZI0N6I,19
|
7
|
-
clickzetta_dbutils-1.0.5.dist-info/RECORD,,
|
File without changes
|
File without changes
|