e6data-python-connector 2.3.9rc1__tar.gz → 2.3.9rc3__tar.gz
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-2.3.9rc1/e6data_python_connector.egg-info → e6data_python_connector-2.3.9rc3}/PKG-INFO +2 -2
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/README.md +1 -1
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/e6data_grpc.py +16 -24
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3/e6data_python_connector.egg-info}/PKG-INFO +2 -2
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/setup.py +1 -1
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/LICENSE +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/MANIFEST.in +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/__init__.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/cluster_manager.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/cluster_server/__init__.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/cluster_server/cluster_pb2.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/cluster_server/cluster_pb2_grpc.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/common.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/constants.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/datainputstream.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/date_time_utils.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/dialect.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/e6x_vector/__init__.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/e6x_vector/constants.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/e6x_vector/ttypes.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/exceptions.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/server/QueryEngineService.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/server/__init__.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/server/constants.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/server/e6x_engine_pb2.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/server/e6x_engine_pb2.pyi +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/server/e6x_engine_pb2_grpc.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/server/ttypes.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/strategy.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector/typeId.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector.egg-info/SOURCES.txt +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector.egg-info/dependency_links.txt +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector.egg-info/entry_points.txt +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector.egg-info/requires.txt +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/e6data_python_connector.egg-info/top_level.txt +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/pyproject.toml +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/setup.cfg +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/__init__.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/analyze_38_nines.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/analyze_all_cases.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/analyze_binary.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/analyze_correct_value.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/analyze_fields.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/check_decimal_errors.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/cleanup_test_files.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/debug_38_nines.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/debug_binary.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/final_test.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/move_tests.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/quick_test.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_38_nines.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_all_decimal128_cases.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_cluster_manager_efficiency.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_cluster_manager_none_strategy.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_cluster_manager_strategy.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_comprehensive.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_current_implementation.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_decimal128_binary_parsing.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_decimal128_parsing.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_fix.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_improved_parsing.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_known_case.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_manual_analysis.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_mock_server.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_multiprocessing_fix.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_new_implementation.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_specific_binary.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_strategy.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_strategy_logic.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_strategy_persistence_fix.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_strategy_sharing_fix.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_user_binary_value.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/tests.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/tests_grpc.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/validate_decimal128.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/validate_implementation.py +0 -0
- {e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/verify_decimal_fix.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: e6data-python-connector
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.9rc3
|
|
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
|
|
|
@@ -7,7 +7,6 @@ from __future__ import absolute_import
|
|
|
7
7
|
from __future__ import unicode_literals
|
|
8
8
|
|
|
9
9
|
import datetime
|
|
10
|
-
import hashlib
|
|
11
10
|
import re
|
|
12
11
|
import sys
|
|
13
12
|
import time
|
|
@@ -381,11 +380,6 @@ class Connection(object):
|
|
|
381
380
|
"""
|
|
382
381
|
self.grpc_auto_resume_timeout_seconds = self._grpc_options.pop('grpc_auto_resume_timeout_seconds')
|
|
383
382
|
self._create_client()
|
|
384
|
-
"""
|
|
385
|
-
generate a unique bas64 hash for the connection based on the host, port, username, and secure channel.
|
|
386
|
-
"""
|
|
387
|
-
|
|
388
|
-
self._hash = str(datetime.datetime.now()) + '_hash'
|
|
389
383
|
|
|
390
384
|
@property
|
|
391
385
|
def _get_grpc_options(self):
|
|
@@ -584,7 +578,6 @@ class Connection(object):
|
|
|
584
578
|
except _InactiveRpcError as e:
|
|
585
579
|
if self._auto_resume:
|
|
586
580
|
if e.code() == grpc.StatusCode.UNAVAILABLE and 'status: 503' in e.details():
|
|
587
|
-
print(self._hash, 'Auto Resuming cluster {}...'.format(self.cluster_name))
|
|
588
581
|
status = ClusterManager(
|
|
589
582
|
host=self._host,
|
|
590
583
|
port=self._port,
|
|
@@ -594,24 +587,23 @@ class Connection(object):
|
|
|
594
587
|
cluster_uuid=self.cluster_name,
|
|
595
588
|
timeout=self.grpc_auto_resume_timeout_seconds
|
|
596
589
|
).resume()
|
|
597
|
-
print(self._hash, f'Cluster {self.cluster_name} resumed: {status}')
|
|
598
590
|
if status:
|
|
599
|
-
return self.get_session_id
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
#
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
591
|
+
# return self.get_session_id
|
|
592
|
+
authenticate_request = e6x_engine_pb2.AuthenticateRequest(
|
|
593
|
+
user=self.__username,
|
|
594
|
+
password=self.__password
|
|
595
|
+
)
|
|
596
|
+
authenticate_response = self._client.authenticate(
|
|
597
|
+
authenticate_request,
|
|
598
|
+
metadata=_get_grpc_header(cluster=self.cluster_uuid, strategy=_get_active_strategy())
|
|
599
|
+
)
|
|
600
|
+
self._session_id = authenticate_response.sessionId
|
|
601
|
+
# Check for new strategy in authenticate response
|
|
602
|
+
if hasattr(authenticate_response, 'new_strategy') and authenticate_response.new_strategy:
|
|
603
|
+
new_strategy = authenticate_response.new_strategy.lower()
|
|
604
|
+
if new_strategy != _get_active_strategy():
|
|
605
|
+
_set_pending_strategy(new_strategy)
|
|
606
|
+
# Don't apply immediately - let new queries use fresh connections
|
|
615
607
|
else:
|
|
616
608
|
raise e
|
|
617
609
|
else:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: e6data-python-connector
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.9rc3
|
|
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
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/analyze_38_nines.py
RENAMED
|
File without changes
|
{e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/analyze_all_cases.py
RENAMED
|
File without changes
|
{e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/analyze_binary.py
RENAMED
|
File without changes
|
{e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/analyze_correct_value.py
RENAMED
|
File without changes
|
{e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/analyze_fields.py
RENAMED
|
File without changes
|
{e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/check_decimal_errors.py
RENAMED
|
File without changes
|
{e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/cleanup_test_files.py
RENAMED
|
File without changes
|
{e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/debug_38_nines.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_comprehensive.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_improved_parsing.py
RENAMED
|
File without changes
|
{e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_known_case.py
RENAMED
|
File without changes
|
{e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_manual_analysis.py
RENAMED
|
File without changes
|
{e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_mock_server.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_specific_binary.py
RENAMED
|
File without changes
|
|
File without changes
|
{e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_strategy_logic.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/test_user_binary_value.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/validate_decimal128.py
RENAMED
|
File without changes
|
|
File without changes
|
{e6data_python_connector-2.3.9rc1 → e6data_python_connector-2.3.9rc3}/test/verify_decimal_fix.py
RENAMED
|
File without changes
|