e6data-python-connector 2.3.9rc5__tar.gz → 2.3.9rc7__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.9rc5/e6data_python_connector.egg-info → e6data_python_connector-2.3.9rc7}/PKG-INFO +2 -2
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/README.md +1 -1
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/cluster_manager.py +2 -16
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/e6data_grpc.py +8 -26
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7/e6data_python_connector.egg-info}/PKG-INFO +2 -2
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/setup.py +1 -1
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/LICENSE +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/MANIFEST.in +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/__init__.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/cluster_server/__init__.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/cluster_server/cluster_pb2.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/cluster_server/cluster_pb2_grpc.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/common.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/constants.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/datainputstream.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/date_time_utils.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/dialect.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/e6x_vector/__init__.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/e6x_vector/constants.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/e6x_vector/ttypes.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/exceptions.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/server/QueryEngineService.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/server/__init__.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/server/constants.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/server/e6x_engine_pb2.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/server/e6x_engine_pb2.pyi +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/server/e6x_engine_pb2_grpc.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/server/ttypes.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/strategy.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector/typeId.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector.egg-info/SOURCES.txt +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector.egg-info/dependency_links.txt +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector.egg-info/entry_points.txt +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector.egg-info/requires.txt +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/e6data_python_connector.egg-info/top_level.txt +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/pyproject.toml +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/setup.cfg +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/__init__.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/analyze_38_nines.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/analyze_all_cases.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/analyze_binary.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/analyze_correct_value.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/analyze_fields.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/check_decimal_errors.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/cleanup_test_files.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/debug_38_nines.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/debug_binary.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/final_test.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/move_tests.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/quick_test.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_38_nines.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_all_decimal128_cases.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_cluster_manager_efficiency.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_cluster_manager_none_strategy.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_cluster_manager_strategy.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_comprehensive.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_current_implementation.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_decimal128_binary_parsing.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_decimal128_parsing.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_fix.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_improved_parsing.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_known_case.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_manual_analysis.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_mock_server.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_multiprocessing_fix.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_new_implementation.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_specific_binary.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_strategy.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_strategy_logic.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_strategy_persistence_fix.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_strategy_sharing_fix.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_user_binary_value.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/tests.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/tests_grpc.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/validate_decimal128.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/validate_implementation.py +0 -0
- {e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/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.9rc7
|
|
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
|
|
|
@@ -213,30 +213,25 @@ class ClusterManager:
|
|
|
213
213
|
user=self._user,
|
|
214
214
|
password=self._password
|
|
215
215
|
)
|
|
216
|
-
print('STATUS', payload)
|
|
217
216
|
elif request_type == "resume":
|
|
218
217
|
payload = cluster_pb2.ResumeRequest(
|
|
219
218
|
user=self._user,
|
|
220
219
|
password=self._password
|
|
221
220
|
)
|
|
222
|
-
print('RESUME', payload)
|
|
223
221
|
|
|
224
222
|
# If we have an active strategy, use it first
|
|
225
223
|
if current_strategy is not None:
|
|
226
224
|
try:
|
|
227
225
|
if request_type == "status":
|
|
228
|
-
|
|
229
226
|
response = self._get_connection.status(
|
|
230
227
|
payload,
|
|
231
228
|
metadata=_get_grpc_header(cluster=self.cluster_uuid, strategy=current_strategy)
|
|
232
229
|
)
|
|
233
|
-
print('STATUS 2', response, payload)
|
|
234
230
|
elif request_type == "resume":
|
|
235
231
|
response = self._get_connection.resume(
|
|
236
232
|
payload,
|
|
237
233
|
metadata=_get_grpc_header(cluster=self.cluster_uuid, strategy=current_strategy)
|
|
238
234
|
)
|
|
239
|
-
print('RESUME 2', response, payload)
|
|
240
235
|
else:
|
|
241
236
|
raise ValueError(f"Unknown request type: {request_type}")
|
|
242
237
|
|
|
@@ -259,13 +254,11 @@ class ClusterManager:
|
|
|
259
254
|
payload,
|
|
260
255
|
metadata=_get_grpc_header(cluster=self.cluster_uuid, strategy=alternative_strategy)
|
|
261
256
|
)
|
|
262
|
-
print('STATUS 3', response, payload)
|
|
263
257
|
elif request_type == "resume":
|
|
264
258
|
response = self._get_connection.resume(
|
|
265
259
|
payload,
|
|
266
260
|
metadata=_get_grpc_header(cluster=self.cluster_uuid, strategy=alternative_strategy)
|
|
267
261
|
)
|
|
268
|
-
print('RESUME 3', response, payload)
|
|
269
262
|
|
|
270
263
|
# Update active strategy since the alternative worked
|
|
271
264
|
_set_active_strategy(alternative_strategy)
|
|
@@ -295,13 +288,11 @@ class ClusterManager:
|
|
|
295
288
|
payload,
|
|
296
289
|
metadata=_get_grpc_header(cluster=self.cluster_uuid, strategy=strategy)
|
|
297
290
|
)
|
|
298
|
-
print('STATUS 4', response, payload)
|
|
299
291
|
elif request_type == "resume":
|
|
300
292
|
response = self._get_connection.resume(
|
|
301
293
|
payload,
|
|
302
294
|
metadata=_get_grpc_header(cluster=self.cluster_uuid, strategy=strategy)
|
|
303
295
|
)
|
|
304
|
-
print('RESUME 4', response, payload)
|
|
305
296
|
else:
|
|
306
297
|
raise ValueError(f"Unknown request type: {request_type}")
|
|
307
298
|
|
|
@@ -374,15 +365,13 @@ class ClusterManager:
|
|
|
374
365
|
# Retrieve the current cluster status with strategy header
|
|
375
366
|
try:
|
|
376
367
|
current_status = self._try_cluster_request("status")
|
|
377
|
-
except _InactiveRpcError
|
|
378
|
-
print('ERROR', e, 'Returning false1')
|
|
368
|
+
except _InactiveRpcError:
|
|
379
369
|
return False
|
|
380
370
|
if current_status.status == 'suspended':
|
|
381
371
|
# Send the resume request with strategy header
|
|
382
372
|
try:
|
|
383
373
|
response = self._try_cluster_request("resume")
|
|
384
|
-
except _InactiveRpcError
|
|
385
|
-
print('ERROR', e, 'Returning false2')
|
|
374
|
+
except _InactiveRpcError:
|
|
386
375
|
return False
|
|
387
376
|
elif current_status.status == 'active':
|
|
388
377
|
return True
|
|
@@ -391,18 +380,15 @@ class ClusterManager:
|
|
|
391
380
|
If cluster cannot be resumed due to its current state,
|
|
392
381
|
or already in a process of resuming, terminate the operation.
|
|
393
382
|
"""
|
|
394
|
-
print('ERROR', '!resuming', 'Returning false3')
|
|
395
383
|
return False
|
|
396
384
|
|
|
397
385
|
for status in self._check_cluster_status():
|
|
398
386
|
if status == 'active':
|
|
399
387
|
return True
|
|
400
388
|
elif status == 'failed' or time.time() > self._timeout:
|
|
401
|
-
print('ERROR', 'timed-out', 'Returning false3')
|
|
402
389
|
return False
|
|
403
390
|
# Wait for 5 seconds before the next status check
|
|
404
391
|
time.sleep(5)
|
|
405
|
-
print('ERROR', 'Nothing worked', 'Returning false3')
|
|
406
392
|
return False
|
|
407
393
|
|
|
408
394
|
def suspend(self):
|
|
@@ -215,7 +215,6 @@ def _apply_pending_strategy():
|
|
|
215
215
|
with _strategy_lock:
|
|
216
216
|
shared_strategy = _get_shared_strategy()
|
|
217
217
|
if shared_strategy['pending_strategy']:
|
|
218
|
-
old_strategy = shared_strategy['active_strategy']
|
|
219
218
|
new_strategy = shared_strategy['pending_strategy']
|
|
220
219
|
current_time = time.time()
|
|
221
220
|
|
|
@@ -380,7 +379,6 @@ class Connection(object):
|
|
|
380
379
|
"""
|
|
381
380
|
self.grpc_auto_resume_timeout_seconds = self._grpc_options.pop('grpc_auto_resume_timeout_seconds')
|
|
382
381
|
self._create_client()
|
|
383
|
-
self._hash = str(datetime.datetime.now().timestamp()) + 'hash' + str(id(self))
|
|
384
382
|
|
|
385
383
|
@property
|
|
386
384
|
def _get_grpc_options(self):
|
|
@@ -519,9 +517,10 @@ class Connection(object):
|
|
|
519
517
|
new_strategy = authenticate_response.new_strategy.lower()
|
|
520
518
|
if new_strategy != active_strategy:
|
|
521
519
|
_set_pending_strategy(new_strategy)
|
|
522
|
-
|
|
520
|
+
_apply_pending_strategy()
|
|
521
|
+
self._session_id = None
|
|
522
|
+
return self.get_session_id
|
|
523
523
|
except _InactiveRpcError as e:
|
|
524
|
-
print(self._hash, self.cluster_name, 'Error during authentication with active strategy:', active_strategy, file=sys.stderr)
|
|
525
524
|
if e.code() == grpc.StatusCode.UNKNOWN and 'status: 456' in e.details():
|
|
526
525
|
# Strategy changed, clear cache and retry
|
|
527
526
|
_clear_strategy_cache()
|
|
@@ -555,15 +554,15 @@ class Connection(object):
|
|
|
555
554
|
_set_active_strategy(strategy)
|
|
556
555
|
|
|
557
556
|
# Check for new strategy in authenticate response
|
|
558
|
-
if hasattr(authenticate_response,
|
|
559
|
-
'new_strategy') and authenticate_response.new_strategy:
|
|
557
|
+
if hasattr(authenticate_response, 'new_strategy') and authenticate_response.new_strategy:
|
|
560
558
|
new_strategy = authenticate_response.new_strategy.lower()
|
|
561
559
|
if new_strategy != strategy:
|
|
562
560
|
_set_pending_strategy(new_strategy)
|
|
563
|
-
|
|
561
|
+
_apply_pending_strategy()
|
|
562
|
+
self._session_id = None
|
|
563
|
+
return self.get_session_id
|
|
564
564
|
break
|
|
565
565
|
except _InactiveRpcError as e:
|
|
566
|
-
print(self._hash, self.cluster_name, 'Error during authentication with strategy:', strategy, file=sys.stderr)
|
|
567
566
|
if e.code() == grpc.StatusCode.UNKNOWN and 'status: 456' in e.details():
|
|
568
567
|
# Wrong strategy, try the next one
|
|
569
568
|
last_error = e
|
|
@@ -590,24 +589,8 @@ class Connection(object):
|
|
|
590
589
|
cluster_uuid=self.cluster_name,
|
|
591
590
|
timeout=self.grpc_auto_resume_timeout_seconds
|
|
592
591
|
).resume()
|
|
593
|
-
print(self._hash, self.cluster_name, 'Cluster resume status:', status, file=sys.stderr)
|
|
594
592
|
if status:
|
|
595
|
-
|
|
596
|
-
authenticate_request = e6x_engine_pb2.AuthenticateRequest(
|
|
597
|
-
user=self.__username,
|
|
598
|
-
password=self.__password
|
|
599
|
-
)
|
|
600
|
-
authenticate_response = self._client.authenticate(
|
|
601
|
-
authenticate_request,
|
|
602
|
-
metadata=_get_grpc_header(cluster=self.cluster_name, strategy=_get_active_strategy())
|
|
603
|
-
)
|
|
604
|
-
self._session_id = authenticate_response.sessionId
|
|
605
|
-
# Check for new strategy in authenticate response
|
|
606
|
-
if hasattr(authenticate_response, 'new_strategy') and authenticate_response.new_strategy:
|
|
607
|
-
new_strategy = authenticate_response.new_strategy.lower()
|
|
608
|
-
if new_strategy != _get_active_strategy():
|
|
609
|
-
_set_pending_strategy(new_strategy)
|
|
610
|
-
# Don't apply immediately - let new queries use fresh connections
|
|
593
|
+
return self.get_session_id
|
|
611
594
|
else:
|
|
612
595
|
raise e
|
|
613
596
|
else:
|
|
@@ -615,7 +598,6 @@ class Connection(object):
|
|
|
615
598
|
else:
|
|
616
599
|
raise e
|
|
617
600
|
except Exception as e:
|
|
618
|
-
print(self._hash, self.cluster_name, 'Error during authentication:', e, file=sys.stderr)
|
|
619
601
|
self._channel.close()
|
|
620
602
|
raise e
|
|
621
603
|
return self._session_id
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: e6data-python-connector
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.9rc7
|
|
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
|
{e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/analyze_38_nines.py
RENAMED
|
File without changes
|
{e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/analyze_all_cases.py
RENAMED
|
File without changes
|
{e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/analyze_binary.py
RENAMED
|
File without changes
|
{e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/analyze_correct_value.py
RENAMED
|
File without changes
|
{e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/analyze_fields.py
RENAMED
|
File without changes
|
{e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/check_decimal_errors.py
RENAMED
|
File without changes
|
{e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/cleanup_test_files.py
RENAMED
|
File without changes
|
{e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/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.9rc5 → e6data_python_connector-2.3.9rc7}/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.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_improved_parsing.py
RENAMED
|
File without changes
|
{e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_known_case.py
RENAMED
|
File without changes
|
{e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_manual_analysis.py
RENAMED
|
File without changes
|
{e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_mock_server.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_specific_binary.py
RENAMED
|
File without changes
|
|
File without changes
|
{e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_strategy_logic.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/test_user_binary_value.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/validate_decimal128.py
RENAMED
|
File without changes
|
|
File without changes
|
{e6data_python_connector-2.3.9rc5 → e6data_python_connector-2.3.9rc7}/test/verify_decimal_fix.py
RENAMED
|
File without changes
|