e6data-python-connector 2.3.10rc7__tar.gz → 2.3.11rc1__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.
Files changed (88) hide show
  1. {e6data_python_connector-2.3.10rc7/e6data_python_connector.egg-info → e6data_python_connector-2.3.11rc1}/PKG-INFO +2 -2
  2. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/README.md +1 -1
  3. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/datainputstream.py +31 -19
  4. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/e6data_grpc.py +29 -1
  5. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/e6x_vector/ttypes.py +26 -2
  6. e6data_python_connector-2.3.11rc1/e6data_python_connector/server/e6x_engine_pb2.py +207 -0
  7. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/server/e6x_engine_pb2.pyi +560 -276
  8. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/server/e6x_engine_pb2_grpc.py +807 -282
  9. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1/e6data_python_connector.egg-info}/PKG-INFO +2 -2
  10. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector.egg-info/SOURCES.txt +4 -0
  11. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector.egg-info/top_level.txt +1 -0
  12. e6data_python_connector-2.3.11rc1/gen-py/__init__.py +0 -0
  13. e6data_python_connector-2.3.11rc1/gen-py/e6x_vector/__init__.py +1 -0
  14. e6data_python_connector-2.3.11rc1/gen-py/e6x_vector/constants.py +15 -0
  15. e6data_python_connector-2.3.11rc1/gen-py/e6x_vector/ttypes.py +1875 -0
  16. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/setup.py +1 -1
  17. e6data_python_connector-2.3.10rc7/e6data_python_connector/server/e6x_engine_pb2.py +0 -141
  18. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/LICENSE +0 -0
  19. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/MANIFEST.in +0 -0
  20. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/__init__.py +0 -0
  21. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/cluster_manager.py +0 -0
  22. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/cluster_server/__init__.py +0 -0
  23. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/cluster_server/cluster_pb2.py +0 -0
  24. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/cluster_server/cluster_pb2_grpc.py +0 -0
  25. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/common.py +0 -0
  26. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/connection_pool.py +0 -0
  27. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/constants.py +0 -0
  28. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/date_time_utils.py +0 -0
  29. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/dialect.py +0 -0
  30. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/e6x_vector/__init__.py +0 -0
  31. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/e6x_vector/constants.py +0 -0
  32. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/exceptions.py +0 -0
  33. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/server/QueryEngineService.py +0 -0
  34. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/server/__init__.py +0 -0
  35. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/server/constants.py +0 -0
  36. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/server/ttypes.py +0 -0
  37. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/strategy.py +0 -0
  38. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector/typeId.py +0 -0
  39. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector.egg-info/dependency_links.txt +0 -0
  40. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector.egg-info/entry_points.txt +0 -0
  41. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/e6data_python_connector.egg-info/requires.txt +0 -0
  42. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/pyproject.toml +0 -0
  43. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/setup.cfg +0 -0
  44. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/__init__.py +0 -0
  45. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/analyze_38_nines.py +0 -0
  46. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/analyze_all_cases.py +0 -0
  47. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/analyze_binary.py +0 -0
  48. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/analyze_correct_value.py +0 -0
  49. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/analyze_fields.py +0 -0
  50. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/check_decimal_errors.py +0 -0
  51. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/cleanup_test_files.py +0 -0
  52. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/debug_38_nines.py +0 -0
  53. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/debug_binary.py +0 -0
  54. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/final_test.py +0 -0
  55. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/move_tests.py +0 -0
  56. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/quick_test.py +0 -0
  57. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_38_nines.py +0 -0
  58. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_all_decimal128_cases.py +0 -0
  59. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_cluster_manager_efficiency.py +0 -0
  60. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_cluster_manager_none_strategy.py +0 -0
  61. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_cluster_manager_strategy.py +0 -0
  62. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_comprehensive.py +0 -0
  63. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_connection_pool.py +0 -0
  64. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_connection_pool_e2e.py +0 -0
  65. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_current_implementation.py +0 -0
  66. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_decimal128_binary_parsing.py +0 -0
  67. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_decimal128_parsing.py +0 -0
  68. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_fix.py +0 -0
  69. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_improved_parsing.py +0 -0
  70. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_known_case.py +0 -0
  71. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_manual_analysis.py +0 -0
  72. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_mock_server.py +0 -0
  73. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_multiprocessing_fix.py +0 -0
  74. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_new_implementation.py +0 -0
  75. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_pool_concurrency_simple.py +0 -0
  76. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_pool_threading_multiprocessing.py +0 -0
  77. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_simple_connection_pool.py +0 -0
  78. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_specific_binary.py +0 -0
  79. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_strategy.py +0 -0
  80. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_strategy_logic.py +0 -0
  81. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_strategy_persistence_fix.py +0 -0
  82. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_strategy_sharing_fix.py +0 -0
  83. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/test_user_binary_value.py +0 -0
  84. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/tests.py +0 -0
  85. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/tests_grpc.py +0 -0
  86. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/validate_decimal128.py +0 -0
  87. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/test/validate_implementation.py +0 -0
  88. {e6data_python_connector-2.3.10rc7 → e6data_python_connector-2.3.11rc1}/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.10rc7
3
+ Version: 2.3.11rc1
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.
@@ -39,7 +39,7 @@ Dynamic: summary
39
39
 
40
40
  # e6data Python Connector
41
41
 
42
- ![version](https://img.shields.io/badge/version-2.3.10rc7-blue.svg)
42
+ ![version](https://img.shields.io/badge/version-2.3.11rc1-blue.svg)
43
43
 
44
44
  ## Introduction
45
45
 
@@ -1,6 +1,6 @@
1
1
  # e6data Python Connector
2
2
 
3
- ![version](https://img.shields.io/badge/version-2.3.10rc7-blue.svg)
3
+ ![version](https://img.shields.io/badge/version-2.3.11rc1-blue.svg)
4
4
 
5
5
  ## Introduction
6
6
 
@@ -26,16 +26,18 @@ except ImportError:
26
26
  _logger = logging.getLogger(__name__)
27
27
 
28
28
 
29
- def _binary_to_decimal128(binary_data):
29
+ def _binary_to_decimal128(binary_data, scale=None):
30
30
  """
31
31
  Convert binary data to Decimal128.
32
-
32
+
33
33
  The binary data represents a 128-bit decimal number in IEEE 754-2008 Decimal128 format.
34
34
  Based on the Java implementation from e6data's JDBC driver.
35
-
35
+
36
36
  Args:
37
37
  binary_data (bytes): Binary representation of Decimal128
38
-
38
+ scale (int, optional): Scale parameter for decimal precision. If None,
39
+ attempts to decode from IEEE format or defaults to 0.
40
+
39
41
  Returns:
40
42
  Decimal: Python Decimal object
41
43
  """
@@ -59,7 +61,7 @@ def _binary_to_decimal128(binary_data):
59
61
 
60
62
  # Handle IEEE 754-2008 Decimal128 binary format
61
63
  if len(binary_data) == 16: # Decimal128 should be exactly 16 bytes
62
- return _decode_decimal128_binary_java_style(binary_data)
64
+ return _decode_decimal128_binary_java_style(binary_data, scale)
63
65
  else:
64
66
  _logger.warning(f"Invalid Decimal128 binary length: {len(binary_data)} bytes, expected 16")
65
67
  return Decimal('0')
@@ -73,16 +75,17 @@ def _binary_to_decimal128(binary_data):
73
75
  return Decimal('0')
74
76
 
75
77
 
76
- def _decode_decimal128_binary_java_style(binary_data):
78
+ def _decode_decimal128_binary_java_style(binary_data, scale=None):
77
79
  """
78
80
  Decode IEEE 754-2008 Decimal128 binary format following Java implementation.
79
-
81
+
80
82
  Based on the Java implementation from e6data's JDBC driver getFieldDataFromChunk method.
81
83
  This method follows the same logic as the Java BigDecimal creation from ByteBuffer.
82
-
84
+
83
85
  Args:
84
86
  binary_data (bytes): 16-byte binary representation
85
-
87
+ scale (int, optional): Scale parameter for decimal precision
88
+
86
89
  Returns:
87
90
  Decimal: Python Decimal object
88
91
  """
@@ -103,17 +106,21 @@ def _decode_decimal128_binary_java_style(binary_data):
103
106
  if big_int_value == 0:
104
107
  return Decimal('0')
105
108
 
106
- # The Java code creates BigDecimal from BigInteger with scale 0
107
- # This means we treat the integer value as the unscaled value
108
- # However, for Decimal128, we need to handle the scaling properly
109
-
110
- # Try to create decimal directly from the integer value
111
- decimal_value = Decimal(big_int_value)
109
+ # The Java code creates BigDecimal from BigInteger with the provided scale
110
+ # If scale is provided, use it to create the properly scaled decimal
111
+ if scale is not None:
112
+ # Create decimal with the specified scale (like Java's BigDecimal constructor)
113
+ # This treats big_int_value as the unscaled value
114
+ decimal_value = Decimal(big_int_value) / (Decimal(10) ** scale)
115
+ else:
116
+ # Fallback: try to create decimal directly from the integer value
117
+ decimal_value = Decimal(big_int_value)
112
118
 
113
119
  # Check if this produces a reasonable decimal value
114
120
  # Decimal128 should represent normal decimal numbers
115
- if abs(decimal_value) < Decimal('1E-6143') or abs(decimal_value) > Decimal(
116
- '9.999999999999999999999999999999999E+6144'):
121
+ # Only check range if scale was not provided (backward compatibility)
122
+ if scale is None and (abs(decimal_value) < Decimal('1E-6143') or abs(decimal_value) > Decimal(
123
+ '9.999999999999999999999999999999999E+6144')):
117
124
  # Value is outside normal Decimal128 range, try alternative interpretation
118
125
  return _decode_decimal128_alternative(binary_data)
119
126
 
@@ -624,10 +631,12 @@ def get_column_from_chunk(vector: Vector) -> list:
624
631
  if vector.isConstantVector:
625
632
  # For constant vectors, get the binary data and convert it once
626
633
  binary_data = vector.data.numericDecimal128ConstantData.data
634
+ # Get scale with backward compatibility for older engines
635
+ scale = getattr(vector.data.numericDecimal128ConstantData, 'scale', None)
627
636
 
628
637
  # Convert binary data to BigDecimal equivalent
629
638
  if binary_data:
630
- decimal_value = _binary_to_decimal128(binary_data)
639
+ decimal_value = _binary_to_decimal128(binary_data, scale)
631
640
  else:
632
641
  decimal_value = Decimal('0')
633
642
 
@@ -639,13 +648,16 @@ def get_column_from_chunk(vector: Vector) -> list:
639
648
  value_array.append(decimal_value)
640
649
  else:
641
650
  # For non-constant vectors, process each row individually
651
+ # Get scale from decimal128Data (with backward compatibility)
652
+ scale = getattr(vector.data.decimal128Data, 'scale', None)
653
+
642
654
  for row in range(vector.size):
643
655
  if get_null(vector, row):
644
656
  value_array.append(None)
645
657
  continue
646
658
  # Get binary data for this row
647
659
  binary_data = vector.data.decimal128Data.data[row]
648
- decimal_value = _binary_to_decimal128(binary_data)
660
+ decimal_value = _binary_to_decimal128(binary_data, scale)
649
661
  value_array.append(decimal_value)
650
662
  else:
651
663
  value_array.append(None)
@@ -7,6 +7,8 @@ from __future__ import absolute_import
7
7
  from __future__ import unicode_literals
8
8
 
9
9
  import datetime
10
+ import logging
11
+ import os
10
12
  import re
11
13
  import sys
12
14
  import time
@@ -396,8 +398,33 @@ class Connection(object):
396
398
  self._debug = debug
397
399
  if self._debug:
398
400
  _debug_connections.add(id(self))
401
+
402
+ # Enable comprehensive debugging if debug flag is set
403
+ if self._debug:
404
+ # Configure root logger for DEBUG level
405
+ logging.basicConfig(
406
+ level=logging.DEBUG,
407
+ format='[%(name)s] %(asctime)s - %(levelname)s - %(message)s',
408
+ datefmt='%Y-%m-%d %H:%M:%S',
409
+ force=True # Force reconfiguration even if logging is already configured
410
+ )
411
+
412
+ # Enable gRPC debug logging
413
+ os.environ['GRPC_VERBOSITY'] = 'DEBUG'
414
+ os.environ['GRPC_TRACE'] = 'all'
415
+
416
+ # Ensure gRPC logger is at DEBUG level
417
+ grpc_logger = logging.getLogger('grpc')
418
+ grpc_logger.setLevel(logging.DEBUG)
419
+
420
+ # Set e6data connector logger to DEBUG
421
+ e6data_logger = logging.getLogger('e6data_python_connector')
422
+ e6data_logger.setLevel(logging.DEBUG)
423
+
399
424
  _strategy_debug_log(f"Debug mode enabled for connection {id(self)}")
400
-
425
+ _strategy_debug_log(f"Root logger level: {logging.getLogger().level}")
426
+ _strategy_debug_log(f"gRPC debugging enabled with GRPC_VERBOSITY=DEBUG and GRPC_TRACE=all")
427
+
401
428
  self._create_client()
402
429
 
403
430
  @property
@@ -449,6 +476,7 @@ class Connection(object):
449
476
  Raises:
450
477
  grpc.RpcError: If there is an error in creating the gRPC channel or client stub.
451
478
  """
479
+
452
480
  if self._secure_channel:
453
481
  self._channel = grpc.secure_channel(
454
482
  target='{}:{}'.format(self._host, self._port),
@@ -881,13 +881,15 @@ class Decimal128Data(object):
881
881
  """
882
882
  Attributes:
883
883
  - data
884
+ - scale
884
885
 
885
886
  """
886
887
  thrift_spec = None
887
888
 
888
889
 
889
- def __init__(self, data = None,):
890
+ def __init__(self, data = None, scale = None,):
890
891
  self.data = data
892
+ self.scale = scale
891
893
 
892
894
  def read(self, iprot):
893
895
  if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
@@ -908,6 +910,11 @@ class Decimal128Data(object):
908
910
  iprot.readListEnd()
909
911
  else:
910
912
  iprot.skip(ftype)
913
+ elif fid == 2:
914
+ if ftype == TType.I32:
915
+ self.scale = iprot.readI32()
916
+ else:
917
+ iprot.skip(ftype)
911
918
  else:
912
919
  iprot.skip(ftype)
913
920
  iprot.readFieldEnd()
@@ -926,6 +933,10 @@ class Decimal128Data(object):
926
933
  oprot.writeBinary(iter55)
927
934
  oprot.writeListEnd()
928
935
  oprot.writeFieldEnd()
936
+ if self.scale is not None:
937
+ oprot.writeFieldBegin('scale', TType.I32, 2)
938
+ oprot.writeI32(self.scale)
939
+ oprot.writeFieldEnd()
929
940
  oprot.writeFieldStop()
930
941
  oprot.writeStructEnd()
931
942
 
@@ -1310,13 +1321,15 @@ class NumericDecimal128ConstantData(object):
1310
1321
  """
1311
1322
  Attributes:
1312
1323
  - data
1324
+ - scale
1313
1325
 
1314
1326
  """
1315
1327
  thrift_spec = None
1316
1328
 
1317
1329
 
1318
- def __init__(self, data = None,):
1330
+ def __init__(self, data = None, scale = None,):
1319
1331
  self.data = data
1332
+ self.scale = scale
1320
1333
 
1321
1334
  def read(self, iprot):
1322
1335
  if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
@@ -1332,6 +1345,11 @@ class NumericDecimal128ConstantData(object):
1332
1345
  self.data = iprot.readBinary()
1333
1346
  else:
1334
1347
  iprot.skip(ftype)
1348
+ elif fid == 2:
1349
+ if ftype == TType.I32:
1350
+ self.scale = iprot.readI32()
1351
+ else:
1352
+ iprot.skip(ftype)
1335
1353
  else:
1336
1354
  iprot.skip(ftype)
1337
1355
  iprot.readFieldEnd()
@@ -1347,6 +1365,10 @@ class NumericDecimal128ConstantData(object):
1347
1365
  oprot.writeFieldBegin('data', TType.STRING, 1)
1348
1366
  oprot.writeBinary(self.data)
1349
1367
  oprot.writeFieldEnd()
1368
+ if self.scale is not None:
1369
+ oprot.writeFieldBegin('scale', TType.I32, 2)
1370
+ oprot.writeI32(self.scale)
1371
+ oprot.writeFieldEnd()
1350
1372
  oprot.writeFieldStop()
1351
1373
  oprot.writeStructEnd()
1352
1374
 
@@ -1783,6 +1805,7 @@ all_structs.append(Decimal128Data)
1783
1805
  Decimal128Data.thrift_spec = (
1784
1806
  None, # 0
1785
1807
  (1, TType.LIST, 'data', (TType.STRING, 'BINARY', False), None, ), # 1
1808
+ (2, TType.I32, 'scale', None, None, ), # 2
1786
1809
  )
1787
1810
  all_structs.append(VarcharData)
1788
1811
  VarcharData.thrift_spec = (
@@ -1818,6 +1841,7 @@ all_structs.append(NumericDecimal128ConstantData)
1818
1841
  NumericDecimal128ConstantData.thrift_spec = (
1819
1842
  None, # 0
1820
1843
  (1, TType.STRING, 'data', 'BINARY', None, ), # 1
1844
+ (2, TType.I32, 'scale', None, None, ), # 2
1821
1845
  )
1822
1846
  all_structs.append(TemporalIntervalConstantData)
1823
1847
  TemporalIntervalConstantData.thrift_spec = (
@@ -0,0 +1,207 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: e6x_engine.proto
4
+ # Protobuf Python Version: 5.26.1
5
+ """Generated protocol buffer code."""
6
+ from google.protobuf import descriptor as _descriptor
7
+ from google.protobuf import descriptor_pool as _descriptor_pool
8
+ from google.protobuf import symbol_database as _symbol_database
9
+ from google.protobuf.internal import builder as _builder
10
+ # @@protoc_insertion_point(imports)
11
+
12
+ _sym_db = _symbol_database.Default()
13
+
14
+
15
+
16
+
17
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10\x65\x36x_engine.proto\"y\n\x13\x41uthenticateRequest\x12\x0c\n\x04user\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\t\x12%\n\x18userNameForImpersonation\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x1b\n\x19_userNameForImpersonation\"y\n\x14\x41uthenticateResponse\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x19\n\x0cnew_strategy\x18\x02 \x01(\tH\x00\x88\x01\x01\x12\x15\n\x08\x65ngineIP\x18\x03 \x01(\tH\x01\x88\x01\x01\x42\x0f\n\r_new_strategyB\x0b\n\t_engineIP\"\xad\x02\n\x16IdentifyPlannerRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12U\n\x17\x66irstTimeRequestPayload\x18\x02 \x01(\x0b\x32/.IdentifyPlannerRequest.FirstTimeRequestPayloadH\x00\x88\x01\x01\x12*\n\rexistingQuery\x18\x03 \x01(\x0b\x32\x0e.ExistingQueryH\x01\x88\x01\x01\x1aO\n\x17\x46irstTimeRequestPayload\x12\x0e\n\x06schema\x18\x01 \x01(\t\x12\x0f\n\x07\x63\x61talog\x18\x02 \x01(\t\x12\x13\n\x0bqueryString\x18\x03 \x01(\tB\x1a\n\x18_firstTimeRequestPayloadB\x10\n\x0e_existingQuery\"\x84\x02\n\x17IdentifyPlannerResponse\x12%\n\rexistingQuery\x18\x01 \x01(\x0b\x32\x0e.ExistingQuery\x12\x16\n\tplannerIp\x18\x02 \x01(\tH\x00\x88\x01\x01\x12;\n\x0cqueueMessage\x18\x03 \x01(\x0e\x32%.IdentifyPlannerResponse.QueueMessage\x12\x11\n\tsessionId\x18\x04 \x01(\t\"L\n\x0cQueueMessage\x12\x0c\n\x08GO_AHEAD\x10\x00\x12\x1e\n\x1aWAITING_ON_PLANNER_SCALEUP\x10\x01\x12\x0e\n\nRATE_LIMIT\x10\x02\x42\x0c\n\n_plannerIp\"\xc6\x01\n\x17PrepareStatementRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\x13\n\x0bqueryString\x18\x03 \x01(\t\x12\x0f\n\x07quoting\x18\x04 \x01(\t\x12\x16\n\tplannerIp\x18\x05 \x01(\tH\x00\x88\x01\x01\x12*\n\rexistingQuery\x18\x06 \x01(\x0b\x32\x0e.ExistingQueryH\x01\x88\x01\x01\x42\x0c\n\n_plannerIpB\x10\n\x0e_existingQuery\"\xd9\x01\n\x19PrepareStatementV2Request\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\x0f\n\x07\x63\x61talog\x18\x03 \x01(\t\x12\x13\n\x0bqueryString\x18\x04 \x01(\t\x12\x0f\n\x07quoting\x18\x05 \x01(\t\x12\x16\n\tplannerIp\x18\x06 \x01(\tH\x00\x88\x01\x01\x12*\n\rexistingQuery\x18\x07 \x01(\x0b\x32\x0e.ExistingQueryH\x01\x88\x01\x01\x42\x0c\n\n_plannerIpB\x10\n\x0e_existingQuery\"|\n\x18PrepareStatementResponse\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x0f\n\x07queryId\x18\x02 \x01(\t\x12\x11\n\tsessionId\x18\x03 \x01(\t\x12\x19\n\x0cnew_strategy\x18\x04 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_new_strategy\"g\n\x17\x45xecuteStatementRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\x12\x16\n\x0eshouldNotCache\x18\x04 \x01(\x08\"\x8a\x01\n\x19\x45xecuteStatementV2Request\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\x12\x16\n\x0eshouldNotCache\x18\x04 \x01(\x08\x12\x1f\n\x06params\x18\x05 \x03(\x0b\x32\x0f.ParameterValue\"Y\n\x18\x45xecuteStatementResponse\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x19\n\x0cnew_strategy\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_new_strategy\"P\n\x18GetResultMetadataRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"r\n\x19GetResultMetadataResponse\x12\x16\n\x0eresultMetaData\x18\x01 \x01(\x0c\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x19\n\x0cnew_strategy\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_new_strategy\"Q\n\x19GetNextResultBatchRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"p\n\x1aGetNextResultBatchResponse\x12\x13\n\x0bresultBatch\x18\x02 \x01(\x0c\x12\x11\n\tsessionId\x18\x03 \x01(\t\x12\x19\n\x0cnew_strategy\x18\x04 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_new_strategy\"M\n\x15\x45xplainAnalyzeRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"\xac\x01\n\x16\x45xplainAnalyzeResponse\x12\x16\n\x0e\x65xplainAnalyze\x18\x01 \x01(\t\x12\x10\n\x08isCached\x18\x02 \x01(\x08\x12\x13\n\x0bparsingTime\x18\x03 \x01(\x12\x12\x14\n\x0cqueueingTime\x18\x04 \x01(\x12\x12\x11\n\tsessionId\x18\x05 \x01(\t\x12\x19\n\x0cnew_strategy\x18\x06 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_new_strategy\"D\n\x0c\x43learRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"N\n\rClearResponse\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x19\n\x0cnew_strategy\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_new_strategy\"J\n\x12\x43\x61ncelQueryRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"T\n\x13\x43\x61ncelQueryResponse\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x19\n\x0cnew_strategy\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_new_strategy\"q\n\x19\x43learOrCancelQueryRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\x12\x13\n\x06isDone\x18\x04 \x01(\x08H\x00\x88\x01\x01\x42\t\n\x07_isDone\"[\n\x1a\x43learOrCancelQueryResponse\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x19\n\x0cnew_strategy\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_new_strategy\"F\n\x0e\x45xplainRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"a\n\x0f\x45xplainResponse\x12\x0f\n\x07\x65xplain\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x19\n\x0cnew_strategy\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_new_strategy\"E\n\x13\x41nalyzeQueryRequest\x12\r\n\x05query\x18\x01 \x01(\t\x12\x0f\n\x07\x63\x61talog\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\"\x16\n\x14\x41nalyzeQueryResponse\"E\n\rStatusRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"q\n\x0eStatusResponse\x12\x0e\n\x06status\x18\x02 \x01(\x08\x12\x10\n\x08rowCount\x18\x03 \x01(\x12\x12\x11\n\tsessionId\x18\x04 \x01(\t\x12\x19\n\x0cnew_strategy\x18\x05 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_new_strategy\"5\n\x12\x41\x64\x64\x43\x61talogsRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0c\n\x04json\x18\x02 \x01(\t\"(\n\x13\x41\x64\x64\x43\x61talogsResponse\x12\x11\n\tsessionId\x18\x01 \x01(\t\"+\n\x16RefreshCatalogsRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\",\n\x17RefreshCatalogsResponse\x12\x11\n\tsessionId\x18\x01 \x01(\t\"*\n\x15GetAddCatalogsRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\"c\n\x16GetAddCatalogsResponse\x12\x0e\n\x06status\x18\x01 \x01(\t\x12&\n\x08\x66\x61ilures\x18\x02 \x03(\x0b\x32\x14.FailedSchemaElement\x12\x11\n\tsessionId\x18\x03 \x01(\t\"\x15\n\x13GetCatalogesRequest\"B\n\x14GetCatalogesResponse\x12*\n\x10\x63\x61talogResponses\x18\x01 \x03(\x0b\x32\x10.CatalogResponse\"*\n\x15GetSchemaNamesRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\"=\n\x17GetSchemaNamesV2Request\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0f\n\x07\x63\x61talog\x18\x02 \x01(\t\"h\n\x16GetSchemaNamesResponse\x12\x0f\n\x07schemas\x18\x01 \x03(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x19\n\x0cnew_strategy\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_new_strategy\"5\n\x10GetTablesRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\"H\n\x12GetTablesV2Request\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\x0f\n\x07\x63\x61talog\x18\x03 \x01(\t\"b\n\x11GetTablesResponse\x12\x0e\n\x06tables\x18\x01 \x03(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x19\n\x0cnew_strategy\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_new_strategy\"E\n\x11GetColumnsRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\r\n\x05table\x18\x03 \x01(\t\"X\n\x13GetColumnsV2Request\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x0e\n\x06schema\x18\x02 \x01(\t\x12\r\n\x05table\x18\x03 \x01(\t\x12\x0f\n\x07\x63\x61talog\x18\x04 \x01(\t\"s\n\x12GetColumnsResponse\x12\x1e\n\tfieldInfo\x18\x01 \x03(\x0b\x32\x0b.GFieldInfo\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x19\n\x0cnew_strategy\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x0f\n\r_new_strategy\"#\n\x12UpdateUsersRequest\x12\r\n\x05users\x18\x01 \x01(\x0c\"\x15\n\x13UpdateUsersResponse\"3\n\x0fSetPropsRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\r\n\x05props\x18\x02 \x01(\t\"\x12\n\x10SetPropsResponse\"Y\n\rDryRunRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\x12\x13\n\x0bqueryString\x18\x04 \x01(\t\"l\n\x0f\x44ryRunRequestV2\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\x12\x13\n\x0bqueryString\x18\x04 \x01(\t\x12\x0f\n\x07\x63\x61talog\x18\x05 \x01(\t\"%\n\x0e\x44ryRunResponse\x12\x13\n\x0b\x64ryrunValue\x18\x01 \x01(\t\"X\n\x12RemoteChunkRequest\x12\x17\n\x0foriginalQueryId\x18\x01 \x01(\t\x12\x15\n\rremoteQueryId\x18\x02 \x01(\t\x12\x12\n\nsQueryHash\x18\x03 \x01(\t\"3\n\x13RemoteChunkResponse\x12\r\n\x05\x65rror\x18\x01 \x01(\t\x12\r\n\x05\x63hunk\x18\x02 \x01(\x0c\"O\n\x17GetDynamicParamsRequest\x12\x10\n\x08\x65ngineIP\x18\x01 \x01(\t\x12\x11\n\tsessionId\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\"N\n\x18GetDynamicParamsResponse\x12\x1f\n\x06params\x18\x01 \x03(\x0b\x32\x0f.ParameterValue\x12\x11\n\tsessionId\x18\x02 \x01(\t\"2\n\nGFieldInfo\x12\x11\n\tfieldName\x18\x01 \x01(\t\x12\x11\n\tfieldType\x18\x02 \x01(\t\"A\n\x13\x46\x61iledSchemaElement\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0e\n\x06reason\x18\x03 \x01(\t\"2\n\x0f\x43\x61talogResponse\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tisDefault\x18\x02 \x01(\x08\"<\n\x0eParameterValue\x12\r\n\x05index\x18\x01 \x01(\x11\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\r\n\x05value\x18\x03 \x01(\t\"@\n\x0eUserAccessInfo\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12\x10\n\x08userName\x18\x02 \x01(\t\x12\x0e\n\x06tokens\x18\x03 \x03(\t\";\n\rExistingQuery\x12\x0f\n\x07queryId\x18\x01 \x01(\t\x12\x19\n\x11\x65lapsedTimeMillis\x18\x02 \x01(\x03\"Z\n\x11SyncSchemaRequest\x12\x0f\n\x07\x63\x61talog\x18\x01 \x01(\t\x12\x10\n\x08\x64\x61tabase\x18\x02 \x01(\t\x12\x0f\n\x07queryId\x18\x03 \x01(\t\x12\x11\n\tisReplace\x18\x04 \x01(\x08\"\x14\n\x12SyncSchemaResponse\"\x14\n\x12HealthCheckRequest\"\x15\n\x13HealthCheckResponse\"\xba\x01\n\x16\x43reateDataFrameRequest\x12\x17\n\x0fparquetFilePath\x18\x01 \x01(\t\x12\x0f\n\x07\x63\x61talog\x18\x02 \x01(\t\x12\x0e\n\x06schema\x18\x03 \x01(\t\x12\r\n\x05table\x18\x04 \x01(\t\x12\x11\n\tsessionId\x18\x05 \x01(\t\x12\x10\n\x08\x65ngineIP\x18\x06 \x01(\t\x12\x17\n\x0f\x64\x61taframeNumber\x18\x07 \x01(\x05\x12\x19\n\x11\x63reateFromParquet\x18\x08 \x01(\x08\"*\n\x17\x43reateDataFrameResponse\x12\x0f\n\x07queryId\x18\x01 \x01(\t\"|\n\x1cProjectionOnDataFrameRequest\x12\x0f\n\x07queryId\x18\x01 \x01(\t\x12\x17\n\x0f\x64\x61taframeNumber\x18\x02 \x01(\x05\x12\x11\n\tsessionId\x18\x03 \x01(\t\x12\x10\n\x08\x65ngineIP\x18\x04 \x01(\t\x12\r\n\x05\x66ield\x18\x05 \x03(\t\"\x1f\n\x1dProjectionOnDataFrameResponse\"\xa4\x02\n\x1b\x41ggregateOnDataFrameRequest\x12\x0f\n\x07queryId\x18\x01 \x01(\t\x12\x17\n\x0f\x64\x61taframeNumber\x18\x02 \x01(\x05\x12\x11\n\tsessionId\x18\x03 \x01(\t\x12\x10\n\x08\x65ngineIP\x18\x04 \x01(\t\x12T\n\x14\x61ggregateFunctionMap\x18\x05 \x03(\x0b\x32\x36.AggregateOnDataFrameRequest.AggregateFunctionMapEntry\x12\x0f\n\x07groupBy\x18\x06 \x03(\t\x1aO\n\x19\x41ggregateFunctionMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0e\x32\x12.AggregateFunction:\x02\x38\x01\"\x1e\n\x1c\x41ggregateOnDataFrameResponse\"~\n\x18\x46ilterOnDataFrameRequest\x12\x0f\n\x07queryId\x18\x01 \x01(\t\x12\x17\n\x0f\x64\x61taframeNumber\x18\x02 \x01(\x05\x12\x11\n\tsessionId\x18\x03 \x01(\t\x12\x10\n\x08\x65ngineIP\x18\x04 \x01(\t\x12\x13\n\x0bwhereClause\x18\x05 \x01(\t\"\x1b\n\x19\x46ilterOnDataFrameResponse\"\xfc\x01\n\x19OrderByOnDataFrameRequest\x12\x0f\n\x07queryId\x18\x01 \x01(\t\x12\x17\n\x0f\x64\x61taframeNumber\x18\x02 \x01(\x05\x12\x11\n\tsessionId\x18\x03 \x01(\t\x12\x10\n\x08\x65ngineIP\x18\x04 \x01(\t\x12H\n\x0forderByFieldMap\x18\x05 \x03(\x0b\x32/.OrderByOnDataFrameRequest.OrderByFieldMapEntry\x1a\x46\n\x14OrderByFieldMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1d\n\x05value\x18\x02 \x01(\x0e\x32\x0e.SortDirection:\x02\x38\x01\"\x1c\n\x1aOrderByOnDataFrameResponse\"|\n\x17LimitOnDataFrameRequest\x12\x0f\n\x07queryId\x18\x01 \x01(\t\x12\x17\n\x0f\x64\x61taframeNumber\x18\x02 \x01(\x05\x12\x11\n\tsessionId\x18\x03 \x01(\t\x12\x10\n\x08\x65ngineIP\x18\x04 \x01(\t\x12\x12\n\nfetchLimit\x18\x05 \x01(\x05\"\x1a\n\x18LimitOnDataFrameResponse\"h\n\x17\x45xecuteDataFrameRequest\x12\x0f\n\x07queryId\x18\x01 \x01(\t\x12\x17\n\x0f\x64\x61taframeNumber\x18\x02 \x01(\x05\x12\x11\n\tsessionId\x18\x03 \x01(\t\x12\x10\n\x08\x65ngineIP\x18\x04 \x01(\t\"\x1a\n\x18\x45xecuteDataFrameResponse\"=\n\x16\x44ropUserContextRequest\x12\x11\n\tsessionId\x18\x01 \x01(\t\x12\x10\n\x08\x65ngineIP\x18\x02 \x01(\t\"\x19\n\x17\x44ropUserContextResponse*K\n\x11\x41ggregateFunction\x12\x07\n\x03SUM\x10\x00\x12\t\n\x05\x43OUNT\x10\x01\x12\x0e\n\nCOUNT_STAR\x10\x02\x12\x12\n\x0e\x43OUNT_DISTINCT\x10\x03*\"\n\rSortDirection\x12\x07\n\x03\x41SC\x10\x00\x12\x08\n\x04\x44\x45SC\x10\x01\x32\x85\x15\n\x12QueryEngineService\x12;\n\x0c\x61uthenticate\x12\x14.AuthenticateRequest\x1a\x15.AuthenticateResponse\x12\x44\n\x0fidentifyPlanner\x12\x17.IdentifyPlannerRequest\x1a\x18.IdentifyPlannerResponse\x12G\n\x10prepareStatement\x12\x18.PrepareStatementRequest\x1a\x19.PrepareStatementResponse\x12K\n\x12prepareStatementV2\x12\x1a.PrepareStatementV2Request\x1a\x19.PrepareStatementResponse\x12G\n\x10\x65xecuteStatement\x12\x18.ExecuteStatementRequest\x1a\x19.ExecuteStatementResponse\x12K\n\x12\x65xecuteStatementV2\x12\x1a.ExecuteStatementV2Request\x1a\x19.ExecuteStatementResponse\x12J\n\x11getResultMetadata\x12\x19.GetResultMetadataRequest\x1a\x1a.GetResultMetadataResponse\x12G\n\x10getDynamicParams\x12\x18.GetDynamicParamsRequest\x1a\x19.GetDynamicParamsResponse\x12M\n\x12getNextResultBatch\x12\x1a.GetNextResultBatchRequest\x1a\x1b.GetNextResultBatchResponse\x12\x41\n\x0e\x65xplainAnalyze\x12\x16.ExplainAnalyzeRequest\x1a\x17.ExplainAnalyzeResponse\x12&\n\x05\x63lear\x12\r.ClearRequest\x1a\x0e.ClearResponse\x12\x38\n\x0b\x63\x61ncelQuery\x12\x13.CancelQueryRequest\x1a\x14.CancelQueryResponse\x12M\n\x12\x63learOrCancelQuery\x12\x1a.ClearOrCancelQueryRequest\x1a\x1b.ClearOrCancelQueryResponse\x12\x36\n\x0bsyncSchemas\x12\x12.SyncSchemaRequest\x1a\x13.SyncSchemaResponse\x12\x38\n\x0bhealthCheck\x12\x13.HealthCheckRequest\x1a\x14.HealthCheckResponse\x12;\n\x0c\x61nalyzeQuery\x12\x14.AnalyzeQueryRequest\x1a\x15.AnalyzeQueryResponse\x12,\n\x07\x65xplain\x12\x0f.ExplainRequest\x1a\x10.ExplainResponse\x12)\n\x06status\x12\x0e.StatusRequest\x1a\x0f.StatusResponse\x12\x38\n\x0b\x61\x64\x64\x43\x61talogs\x12\x13.AddCatalogsRequest\x1a\x14.AddCatalogsResponse\x12\x44\n\x0frefreshCatalogs\x12\x17.RefreshCatalogsRequest\x1a\x18.RefreshCatalogsResponse\x12I\n\x16getAddCatalogsResponse\x12\x16.GetAddCatalogsRequest\x1a\x17.GetAddCatalogsResponse\x12;\n\x0cgetCataloges\x12\x14.GetCatalogesRequest\x1a\x15.GetCatalogesResponse\x12\x41\n\x0egetSchemaNames\x12\x16.GetSchemaNamesRequest\x1a\x17.GetSchemaNamesResponse\x12\x45\n\x10getSchemaNamesV2\x12\x18.GetSchemaNamesV2Request\x1a\x17.GetSchemaNamesResponse\x12\x32\n\tgetTables\x12\x11.GetTablesRequest\x1a\x12.GetTablesResponse\x12\x36\n\x0bgetTablesV2\x12\x13.GetTablesV2Request\x1a\x12.GetTablesResponse\x12\x35\n\ngetColumns\x12\x12.GetColumnsRequest\x1a\x13.GetColumnsResponse\x12\x39\n\x0cgetColumnsV2\x12\x14.GetColumnsV2Request\x1a\x13.GetColumnsResponse\x12\x38\n\x0bupdateUsers\x12\x13.UpdateUsersRequest\x1a\x14.UpdateUsersResponse\x12/\n\x08setProps\x12\x10.SetPropsRequest\x1a\x11.SetPropsResponse\x12)\n\x06\x64ryRun\x12\x0e.DryRunRequest\x1a\x0f.DryRunResponse\x12-\n\x08\x64ryRunV2\x12\x10.DryRunRequestV2\x1a\x0f.DryRunResponse\x12\x45\n\x18getNextRemoteCachedChunk\x12\x13.RemoteChunkRequest\x1a\x14.RemoteChunkResponse\x12\x44\n\x0f\x63reateDataFrame\x12\x17.CreateDataFrameRequest\x1a\x18.CreateDataFrameResponse\x12V\n\x15projectionOnDataFrame\x12\x1d.ProjectionOnDataFrameRequest\x1a\x1e.ProjectionOnDataFrameResponse\x12S\n\x14\x61ggregateOnDataFrame\x12\x1c.AggregateOnDataFrameRequest\x1a\x1d.AggregateOnDataFrameResponse\x12J\n\x11\x66ilterOnDataFrame\x12\x19.FilterOnDataFrameRequest\x1a\x1a.FilterOnDataFrameResponse\x12M\n\x12orderByOnDataFrame\x12\x1a.OrderByOnDataFrameRequest\x1a\x1b.OrderByOnDataFrameResponse\x12G\n\x10limitOnDataFrame\x12\x18.LimitOnDataFrameRequest\x1a\x19.LimitOnDataFrameResponse\x12G\n\x10\x65xecuteDataFrame\x12\x18.ExecuteDataFrameRequest\x1a\x19.ExecuteDataFrameResponse\x12\x44\n\x0f\x64ropUserContext\x12\x17.DropUserContextRequest\x1a\x18.DropUserContextResponseB\x16\n\x12io.e6x.engine.grpcP\x01\x62\x06proto3')
18
+
19
+ _globals = globals()
20
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
21
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'e6x_engine_pb2', _globals)
22
+ if not _descriptor._USE_C_DESCRIPTORS:
23
+ _globals['DESCRIPTOR']._loaded_options = None
24
+ _globals['DESCRIPTOR']._serialized_options = b'\n\022io.e6x.engine.grpcP\001'
25
+ _globals['_AGGREGATEONDATAFRAMEREQUEST_AGGREGATEFUNCTIONMAPENTRY']._loaded_options = None
26
+ _globals['_AGGREGATEONDATAFRAMEREQUEST_AGGREGATEFUNCTIONMAPENTRY']._serialized_options = b'8\001'
27
+ _globals['_ORDERBYONDATAFRAMEREQUEST_ORDERBYFIELDMAPENTRY']._loaded_options = None
28
+ _globals['_ORDERBYONDATAFRAMEREQUEST_ORDERBYFIELDMAPENTRY']._serialized_options = b'8\001'
29
+ _globals['_AGGREGATEFUNCTION']._serialized_start=7217
30
+ _globals['_AGGREGATEFUNCTION']._serialized_end=7292
31
+ _globals['_SORTDIRECTION']._serialized_start=7294
32
+ _globals['_SORTDIRECTION']._serialized_end=7328
33
+ _globals['_AUTHENTICATEREQUEST']._serialized_start=20
34
+ _globals['_AUTHENTICATEREQUEST']._serialized_end=141
35
+ _globals['_AUTHENTICATERESPONSE']._serialized_start=143
36
+ _globals['_AUTHENTICATERESPONSE']._serialized_end=264
37
+ _globals['_IDENTIFYPLANNERREQUEST']._serialized_start=267
38
+ _globals['_IDENTIFYPLANNERREQUEST']._serialized_end=568
39
+ _globals['_IDENTIFYPLANNERREQUEST_FIRSTTIMEREQUESTPAYLOAD']._serialized_start=443
40
+ _globals['_IDENTIFYPLANNERREQUEST_FIRSTTIMEREQUESTPAYLOAD']._serialized_end=522
41
+ _globals['_IDENTIFYPLANNERRESPONSE']._serialized_start=571
42
+ _globals['_IDENTIFYPLANNERRESPONSE']._serialized_end=831
43
+ _globals['_IDENTIFYPLANNERRESPONSE_QUEUEMESSAGE']._serialized_start=741
44
+ _globals['_IDENTIFYPLANNERRESPONSE_QUEUEMESSAGE']._serialized_end=817
45
+ _globals['_PREPARESTATEMENTREQUEST']._serialized_start=834
46
+ _globals['_PREPARESTATEMENTREQUEST']._serialized_end=1032
47
+ _globals['_PREPARESTATEMENTV2REQUEST']._serialized_start=1035
48
+ _globals['_PREPARESTATEMENTV2REQUEST']._serialized_end=1252
49
+ _globals['_PREPARESTATEMENTRESPONSE']._serialized_start=1254
50
+ _globals['_PREPARESTATEMENTRESPONSE']._serialized_end=1378
51
+ _globals['_EXECUTESTATEMENTREQUEST']._serialized_start=1380
52
+ _globals['_EXECUTESTATEMENTREQUEST']._serialized_end=1483
53
+ _globals['_EXECUTESTATEMENTV2REQUEST']._serialized_start=1486
54
+ _globals['_EXECUTESTATEMENTV2REQUEST']._serialized_end=1624
55
+ _globals['_EXECUTESTATEMENTRESPONSE']._serialized_start=1626
56
+ _globals['_EXECUTESTATEMENTRESPONSE']._serialized_end=1715
57
+ _globals['_GETRESULTMETADATAREQUEST']._serialized_start=1717
58
+ _globals['_GETRESULTMETADATAREQUEST']._serialized_end=1797
59
+ _globals['_GETRESULTMETADATARESPONSE']._serialized_start=1799
60
+ _globals['_GETRESULTMETADATARESPONSE']._serialized_end=1913
61
+ _globals['_GETNEXTRESULTBATCHREQUEST']._serialized_start=1915
62
+ _globals['_GETNEXTRESULTBATCHREQUEST']._serialized_end=1996
63
+ _globals['_GETNEXTRESULTBATCHRESPONSE']._serialized_start=1998
64
+ _globals['_GETNEXTRESULTBATCHRESPONSE']._serialized_end=2110
65
+ _globals['_EXPLAINANALYZEREQUEST']._serialized_start=2112
66
+ _globals['_EXPLAINANALYZEREQUEST']._serialized_end=2189
67
+ _globals['_EXPLAINANALYZERESPONSE']._serialized_start=2192
68
+ _globals['_EXPLAINANALYZERESPONSE']._serialized_end=2364
69
+ _globals['_CLEARREQUEST']._serialized_start=2366
70
+ _globals['_CLEARREQUEST']._serialized_end=2434
71
+ _globals['_CLEARRESPONSE']._serialized_start=2436
72
+ _globals['_CLEARRESPONSE']._serialized_end=2514
73
+ _globals['_CANCELQUERYREQUEST']._serialized_start=2516
74
+ _globals['_CANCELQUERYREQUEST']._serialized_end=2590
75
+ _globals['_CANCELQUERYRESPONSE']._serialized_start=2592
76
+ _globals['_CANCELQUERYRESPONSE']._serialized_end=2676
77
+ _globals['_CLEARORCANCELQUERYREQUEST']._serialized_start=2678
78
+ _globals['_CLEARORCANCELQUERYREQUEST']._serialized_end=2791
79
+ _globals['_CLEARORCANCELQUERYRESPONSE']._serialized_start=2793
80
+ _globals['_CLEARORCANCELQUERYRESPONSE']._serialized_end=2884
81
+ _globals['_EXPLAINREQUEST']._serialized_start=2886
82
+ _globals['_EXPLAINREQUEST']._serialized_end=2956
83
+ _globals['_EXPLAINRESPONSE']._serialized_start=2958
84
+ _globals['_EXPLAINRESPONSE']._serialized_end=3055
85
+ _globals['_ANALYZEQUERYREQUEST']._serialized_start=3057
86
+ _globals['_ANALYZEQUERYREQUEST']._serialized_end=3126
87
+ _globals['_ANALYZEQUERYRESPONSE']._serialized_start=3128
88
+ _globals['_ANALYZEQUERYRESPONSE']._serialized_end=3150
89
+ _globals['_STATUSREQUEST']._serialized_start=3152
90
+ _globals['_STATUSREQUEST']._serialized_end=3221
91
+ _globals['_STATUSRESPONSE']._serialized_start=3223
92
+ _globals['_STATUSRESPONSE']._serialized_end=3336
93
+ _globals['_ADDCATALOGSREQUEST']._serialized_start=3338
94
+ _globals['_ADDCATALOGSREQUEST']._serialized_end=3391
95
+ _globals['_ADDCATALOGSRESPONSE']._serialized_start=3393
96
+ _globals['_ADDCATALOGSRESPONSE']._serialized_end=3433
97
+ _globals['_REFRESHCATALOGSREQUEST']._serialized_start=3435
98
+ _globals['_REFRESHCATALOGSREQUEST']._serialized_end=3478
99
+ _globals['_REFRESHCATALOGSRESPONSE']._serialized_start=3480
100
+ _globals['_REFRESHCATALOGSRESPONSE']._serialized_end=3524
101
+ _globals['_GETADDCATALOGSREQUEST']._serialized_start=3526
102
+ _globals['_GETADDCATALOGSREQUEST']._serialized_end=3568
103
+ _globals['_GETADDCATALOGSRESPONSE']._serialized_start=3570
104
+ _globals['_GETADDCATALOGSRESPONSE']._serialized_end=3669
105
+ _globals['_GETCATALOGESREQUEST']._serialized_start=3671
106
+ _globals['_GETCATALOGESREQUEST']._serialized_end=3692
107
+ _globals['_GETCATALOGESRESPONSE']._serialized_start=3694
108
+ _globals['_GETCATALOGESRESPONSE']._serialized_end=3760
109
+ _globals['_GETSCHEMANAMESREQUEST']._serialized_start=3762
110
+ _globals['_GETSCHEMANAMESREQUEST']._serialized_end=3804
111
+ _globals['_GETSCHEMANAMESV2REQUEST']._serialized_start=3806
112
+ _globals['_GETSCHEMANAMESV2REQUEST']._serialized_end=3867
113
+ _globals['_GETSCHEMANAMESRESPONSE']._serialized_start=3869
114
+ _globals['_GETSCHEMANAMESRESPONSE']._serialized_end=3973
115
+ _globals['_GETTABLESREQUEST']._serialized_start=3975
116
+ _globals['_GETTABLESREQUEST']._serialized_end=4028
117
+ _globals['_GETTABLESV2REQUEST']._serialized_start=4030
118
+ _globals['_GETTABLESV2REQUEST']._serialized_end=4102
119
+ _globals['_GETTABLESRESPONSE']._serialized_start=4104
120
+ _globals['_GETTABLESRESPONSE']._serialized_end=4202
121
+ _globals['_GETCOLUMNSREQUEST']._serialized_start=4204
122
+ _globals['_GETCOLUMNSREQUEST']._serialized_end=4273
123
+ _globals['_GETCOLUMNSV2REQUEST']._serialized_start=4275
124
+ _globals['_GETCOLUMNSV2REQUEST']._serialized_end=4363
125
+ _globals['_GETCOLUMNSRESPONSE']._serialized_start=4365
126
+ _globals['_GETCOLUMNSRESPONSE']._serialized_end=4480
127
+ _globals['_UPDATEUSERSREQUEST']._serialized_start=4482
128
+ _globals['_UPDATEUSERSREQUEST']._serialized_end=4517
129
+ _globals['_UPDATEUSERSRESPONSE']._serialized_start=4519
130
+ _globals['_UPDATEUSERSRESPONSE']._serialized_end=4540
131
+ _globals['_SETPROPSREQUEST']._serialized_start=4542
132
+ _globals['_SETPROPSREQUEST']._serialized_end=4593
133
+ _globals['_SETPROPSRESPONSE']._serialized_start=4595
134
+ _globals['_SETPROPSRESPONSE']._serialized_end=4613
135
+ _globals['_DRYRUNREQUEST']._serialized_start=4615
136
+ _globals['_DRYRUNREQUEST']._serialized_end=4704
137
+ _globals['_DRYRUNREQUESTV2']._serialized_start=4706
138
+ _globals['_DRYRUNREQUESTV2']._serialized_end=4814
139
+ _globals['_DRYRUNRESPONSE']._serialized_start=4816
140
+ _globals['_DRYRUNRESPONSE']._serialized_end=4853
141
+ _globals['_REMOTECHUNKREQUEST']._serialized_start=4855
142
+ _globals['_REMOTECHUNKREQUEST']._serialized_end=4943
143
+ _globals['_REMOTECHUNKRESPONSE']._serialized_start=4945
144
+ _globals['_REMOTECHUNKRESPONSE']._serialized_end=4996
145
+ _globals['_GETDYNAMICPARAMSREQUEST']._serialized_start=4998
146
+ _globals['_GETDYNAMICPARAMSREQUEST']._serialized_end=5077
147
+ _globals['_GETDYNAMICPARAMSRESPONSE']._serialized_start=5079
148
+ _globals['_GETDYNAMICPARAMSRESPONSE']._serialized_end=5157
149
+ _globals['_GFIELDINFO']._serialized_start=5159
150
+ _globals['_GFIELDINFO']._serialized_end=5209
151
+ _globals['_FAILEDSCHEMAELEMENT']._serialized_start=5211
152
+ _globals['_FAILEDSCHEMAELEMENT']._serialized_end=5276
153
+ _globals['_CATALOGRESPONSE']._serialized_start=5278
154
+ _globals['_CATALOGRESPONSE']._serialized_end=5328
155
+ _globals['_PARAMETERVALUE']._serialized_start=5330
156
+ _globals['_PARAMETERVALUE']._serialized_end=5390
157
+ _globals['_USERACCESSINFO']._serialized_start=5392
158
+ _globals['_USERACCESSINFO']._serialized_end=5456
159
+ _globals['_EXISTINGQUERY']._serialized_start=5458
160
+ _globals['_EXISTINGQUERY']._serialized_end=5517
161
+ _globals['_SYNCSCHEMAREQUEST']._serialized_start=5519
162
+ _globals['_SYNCSCHEMAREQUEST']._serialized_end=5609
163
+ _globals['_SYNCSCHEMARESPONSE']._serialized_start=5611
164
+ _globals['_SYNCSCHEMARESPONSE']._serialized_end=5631
165
+ _globals['_HEALTHCHECKREQUEST']._serialized_start=5633
166
+ _globals['_HEALTHCHECKREQUEST']._serialized_end=5653
167
+ _globals['_HEALTHCHECKRESPONSE']._serialized_start=5655
168
+ _globals['_HEALTHCHECKRESPONSE']._serialized_end=5676
169
+ _globals['_CREATEDATAFRAMEREQUEST']._serialized_start=5679
170
+ _globals['_CREATEDATAFRAMEREQUEST']._serialized_end=5865
171
+ _globals['_CREATEDATAFRAMERESPONSE']._serialized_start=5867
172
+ _globals['_CREATEDATAFRAMERESPONSE']._serialized_end=5909
173
+ _globals['_PROJECTIONONDATAFRAMEREQUEST']._serialized_start=5911
174
+ _globals['_PROJECTIONONDATAFRAMEREQUEST']._serialized_end=6035
175
+ _globals['_PROJECTIONONDATAFRAMERESPONSE']._serialized_start=6037
176
+ _globals['_PROJECTIONONDATAFRAMERESPONSE']._serialized_end=6068
177
+ _globals['_AGGREGATEONDATAFRAMEREQUEST']._serialized_start=6071
178
+ _globals['_AGGREGATEONDATAFRAMEREQUEST']._serialized_end=6363
179
+ _globals['_AGGREGATEONDATAFRAMEREQUEST_AGGREGATEFUNCTIONMAPENTRY']._serialized_start=6284
180
+ _globals['_AGGREGATEONDATAFRAMEREQUEST_AGGREGATEFUNCTIONMAPENTRY']._serialized_end=6363
181
+ _globals['_AGGREGATEONDATAFRAMERESPONSE']._serialized_start=6365
182
+ _globals['_AGGREGATEONDATAFRAMERESPONSE']._serialized_end=6395
183
+ _globals['_FILTERONDATAFRAMEREQUEST']._serialized_start=6397
184
+ _globals['_FILTERONDATAFRAMEREQUEST']._serialized_end=6523
185
+ _globals['_FILTERONDATAFRAMERESPONSE']._serialized_start=6525
186
+ _globals['_FILTERONDATAFRAMERESPONSE']._serialized_end=6552
187
+ _globals['_ORDERBYONDATAFRAMEREQUEST']._serialized_start=6555
188
+ _globals['_ORDERBYONDATAFRAMEREQUEST']._serialized_end=6807
189
+ _globals['_ORDERBYONDATAFRAMEREQUEST_ORDERBYFIELDMAPENTRY']._serialized_start=6737
190
+ _globals['_ORDERBYONDATAFRAMEREQUEST_ORDERBYFIELDMAPENTRY']._serialized_end=6807
191
+ _globals['_ORDERBYONDATAFRAMERESPONSE']._serialized_start=6809
192
+ _globals['_ORDERBYONDATAFRAMERESPONSE']._serialized_end=6837
193
+ _globals['_LIMITONDATAFRAMEREQUEST']._serialized_start=6839
194
+ _globals['_LIMITONDATAFRAMEREQUEST']._serialized_end=6963
195
+ _globals['_LIMITONDATAFRAMERESPONSE']._serialized_start=6965
196
+ _globals['_LIMITONDATAFRAMERESPONSE']._serialized_end=6991
197
+ _globals['_EXECUTEDATAFRAMEREQUEST']._serialized_start=6993
198
+ _globals['_EXECUTEDATAFRAMEREQUEST']._serialized_end=7097
199
+ _globals['_EXECUTEDATAFRAMERESPONSE']._serialized_start=7099
200
+ _globals['_EXECUTEDATAFRAMERESPONSE']._serialized_end=7125
201
+ _globals['_DROPUSERCONTEXTREQUEST']._serialized_start=7127
202
+ _globals['_DROPUSERCONTEXTREQUEST']._serialized_end=7188
203
+ _globals['_DROPUSERCONTEXTRESPONSE']._serialized_start=7190
204
+ _globals['_DROPUSERCONTEXTRESPONSE']._serialized_end=7215
205
+ _globals['_QUERYENGINESERVICE']._serialized_start=7331
206
+ _globals['_QUERYENGINESERVICE']._serialized_end=10024
207
+ # @@protoc_insertion_point(module_scope)