e6data-python-connector 2.3.6__py3-none-any.whl → 2.3.7rc2__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.
- e6data_python_connector/dialect.py +3 -3
- e6data_python_connector/e6data_grpc.py +14 -17
- e6data_python_connector/strategy.py +1 -1
- {e6data_python_connector-2.3.6.dist-info → e6data_python_connector-2.3.7rc2.dist-info}/METADATA +2 -2
- {e6data_python_connector-2.3.6.dist-info → e6data_python_connector-2.3.7rc2.dist-info}/RECORD +9 -9
- {e6data_python_connector-2.3.6.dist-info → e6data_python_connector-2.3.7rc2.dist-info}/LICENSE +0 -0
- {e6data_python_connector-2.3.6.dist-info → e6data_python_connector-2.3.7rc2.dist-info}/WHEEL +0 -0
- {e6data_python_connector-2.3.6.dist-info → e6data_python_connector-2.3.7rc2.dist-info}/entry_points.txt +0 -0
- {e6data_python_connector-2.3.6.dist-info → e6data_python_connector-2.3.7rc2.dist-info}/top_level.txt +0 -0
|
@@ -210,7 +210,7 @@ class E6dataDialect(default.DefaultDialect):
|
|
|
210
210
|
driver = 'e6data'
|
|
211
211
|
scheme = 'e6data'
|
|
212
212
|
catalog_name = None
|
|
213
|
-
|
|
213
|
+
cluster_name = None
|
|
214
214
|
secure = False
|
|
215
215
|
auto_resume = False
|
|
216
216
|
|
|
@@ -226,7 +226,7 @@ class E6dataDialect(default.DefaultDialect):
|
|
|
226
226
|
if url.query.get("schema"):
|
|
227
227
|
database = url.query.get("schema")
|
|
228
228
|
self.catalog_name = url.query.get("catalog")
|
|
229
|
-
self.
|
|
229
|
+
self.cluster_name = url.query.get("cluster-name")
|
|
230
230
|
self.secure = url.query.get("secure") == "true"
|
|
231
231
|
self.auto_resume = url.query.get("auto-resume", "true") == "true" # default to True
|
|
232
232
|
if not self.catalog_name:
|
|
@@ -247,7 +247,7 @@ class E6dataDialect(default.DefaultDialect):
|
|
|
247
247
|
"password": url.password or None,
|
|
248
248
|
"database": database,
|
|
249
249
|
"catalog": self.catalog_name,
|
|
250
|
-
"
|
|
250
|
+
"cluster_name": self.cluster_name,
|
|
251
251
|
'secure': self.secure,
|
|
252
252
|
'auto_resume': self.auto_resume,
|
|
253
253
|
'grpc_options': grpc_options
|
|
@@ -312,10 +312,9 @@ class Connection(object):
|
|
|
312
312
|
port: int,
|
|
313
313
|
username: str,
|
|
314
314
|
password: str,
|
|
315
|
-
scheme: str = 'e6data',
|
|
316
315
|
catalog: str = None,
|
|
317
316
|
database: str = None,
|
|
318
|
-
|
|
317
|
+
cluster_name: str = None,
|
|
319
318
|
secure: bool = False,
|
|
320
319
|
auto_resume: bool = True,
|
|
321
320
|
grpc_options: dict = None,
|
|
@@ -331,14 +330,12 @@ class Connection(object):
|
|
|
331
330
|
Your e6data Email ID
|
|
332
331
|
password: str
|
|
333
332
|
Access Token generated in the e6data console
|
|
334
|
-
scheme: str
|
|
335
|
-
e6data
|
|
336
333
|
catalog: str
|
|
337
334
|
Catalog name
|
|
338
335
|
database: str
|
|
339
336
|
Database to perform the query on
|
|
340
|
-
|
|
341
|
-
Cluster's
|
|
337
|
+
cluster_name: str
|
|
338
|
+
Cluster's name
|
|
342
339
|
secure: bool, Optional
|
|
343
340
|
Flag to use a secure channel for data transfer
|
|
344
341
|
auto_resume: bool, Optional
|
|
@@ -358,7 +355,7 @@ class Connection(object):
|
|
|
358
355
|
self.__username = username
|
|
359
356
|
self.__password = password
|
|
360
357
|
self.database = database
|
|
361
|
-
self.
|
|
358
|
+
self.cluster_name = cluster_name
|
|
362
359
|
self._session_id = None
|
|
363
360
|
self._host = host
|
|
364
361
|
self._port = port
|
|
@@ -508,7 +505,7 @@ class Connection(object):
|
|
|
508
505
|
try:
|
|
509
506
|
authenticate_response = self._client.authenticate(
|
|
510
507
|
authenticate_request,
|
|
511
|
-
metadata=_get_grpc_header(cluster=self.
|
|
508
|
+
metadata=_get_grpc_header(cluster=self.cluster_name, strategy=active_strategy)
|
|
512
509
|
)
|
|
513
510
|
self._session_id = authenticate_response.sessionId
|
|
514
511
|
if not self._session_id:
|
|
@@ -545,7 +542,7 @@ class Connection(object):
|
|
|
545
542
|
try:
|
|
546
543
|
authenticate_response = self._client.authenticate(
|
|
547
544
|
authenticate_request,
|
|
548
|
-
metadata=_get_grpc_header(cluster=self.
|
|
545
|
+
metadata=_get_grpc_header(cluster=self.cluster_name, strategy=strategy)
|
|
549
546
|
)
|
|
550
547
|
self._session_id = authenticate_response.sessionId
|
|
551
548
|
if self._session_id:
|
|
@@ -584,7 +581,7 @@ class Connection(object):
|
|
|
584
581
|
user=self.__username,
|
|
585
582
|
password=self.__password,
|
|
586
583
|
secure_channel=self._secure_channel,
|
|
587
|
-
cluster_uuid=self.
|
|
584
|
+
cluster_uuid=self.cluster_name,
|
|
588
585
|
timeout=self.grpc_auto_resume_timeout_seconds
|
|
589
586
|
).resume()
|
|
590
587
|
if status:
|
|
@@ -711,7 +708,7 @@ class Connection(object):
|
|
|
711
708
|
)
|
|
712
709
|
clear_response = self._client.clear(
|
|
713
710
|
clear_request,
|
|
714
|
-
metadata=_get_grpc_header(engine_ip=engine_ip, cluster=self.
|
|
711
|
+
metadata=_get_grpc_header(engine_ip=engine_ip, cluster=self.cluster_name, strategy=_get_active_strategy())
|
|
715
712
|
)
|
|
716
713
|
|
|
717
714
|
# Check for new strategy in clear response
|
|
@@ -742,7 +739,7 @@ class Connection(object):
|
|
|
742
739
|
)
|
|
743
740
|
cancel_response = self._client.cancelQuery(
|
|
744
741
|
cancel_query_request,
|
|
745
|
-
metadata=_get_grpc_header(engine_ip=engine_ip, cluster=self.
|
|
742
|
+
metadata=_get_grpc_header(engine_ip=engine_ip, cluster=self.cluster_name, strategy=_get_active_strategy())
|
|
746
743
|
)
|
|
747
744
|
|
|
748
745
|
# Check for new strategy in cancel response
|
|
@@ -766,7 +763,7 @@ class Connection(object):
|
|
|
766
763
|
)
|
|
767
764
|
dry_run_response = self._client.dryRun(
|
|
768
765
|
dry_run_request,
|
|
769
|
-
metadata=_get_grpc_header(cluster=self.
|
|
766
|
+
metadata=_get_grpc_header(cluster=self.cluster_name, strategy=_get_active_strategy())
|
|
770
767
|
)
|
|
771
768
|
return dry_run_response.dryrunValue
|
|
772
769
|
|
|
@@ -788,7 +785,7 @@ class Connection(object):
|
|
|
788
785
|
)
|
|
789
786
|
get_table_response = self._client.getTablesV2(
|
|
790
787
|
get_table_request,
|
|
791
|
-
metadata=_get_grpc_header(cluster=self.
|
|
788
|
+
metadata=_get_grpc_header(cluster=self.cluster_name, strategy=_get_active_strategy())
|
|
792
789
|
)
|
|
793
790
|
|
|
794
791
|
# Check for new strategy in get tables response
|
|
@@ -816,7 +813,7 @@ class Connection(object):
|
|
|
816
813
|
)
|
|
817
814
|
get_columns_response = self._client.getColumnsV2(
|
|
818
815
|
get_columns_request,
|
|
819
|
-
metadata=_get_grpc_header(cluster=self.
|
|
816
|
+
metadata=_get_grpc_header(cluster=self.cluster_name, strategy=_get_active_strategy())
|
|
820
817
|
)
|
|
821
818
|
|
|
822
819
|
# Check for new strategy in get columns response
|
|
@@ -840,7 +837,7 @@ class Connection(object):
|
|
|
840
837
|
)
|
|
841
838
|
get_schema_response = self._client.getSchemaNamesV2(
|
|
842
839
|
get_schema_request,
|
|
843
|
-
metadata=_get_grpc_header(cluster=self.
|
|
840
|
+
metadata=_get_grpc_header(cluster=self.cluster_name, strategy=_get_active_strategy())
|
|
844
841
|
)
|
|
845
842
|
|
|
846
843
|
# Check for new strategy in get schema names response
|
|
@@ -937,7 +934,7 @@ class Cursor(DBAPICursor):
|
|
|
937
934
|
"""
|
|
938
935
|
# Use query-specific strategy if available, otherwise use active strategy
|
|
939
936
|
strategy = _get_query_strategy(self._query_id) if self._query_id else _get_active_strategy()
|
|
940
|
-
return _get_grpc_header(engine_ip=self._engine_ip, cluster=self.connection.
|
|
937
|
+
return _get_grpc_header(engine_ip=self._engine_ip, cluster=self.connection.cluster_name, strategy=strategy)
|
|
941
938
|
|
|
942
939
|
@property
|
|
943
940
|
def arraysize(self):
|
|
@@ -190,7 +190,7 @@ def _get_grpc_header(engine_ip=None, cluster=None, strategy=None):
|
|
|
190
190
|
if engine_ip:
|
|
191
191
|
metadata.append(('plannerip', engine_ip))
|
|
192
192
|
if cluster:
|
|
193
|
-
metadata.append(('cluster-
|
|
193
|
+
metadata.append(('cluster-name', cluster))
|
|
194
194
|
if strategy:
|
|
195
195
|
# Normalize strategy to lowercase
|
|
196
196
|
normalized_strategy = strategy.lower() if isinstance(strategy, str) else strategy
|
{e6data_python_connector-2.3.6.dist-info → e6data_python_connector-2.3.7rc2.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: e6data-python-connector
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.7rc2
|
|
4
4
|
Summary: Client for the e6data distributed SQL Engine.
|
|
5
5
|
Home-page: https://github.com/e6x-labs/e6data-python-connector
|
|
6
6
|
Author: e6data, Inc.
|
|
@@ -38,7 +38,7 @@ Dynamic: summary
|
|
|
38
38
|
|
|
39
39
|
# e6data Python Connector
|
|
40
40
|
|
|
41
|
-

|
|
42
42
|
|
|
43
43
|
## Introduction
|
|
44
44
|
|
{e6data_python_connector-2.3.6.dist-info → e6data_python_connector-2.3.7rc2.dist-info}/RECORD
RENAMED
|
@@ -4,10 +4,10 @@ e6data_python_connector/common.py,sha256=nk0CDQ5j1iu8DctBOXX4QypPYmxSgIgoA-Cn1UZ
|
|
|
4
4
|
e6data_python_connector/constants.py,sha256=h5w0lWiFsxz__zUZRlo1f72-8mT_vt9gcWvtWh0viFI,682
|
|
5
5
|
e6data_python_connector/datainputstream.py,sha256=nHQmb0kAdNJWSubhJ6M156EZjBjImpiQOGKlxXC0DnA,25841
|
|
6
6
|
e6data_python_connector/date_time_utils.py,sha256=zmIwRhEGJwDvCOUjAl6VTDWGppluA-DPl_ioHTNpJKI,14413
|
|
7
|
-
e6data_python_connector/dialect.py,sha256=
|
|
8
|
-
e6data_python_connector/e6data_grpc.py,sha256=
|
|
7
|
+
e6data_python_connector/dialect.py,sha256=4GHNzbbOULhXqi9WPJ7oz-d8aLVze41Zp4uSQ43QAv8,11626
|
|
8
|
+
e6data_python_connector/e6data_grpc.py,sha256=bKmtPaJfCZv395njTjJSOem8kVHCfTkL-nsNtcPqMWc,57701
|
|
9
9
|
e6data_python_connector/exceptions.py,sha256=vrUqdzMq3LjbCmvr5_TcRq9eKmdqGfe-uVjR0BJQf5U,382
|
|
10
|
-
e6data_python_connector/strategy.py,sha256=
|
|
10
|
+
e6data_python_connector/strategy.py,sha256=bv01noiP6TN80LBWeuRw1HoMaCacFP1rDWOxktIo11w,7334
|
|
11
11
|
e6data_python_connector/typeId.py,sha256=2EMNWK2SO5CBReNuJphma6xp-69r9GDwwys66t-kSk0,1777
|
|
12
12
|
e6data_python_connector/cluster_server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
13
|
e6data_python_connector/cluster_server/cluster_pb2.py,sha256=BWxO5vG1SVkx2y-i6A6wvP5sfb8KNKosyl2N5lIsVd8,2339
|
|
@@ -62,9 +62,9 @@ test/tests_grpc.py,sha256=VRqJwW2BVRpL3c0BnwCKvtowogAS_0JYa1Ss4ynqTss,5916
|
|
|
62
62
|
test/validate_decimal128.py,sha256=8m7FFD3nOHFkPKpN1kCd5MDDzfeEEJnMnOoSeXmX_I0,3320
|
|
63
63
|
test/validate_implementation.py,sha256=2keEodBGxztdG1kgavTq-p-cLw1L9UNQLkXTfIijBNQ,5569
|
|
64
64
|
test/verify_decimal_fix.py,sha256=n7XUV4dbo7kTdx-mVqhha9Nr6_bkDudwplHTdV-rM_Y,1051
|
|
65
|
-
e6data_python_connector-2.3.
|
|
66
|
-
e6data_python_connector-2.3.
|
|
67
|
-
e6data_python_connector-2.3.
|
|
68
|
-
e6data_python_connector-2.3.
|
|
69
|
-
e6data_python_connector-2.3.
|
|
70
|
-
e6data_python_connector-2.3.
|
|
65
|
+
e6data_python_connector-2.3.7rc2.dist-info/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
|
|
66
|
+
e6data_python_connector-2.3.7rc2.dist-info/METADATA,sha256=G5Ict2zfOSkxDqnJfZaIWR4FzW0DhULXhQMFr4TM5hA,12777
|
|
67
|
+
e6data_python_connector-2.3.7rc2.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
|
|
68
|
+
e6data_python_connector-2.3.7rc2.dist-info/entry_points.txt,sha256=MDK4cAOND0preLvq2Tlpnz00wXnP_Y_UopqJsAf3U7Y,77
|
|
69
|
+
e6data_python_connector-2.3.7rc2.dist-info/top_level.txt,sha256=uOWV7xMMlZxe030EIU4bGUuKJ-W78lKxX4YHA7YFclw,29
|
|
70
|
+
e6data_python_connector-2.3.7rc2.dist-info/RECORD,,
|
{e6data_python_connector-2.3.6.dist-info → e6data_python_connector-2.3.7rc2.dist-info}/LICENSE
RENAMED
|
File without changes
|
{e6data_python_connector-2.3.6.dist-info → e6data_python_connector-2.3.7rc2.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
{e6data_python_connector-2.3.6.dist-info → e6data_python_connector-2.3.7rc2.dist-info}/top_level.txt
RENAMED
|
File without changes
|