clickhouse-driver 0.2.6__cp38-cp38-musllinux_1_1_aarch64.whl → 0.2.7__cp38-cp38-musllinux_1_1_aarch64.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.

Potentially problematic release.


This version of clickhouse-driver might be problematic. Click here for more details.

@@ -3,7 +3,7 @@ from .client import Client
3
3
  from .dbapi import connect
4
4
 
5
5
 
6
- VERSION = (0, 2, 6)
6
+ VERSION = (0, 2, 7)
7
7
  __version__ = '.'.join(str(x) for x in VERSION)
8
8
 
9
9
  __all__ = ['Client', 'connect']
@@ -63,6 +63,11 @@ class Client(object):
63
63
  tuple set ``namedtuple_as_json`` to ``False``.
64
64
  Default: True.
65
65
  New in version *0.2.6*.
66
+ * ``server_side_params`` -- Species on which side query parameters
67
+ should be rendered into placeholders.
68
+ Default: False. Means that parameters are rendered
69
+ on driver's side.
70
+ New in version *0.2.7*.
66
71
  """
67
72
 
68
73
  available_client_settings = (
@@ -74,7 +79,8 @@ class Client(object):
74
79
  'opentelemetry_tracestate',
75
80
  'quota_key',
76
81
  'input_format_null_as_default',
77
- 'namedtuple_as_json'
82
+ 'namedtuple_as_json',
83
+ 'server_side_params'
78
84
  )
79
85
 
80
86
  def __init__(self, *args, **kwargs):
@@ -107,6 +113,9 @@ class Client(object):
107
113
  ),
108
114
  'namedtuple_as_json': self.settings.pop(
109
115
  'namedtuple_as_json', True
116
+ ),
117
+ 'server_side_params': self.settings.pop(
118
+ 'server_side_params', False
110
119
  )
111
120
  }
112
121
 
@@ -592,12 +601,12 @@ class Client(object):
592
601
  self.connection.send_query(query_without_data, query_id=query_id)
593
602
  self.connection.send_external_tables(external_tables,
594
603
  types_check=types_check)
595
-
596
604
  sample_block = self.receive_sample_block()
605
+
597
606
  if sample_block:
598
607
  rv = self.send_data(sample_block, data,
599
608
  types_check=types_check, columnar=columnar)
600
- self.receive_end_of_query()
609
+ self.receive_end_of_insert_query()
601
610
  return rv
602
611
 
603
612
  def receive_sample_block(self):
@@ -651,8 +660,15 @@ class Client(object):
651
660
  self.connection.send_data(block)
652
661
  inserted_rows += block.num_rows
653
662
 
663
+ # Starting from the specific revision there are profile events
664
+ # sent by server in response to each inserted block
665
+ self.receive_profile_events()
666
+
654
667
  # Empty block means end of data.
655
668
  self.connection.send_data(block_cls())
669
+ # If enabled by revision profile events are also sent after empty block
670
+ self.receive_profile_events()
671
+
656
672
  return inserted_rows
657
673
 
658
674
  def receive_end_of_query(self):
@@ -663,7 +679,7 @@ class Client(object):
663
679
  break
664
680
 
665
681
  elif packet.type == ServerPacketTypes.PROGRESS:
666
- continue
682
+ self.last_query.store_progress(packet.progress)
667
683
 
668
684
  elif packet.type == ServerPacketTypes.EXCEPTION:
669
685
  raise packet.exception
@@ -675,11 +691,64 @@ class Client(object):
675
691
  pass
676
692
 
677
693
  elif packet.type == ServerPacketTypes.PROFILE_EVENTS:
678
- pass
694
+ self.last_query.store_profile(packet.profile_info)
695
+
696
+ else:
697
+ message = self.connection.unexpected_packet_message(
698
+ 'Exception, EndOfStream, Progress, TableColumns, '
699
+ 'ProfileEvents or Log', packet.type
700
+ )
701
+ raise errors.UnexpectedPacketFromServerError(message)
702
+
703
+ def receive_end_of_insert_query(self):
704
+ while True:
705
+ packet = self.connection.receive_packet()
706
+
707
+ if packet.type == ServerPacketTypes.END_OF_STREAM:
708
+ break
709
+
710
+ elif packet.type == ServerPacketTypes.LOG:
711
+ log_block(packet.block)
712
+
713
+ elif packet.type == ServerPacketTypes.PROGRESS:
714
+ self.last_query.store_progress(packet.progress)
715
+
716
+ elif packet.type == ServerPacketTypes.EXCEPTION:
717
+ raise packet.exception
679
718
 
680
719
  else:
681
720
  message = self.connection.unexpected_packet_message(
682
- 'Exception, EndOfStream or Log', packet.type
721
+ 'EndOfStream, Log, Progress or Exception', packet.type
722
+ )
723
+ raise errors.UnexpectedPacketFromServerError(message)
724
+
725
+ def receive_profile_events(self):
726
+ revision = self.connection.server_info.used_revision
727
+ if (
728
+ revision <
729
+ defines.DBMS_MIN_PROTOCOL_VERSION_WITH_PROFILE_EVENTS_IN_INSERT
730
+ ):
731
+ return None
732
+
733
+ while True:
734
+ packet = self.connection.receive_packet()
735
+
736
+ if packet.type == ServerPacketTypes.PROFILE_EVENTS:
737
+ self.last_query.store_profile(packet.profile_info)
738
+ break
739
+
740
+ elif packet.type == ServerPacketTypes.PROGRESS:
741
+ self.last_query.store_progress(packet.progress)
742
+
743
+ elif packet.type == ServerPacketTypes.LOG:
744
+ log_block(packet.block)
745
+
746
+ elif packet.type == ServerPacketTypes.EXCEPTION:
747
+ raise packet.exception
748
+
749
+ else:
750
+ message = self.connection.unexpected_packet_message(
751
+ 'ProfileEvents, Progress, Log or Exception', packet.type
683
752
  )
684
753
  raise errors.UnexpectedPacketFromServerError(message)
685
754
 
@@ -706,6 +775,10 @@ class Client(object):
706
775
  # prints: SELECT 1234, 'bar'
707
776
  print(substituted_query)
708
777
  """
778
+ # In case of server side templating we don't substitute here.
779
+ if self.connection.context.client_settings['server_side_params']:
780
+ return query
781
+
709
782
  if not isinstance(params, dict):
710
783
  raise ValueError('Parameters are expected in dict form')
711
784
 
@@ -6,7 +6,7 @@ from .base import FormatColumn
6
6
  epoch_start = date(1970, 1, 1)
7
7
  epoch_end = date(2149, 6, 6)
8
8
 
9
- epoch_start_date32 = date(1925, 1, 1)
9
+ epoch_start_date32 = date(1900, 1, 1)
10
10
  epoch_end_date32 = date(2283, 11, 11)
11
11
 
12
12
 
@@ -34,7 +34,7 @@ class DateColumn(FormatColumn):
34
34
  items[i] = null_value
35
35
  continue
36
36
 
37
- if type(item) != date:
37
+ if item is not date:
38
38
  item = date(item.year, item.month, item.day)
39
39
 
40
40
  if min_value <= item <= max_value:
@@ -54,7 +54,7 @@ class UUIDColumn(FormatColumn):
54
54
 
55
55
  try:
56
56
  if not isinstance(item, UUID):
57
- item = UUID(item)
57
+ item = UUID(int=item) if item is null_value else UUID(item)
58
58
 
59
59
  except ValueError:
60
60
  raise errors.CannotParseUuidError(
@@ -20,7 +20,7 @@ from .log import log_block
20
20
  from .progress import Progress
21
21
  from .protocol import Compression, ClientPacketTypes, ServerPacketTypes
22
22
  from .queryprocessingstage import QueryProcessingStage
23
- from .reader import read_binary_str
23
+ from .reader import read_binary_str, read_binary_uint64
24
24
  from .readhelpers import read_exception
25
25
  from .settings.writer import write_settings, SettingsFlags
26
26
  from .streams.native import BlockInputStream, BlockOutputStream
@@ -303,6 +303,7 @@ class Connection(object):
303
303
 
304
304
  version = ssl_options.get('ssl_version', ssl.PROTOCOL_TLS)
305
305
  context = ssl.SSLContext(version)
306
+ context.check_hostname = self.verify_cert
306
307
 
307
308
  if 'ca_certs' in ssl_options:
308
309
  context.load_verify_locations(ssl_options['ca_certs'])
@@ -496,6 +497,17 @@ class Connection(object):
496
497
  defines.DBMS_MIN_REVISION_WITH_VERSION_PATCH:
497
498
  server_version_patch = read_varint(self.fin)
498
499
 
500
+ if used_revision >= defines. \
501
+ DBMS_MIN_PROTOCOL_VERSION_WITH_PASSWORD_COMPLEXITY_RULES:
502
+ rules_size = read_varint(self.fin)
503
+ for _i in range(rules_size):
504
+ read_binary_str(self.fin) # original_pattern
505
+ read_binary_str(self.fin) # exception_message
506
+
507
+ if used_revision >= defines. \
508
+ DBMS_MIN_REVISION_WITH_INTERSERVER_SECRET_V2:
509
+ read_binary_uint64(self.fin) # read_nonce
510
+
499
511
  self.server_info = ServerInfo(
500
512
  server_name, server_version_major, server_version_minor,
501
513
  server_version_patch, server_revision,
@@ -702,10 +714,13 @@ class Connection(object):
702
714
  write_binary_str(query, self.fout)
703
715
 
704
716
  if revision >= defines.DBMS_MIN_PROTOCOL_VERSION_WITH_PARAMETERS:
705
- # Always settings_as_strings = True
706
- escaped = escape_params(
707
- params or {}, self.context, for_server=True
708
- )
717
+ if self.context.client_settings['server_side_params']:
718
+ # Always settings_as_strings = True
719
+ escaped = escape_params(
720
+ params or {}, self.context, for_server=True
721
+ )
722
+ else:
723
+ escaped = {}
709
724
  write_settings(escaped, self.fout, True, SettingsFlags.CUSTOM)
710
725
 
711
726
  logger.debug('Query: %s', query)
@@ -26,9 +26,13 @@ DBMS_MIN_PROTOCOL_VERSION_WITH_INITIAL_QUERY_START_TIME = 54449
26
26
  DBMS_MIN_PROTOCOL_VERSION_WITH_INCREMENTAL_PROFILE_EVENTS = 54451
27
27
  DBMS_MIN_REVISION_WITH_PARALLEL_REPLICAS = 54453
28
28
  DBMS_MIN_REVISION_WITH_CUSTOM_SERIALIZATION = 54454
29
+ DBMS_MIN_PROTOCOL_VERSION_WITH_PROFILE_EVENTS_IN_INSERT = 54456
29
30
  DBMS_MIN_PROTOCOL_VERSION_WITH_ADDENDUM = 54458
30
31
  DBMS_MIN_PROTOCOL_VERSION_WITH_QUOTA_KEY = 54458
31
32
  DBMS_MIN_PROTOCOL_VERSION_WITH_PARAMETERS = 54459
33
+ DBMS_MIN_PROTOCOL_VERSION_WITH_SERVER_QUERY_TIME_IN_PROGRESS = 54460
34
+ DBMS_MIN_PROTOCOL_VERSION_WITH_PASSWORD_COMPLEXITY_RULES = 54461
35
+ DBMS_MIN_REVISION_WITH_INTERSERVER_SECRET_V2 = 54462
32
36
 
33
37
  # Timeouts
34
38
  DBMS_DEFAULT_CONNECT_TIMEOUT_SEC = 10
@@ -44,7 +48,7 @@ CLIENT_NAME = 'python-driver'
44
48
  CLIENT_VERSION_MAJOR = 20
45
49
  CLIENT_VERSION_MINOR = 10
46
50
  CLIENT_VERSION_PATCH = 2
47
- CLIENT_REVISION = DBMS_MIN_PROTOCOL_VERSION_WITH_PARAMETERS
51
+ CLIENT_REVISION = DBMS_MIN_REVISION_WITH_INTERSERVER_SECRET_V2
48
52
 
49
53
  BUFFER_SIZE = 1048576
50
54
 
clickhouse_driver/log.py CHANGED
@@ -2,7 +2,8 @@ import logging
2
2
 
3
3
  logger = logging.getLogger(__name__)
4
4
 
5
-
5
+ # Keep in sync with ClickHouse priorities
6
+ # https://github.com/ClickHouse/ClickHouse/blob/master/src/Interpreters/InternalTextLogsQueue.cpp
6
7
  log_priorities = (
7
8
  'Unknown',
8
9
  'Fatal',
@@ -12,9 +13,12 @@ log_priorities = (
12
13
  'Notice',
13
14
  'Information',
14
15
  'Debug',
15
- 'Trace'
16
+ 'Trace',
17
+ 'Test',
16
18
  )
17
19
 
20
+ num_priorities = len(log_priorities)
21
+
18
22
 
19
23
  def log_block(block):
20
24
  if block is None:
@@ -25,7 +29,7 @@ def log_block(block):
25
29
  for row in block.get_rows():
26
30
  row = dict(zip(column_names, row))
27
31
 
28
- if 1 <= row['priority'] <= 8:
32
+ if 1 <= row['priority'] <= num_priorities:
29
33
  priority = log_priorities[row['priority']]
30
34
  else:
31
35
  priority = row[0]
@@ -9,6 +9,7 @@ class Progress(object):
9
9
  self.total_rows = 0
10
10
  self.written_rows = 0
11
11
  self.written_bytes = 0
12
+ self.elapsed_ns = 0
12
13
 
13
14
  super(Progress, self).__init__()
14
15
 
@@ -24,9 +25,14 @@ class Progress(object):
24
25
  self.written_rows = read_varint(fin)
25
26
  self.written_bytes = read_varint(fin)
26
27
 
28
+ if revision >= defines. \
29
+ DBMS_MIN_PROTOCOL_VERSION_WITH_SERVER_QUERY_TIME_IN_PROGRESS:
30
+ self.elapsed_ns = read_varint(fin)
31
+
27
32
  def increment(self, another_progress):
28
33
  self.rows += another_progress.rows
29
34
  self.bytes += another_progress.bytes
30
35
  self.total_rows += another_progress.total_rows
31
36
  self.written_rows += another_progress.written_rows
32
37
  self.written_bytes += another_progress.written_bytes
38
+ self.elapsed_ns += another_progress.elapsed_ns
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: clickhouse-driver
3
- Version: 0.2.6
3
+ Version: 0.2.7
4
4
  Summary: Python driver with native interface for ClickHouse
5
5
  Home-page: https://github.com/mymarilyn/clickhouse-driver
6
6
  Author: Konstantin Lebedev
@@ -34,15 +34,15 @@ License-File: LICENSE
34
34
  Requires-Dist: pytz
35
35
  Requires-Dist: tzlocal
36
36
  Provides-Extra: lz4
37
- Requires-Dist: clickhouse-cityhash (>=1.0.2.1) ; extra == 'lz4'
37
+ Requires-Dist: clickhouse-cityhash >=1.0.2.1 ; extra == 'lz4'
38
38
  Requires-Dist: lz4 ; (implementation_name != "pypy") and extra == 'lz4'
39
- Requires-Dist: lz4 (<=3.0.1) ; (implementation_name == "pypy") and extra == 'lz4'
39
+ Requires-Dist: lz4 <=3.0.1 ; (implementation_name == "pypy") and extra == 'lz4'
40
40
  Provides-Extra: numpy
41
- Requires-Dist: numpy (>=1.12.0) ; extra == 'numpy'
42
- Requires-Dist: pandas (>=0.24.0) ; extra == 'numpy'
41
+ Requires-Dist: numpy >=1.12.0 ; extra == 'numpy'
42
+ Requires-Dist: pandas >=0.24.0 ; extra == 'numpy'
43
43
  Provides-Extra: zstd
44
44
  Requires-Dist: zstd ; extra == 'zstd'
45
- Requires-Dist: clickhouse-cityhash (>=1.0.2.1) ; extra == 'zstd'
45
+ Requires-Dist: clickhouse-cityhash >=1.0.2.1 ; extra == 'zstd'
46
46
 
47
47
  ClickHouse Python Driver
48
48
  ========================
@@ -1,89 +1,89 @@
1
- clickhouse_driver-0.2.6.dist-info/METADATA,sha256=zbQaiQr4hkzP8Zhce0EIpgAEfKgD7YuYQvtdrerVFvk,6099
2
- clickhouse_driver-0.2.6.dist-info/top_level.txt,sha256=PrE0Lrs4d-gRQwzABaABfym9Qvr4nN6uTrDy6Q7zQME,18
3
- clickhouse_driver-0.2.6.dist-info/RECORD,,
4
- clickhouse_driver-0.2.6.dist-info/WHEEL,sha256=EtMFMeHgUTh2wFmjx-p0-GnOTvsuG3KS_1jFfKDiMG8,112
5
- clickhouse_driver-0.2.6.dist-info/LICENSE,sha256=b2SjNa4zGQk6XzJwmeE1dQjjtWRvX_zxJIAl_ZbN_S8,1143
1
+ clickhouse_driver/queryprocessingstage.py,sha256=lbV-bB5jWUp0hqYBTsUcRYkJhCgCTfN2G21AykMoAp0,186
2
+ clickhouse_driver/progress.py,sha256=MagDPiLzWG-2Arecu5O6JlK98242ayt9yPa9H7v9o5k,1288
3
+ clickhouse_driver/reader.py,sha256=PWKOKwjszu0sJbG-dd_TyGn8tQAzxg2gCJVbz27G3-8,1322
4
+ clickhouse_driver/readhelpers.py,sha256=tXOmSL9GSeHLdKE2yBlk0epfy-hGJ3bTOLq3Q6sXIkw,717
6
5
  clickhouse_driver/opentelemetry.py,sha256=GIzHCxdB8LB1ozXtUjIpxsdznmRABAts64G2u2l4C_A,1622
7
- clickhouse_driver/bufferedwriter.cpython-38-aarch64-linux-gnu.so,sha256=-f9bZE1HUz_sVYmmZeeCpgIlKMY7vp4pbPjDJXKh-bU,958240
8
- clickhouse_driver/connection.py,sha256=DTw_NofAVNS5spk5E0G-BkX-0H4gp3LZEJ59nmW8WZc,27679
6
+ clickhouse_driver/defines.py,sha256=hXIR10BvH_sxUN35pk-f-VeIbM7CA0Ll2B2yNuAy10A,1958
7
+ clickhouse_driver/errors.py,sha256=mffBg-Y2LFOSRzvE9V34RwFcvmfh67yqLeEBhrdjeXE,14343
8
+ clickhouse_driver/log.py,sha256=P9VS_YDY3a4JQsNOeUNNK0L1AAallTC1GF4FG5gCrac,1091
9
9
  clickhouse_driver/blockstreamprofileinfo.py,sha256=nYx9QXWAS8aPiRbtAzwLRT5JIlJ8S103JMkudncwpFg,712
10
- clickhouse_driver/bufferedreader.cpython-38-aarch64-linux-gnu.so,sha256=67Zsk72kjVQmlF6kDQtyUH2YDpLIaJRb6yZtbg-9zUc,969536
11
- clickhouse_driver/varint.cpython-38-aarch64-linux-gnu.so,sha256=YZMEatACr6g4LBJX3J0L1b0WyGQ1bqK8Sq-8yllM0Jk,204232
12
10
  clickhouse_driver/protocol.py,sha256=ZRJuawN_v8wXFrHrcpSiBqu7idKsPd3tQnCcDuTlIw8,2561
11
+ clickhouse_driver/varint.cpython-38-aarch64-linux-gnu.so,sha256=fVbwl_vMeF4KKYo_PJMYY4XZ7NYhaJvWa10-3PYkBHw,331184
12
+ clickhouse_driver/bufferedreader.cpython-38-aarch64-linux-gnu.so,sha256=XEDAmmLj8oe9jSY-eitYL6EUy2wa7ussF_oaNQ_Ek6M,1102888
13
+ clickhouse_driver/result.py,sha256=RpjBUvRQJ70xISye7u6gxgQBJwc2UkNuusLkaZF7SmM,4098
14
+ clickhouse_driver/__init__.py,sha256=Zc8GO1dmRR77BGXAzQx9tuX5pBumMtqQzQ4SH3xmBfU,158
15
+ clickhouse_driver/writer.py,sha256=yf5f1vTr56YFtL-Swpi_jBsPw5bQS56j53joB0Acdyk,1286
13
16
  clickhouse_driver/context.py,sha256=yPkJ_BN4LGODvKCOjNlDGqABwxAMQTQl7w1vIGRPBDg,909
14
- clickhouse_driver/log.py,sha256=VLeOYXn5DW2hJ53m2w5bPsMrWG5cWnq5whE4e6euK_M,888
15
- clickhouse_driver/queryprocessingstage.py,sha256=lbV-bB5jWUp0hqYBTsUcRYkJhCgCTfN2G21AykMoAp0,186
16
- clickhouse_driver/errors.py,sha256=mffBg-Y2LFOSRzvE9V34RwFcvmfh67yqLeEBhrdjeXE,14343
17
17
  clickhouse_driver/block.py,sha256=t2zZhtCzwp4aJj0CuDqXlDEgHXgwc6GRsIks2aaIZvI,6311
18
- clickhouse_driver/readhelpers.py,sha256=tXOmSL9GSeHLdKE2yBlk0epfy-hGJ3bTOLq3Q6sXIkw,717
19
- clickhouse_driver/defines.py,sha256=jM3nFdT4EPUIIj1add1BOu7T9DJv_-UOzfdbX6k3uEk,1704
20
- clickhouse_driver/__init__.py,sha256=QRMXgeBnkcW_DpTqqIh29_xG072_EPoTyLy-1ik1MP0,158
18
+ clickhouse_driver/bufferedwriter.cpython-38-aarch64-linux-gnu.so,sha256=nn_oUvNDKBFpDWwPsUJUaLxLDHmAa3HKrP2GtucMR6g,1110416
21
19
  clickhouse_driver/clientinfo.py,sha256=Tw3NbuDHglT6_f0AcT0IdhqW_hVePtzh9pypx5nk5ZE,4260
22
- clickhouse_driver/writer.py,sha256=yf5f1vTr56YFtL-Swpi_jBsPw5bQS56j53joB0Acdyk,1286
23
- clickhouse_driver/progress.py,sha256=aQUPzOg0S1kRthV1aYo-KsTmlcdM0uXVZDLDtoyKSUY,1045
24
- clickhouse_driver/client.py,sha256=c0IyAj5wxiHZgJLbFXvZm6ym5DIg1UXgPIsM2xuR3Mo,31798
25
- clickhouse_driver/reader.py,sha256=PWKOKwjszu0sJbG-dd_TyGn8tQAzxg2gCJVbz27G3-8,1322
26
- clickhouse_driver/result.py,sha256=RpjBUvRQJ70xISye7u6gxgQBJwc2UkNuusLkaZF7SmM,4098
27
- clickhouse_driver/columns/simpleaggregatefunctioncolumn.py,sha256=zDWBd_Hc7AktHFZ5JY7SwxIk7G4WBHdJdcPBqihe7q0,235
28
- clickhouse_driver/columns/uuidcolumn.py,sha256=d-dR_CIgtQd-CzCO90HJoeR86j7ejVchOnAKu73rVoQ,1823
29
- clickhouse_driver/columns/nullcolumn.py,sha256=a8Il310y69JQr-NobcK9WhMAkXlogMvDmJbcueuOozs,331
30
- clickhouse_driver/columns/base.py,sha256=jRThD8Ol7gwNy3x0M7vvslkm0RDOsCLJqKGf0arsa0w,6504
31
- clickhouse_driver/columns/boolcolumn.py,sha256=QgVCqbZWoFD1yvpppc92iiXIzReCVEh692efNSNH4UE,127
32
- clickhouse_driver/columns/datecolumn.py,sha256=Xg6qHb7Lj5twtMa0jL74qoffgYMt2gK_AY9mycRxBqQ,1931
20
+ clickhouse_driver/client.py,sha256=Zk_gnfqOSz1_3uaTsBLtOHNGX0rsiklJUPpk-1aqnXQ,34707
21
+ clickhouse_driver/connection.py,sha256=Lzx6bjPDEZleEtFaede4_BcRmALIbJyQLymSmj7zAHY,28399
22
+ clickhouse_driver/streams/compressed.py,sha256=eyFCuq_sLX6oJLQ_h1QX3IB9IgUx56pPqPfhmeiA6ag,2865
23
+ clickhouse_driver/streams/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
+ clickhouse_driver/streams/native.py,sha256=2qAs5deUU4NwLG3zQAyxNwGsKmJO41-qlTRKGRFSAJA,3316
25
+ clickhouse_driver/compression/lz4hc.py,sha256=zGbj9vnM20W298kgzD0dIAgIeV30e5Kx8NSN8t4SDas,195
26
+ clickhouse_driver/compression/zstd.py,sha256=yzI1UwKkAudCzvHcznSIRlbAYeGeR3k6xux4hReCnBc,531
27
+ clickhouse_driver/compression/lz4.py,sha256=ZTf1zn0uG26O29XHBBZeve26JLPNbbEWWMZe065oa0Y,631
28
+ clickhouse_driver/compression/base.py,sha256=MCTK2aOGT3Lkso5r3-U-ilj2ln4r-nnfNI_2Ostsu6Q,2434
29
+ clickhouse_driver/compression/__init__.py,sha256=_XcKSkvWWPvEX4jeefYX1Alee58w6ktFOXrsIFRko_0,714
30
+ clickhouse_driver/dbapi/errors.py,sha256=yv2SDIK-ZlWmIxBoF5_igfHRyh9zTUJSgAj9g8S4cXo,440
31
+ clickhouse_driver/dbapi/cursor.py,sha256=MOtVhXVkDYxXTAM_AeesKxrcsR64Rt2tRYVmsWLM_tQ,10517
32
+ clickhouse_driver/dbapi/__init__.py,sha256=Ouv2PV7d6nlY7yBYu71rOfy_JBM7POoG-wPH8kGu0q0,1759
33
+ clickhouse_driver/dbapi/connection.py,sha256=VZ27YhRnr4VhKxiFbLFhdeQ-0Nb0IRyZRZ0f0_wrkPU,3032
34
+ clickhouse_driver/dbapi/extras.py,sha256=je1tjk6gb-QqLMoWu_iXCqhJK159vyyHsCB_8vXkXyw,2129
35
+ clickhouse_driver/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
36
+ clickhouse_driver/settings/writer.py,sha256=x0FVdbKZR9lN-hXAT2xxkoqvGo1ojvWWwyP3NaI7ZDA,1099
37
+ clickhouse_driver/settings/types.py,sha256=u_A3FzREqIjj4OSEdKUwm1Xn8jEnGpp-9AvqbcE2G8s,1108
38
+ clickhouse_driver/settings/available.py,sha256=8b1YUjt-_6gO9Cio02VZSMPdhM70zk-NMhE4f_jwFx8,16613
39
+ clickhouse_driver/numpy/helpers.py,sha256=jKiZ3GOp1G5Q2Y-6S_YG9t9RtdSLa-AH1grz71OWyS0,704
40
+ clickhouse_driver/numpy/result.py,sha256=D-7IsaIt0u4WJ8iSzXYBB0OiPgPu5ptu-1HiJvTW-No,3563
41
+ clickhouse_driver/numpy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
+ clickhouse_driver/numpy/block.py,sha256=k8CqQxaVSviZvicS03exPZG_LFwbzB5-NnLB2EuBKgQ,180
33
43
  clickhouse_driver/columns/exceptions.py,sha256=vrZMZ9ORRP7RSSd34azM_xFaeMaaYbwy6h6ZCeFNbIg,163
34
- clickhouse_driver/columns/stringcolumn.py,sha256=C-l7HaReg9AcJGQvgpSH07aV-CZMBP1jKArPHZi8Q2k,2059
35
- clickhouse_driver/columns/service.py,sha256=6nIGwvcG-5LErQFn_3a2GRKZI2OnKYsy2oIIMhxJqlc,6181
44
+ clickhouse_driver/columns/nestedcolumn.py,sha256=7x3xNYR22kEmgV4_3rPVZea2zCTU364O1tlOewMgw3M,303
45
+ clickhouse_driver/columns/arraycolumn.py,sha256=UiA48jw3o4-ert8BnzEbl2h1jVmtDH3jtcP1BTPru2w,5322
46
+ clickhouse_driver/columns/uuidcolumn.py,sha256=7CLPxsHJtV6Zt9jxILSkE0LAwffloLmrjjbwCZH34mA,1865
47
+ clickhouse_driver/columns/util.py,sha256=5DRGBsWSTldqZRZJ53J85zh_jepkwkAsYXhAeDJQW4I,1395
48
+ clickhouse_driver/columns/nullablecolumn.py,sha256=HF4AyX2UIb6qGqe4aY_Tdcjf1ddisPO2QYte3PCIaRU,169
49
+ clickhouse_driver/columns/boolcolumn.py,sha256=QgVCqbZWoFD1yvpppc92iiXIzReCVEh692efNSNH4UE,127
50
+ clickhouse_driver/columns/simpleaggregatefunctioncolumn.py,sha256=zDWBd_Hc7AktHFZ5JY7SwxIk7G4WBHdJdcPBqihe7q0,235
51
+ clickhouse_driver/columns/nothingcolumn.py,sha256=O1a1K17tPw5DYH49gBQq9urrmm0plDJ34YD2s2y6dhg,259
52
+ clickhouse_driver/columns/lowcardinalitycolumn.py,sha256=vMlhYYUPNmFhQiUAS77pE25KjI8TrO6ySz6w0ByBdZQ,4920
53
+ clickhouse_driver/columns/mapcolumn.py,sha256=tKr9R0JvW1_7ExKs7XfRhHI6Z6UgBW76A0jaCMM_TLk,2084
54
+ clickhouse_driver/columns/jsoncolumn.py,sha256=SeCLSrmRoEg9wlvoehs7-EmrV8XkOL3lknzeOORhbJg,1175
36
55
  clickhouse_driver/columns/enumcolumn.py,sha256=GCSW-fjtJC4_5YKo9oKtG8GT9UhLcRWCjrBVhEAUp-A,3219
37
56
  clickhouse_driver/columns/intcolumn.py,sha256=ntpxyMiu44VQYJ0HyHlglwxMgUtnIgf3JE9LUD9Xwwc,3519
38
- clickhouse_driver/columns/nullablecolumn.py,sha256=HF4AyX2UIb6qGqe4aY_Tdcjf1ddisPO2QYte3PCIaRU,169
57
+ clickhouse_driver/columns/datecolumn.py,sha256=FzgS5ayxW6zfyM5qD1NXXiR4PTKz0tXEC48TwtQvbyI,1929
58
+ clickhouse_driver/columns/intervalcolumn.py,sha256=oQeybb4qrcp07LeVYfqgeZuHYGH5RaY7KnWVoIsDe1I,600
39
59
  clickhouse_driver/columns/datetimecolumn.py,sha256=pO8g1exACp6EfUO0prra5X3T_gg1MJ8bSoi5Rt2Vxjg,6691
40
- clickhouse_driver/columns/largeint.cpython-38-aarch64-linux-gnu.so,sha256=jPu0fsLG69EFXr1kUcawVqcCT1QLFpyGlNiaRYzWjKc,573928
41
60
  clickhouse_driver/columns/floatcolumn.py,sha256=Mci7Fl05dgkpDQRfjGaDP9QraZER5nkYX1lVsTA89Yk,925
42
- clickhouse_driver/columns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
61
  clickhouse_driver/columns/tuplecolumn.py,sha256=DnwtEwVXzm-YyL5-cPe9MiOLOoTEcDhcYeBY6SuuZZQ,2040
44
- clickhouse_driver/columns/mapcolumn.py,sha256=tKr9R0JvW1_7ExKs7XfRhHI6Z6UgBW76A0jaCMM_TLk,2084
45
- clickhouse_driver/columns/arraycolumn.py,sha256=UiA48jw3o4-ert8BnzEbl2h1jVmtDH3jtcP1BTPru2w,5322
46
- clickhouse_driver/columns/decimalcolumn.py,sha256=MBczjN6AtI0jgbVTNguwVE7ZdWql0XuMl-QohxV-sN0,3450
47
- clickhouse_driver/columns/jsoncolumn.py,sha256=SeCLSrmRoEg9wlvoehs7-EmrV8XkOL3lknzeOORhbJg,1175
62
+ clickhouse_driver/columns/nullcolumn.py,sha256=a8Il310y69JQr-NobcK9WhMAkXlogMvDmJbcueuOozs,331
48
63
  clickhouse_driver/columns/ipcolumn.py,sha256=LIt-NiUy70-8u5Amu0v0tlAlrolZ8gXzlFxcJYmjRAk,4095
49
- clickhouse_driver/columns/lowcardinalitycolumn.py,sha256=vMlhYYUPNmFhQiUAS77pE25KjI8TrO6ySz6w0ByBdZQ,4920
50
- clickhouse_driver/columns/nothingcolumn.py,sha256=O1a1K17tPw5DYH49gBQq9urrmm0plDJ34YD2s2y6dhg,259
51
- clickhouse_driver/columns/intervalcolumn.py,sha256=oQeybb4qrcp07LeVYfqgeZuHYGH5RaY7KnWVoIsDe1I,600
52
- clickhouse_driver/columns/util.py,sha256=5DRGBsWSTldqZRZJ53J85zh_jepkwkAsYXhAeDJQW4I,1395
53
- clickhouse_driver/columns/nestedcolumn.py,sha256=7x3xNYR22kEmgV4_3rPVZea2zCTU364O1tlOewMgw3M,303
54
- clickhouse_driver/columns/numpy/base.py,sha256=Wk1ADpoQGWQv5X8sWi0esA2jmQGEoDakXZxImuYM2eM,1410
64
+ clickhouse_driver/columns/base.py,sha256=jRThD8Ol7gwNy3x0M7vvslkm0RDOsCLJqKGf0arsa0w,6504
65
+ clickhouse_driver/columns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
+ clickhouse_driver/columns/stringcolumn.py,sha256=C-l7HaReg9AcJGQvgpSH07aV-CZMBP1jKArPHZi8Q2k,2059
67
+ clickhouse_driver/columns/service.py,sha256=6nIGwvcG-5LErQFn_3a2GRKZI2OnKYsy2oIIMhxJqlc,6181
68
+ clickhouse_driver/columns/decimalcolumn.py,sha256=MBczjN6AtI0jgbVTNguwVE7ZdWql0XuMl-QohxV-sN0,3450
69
+ clickhouse_driver/columns/largeint.cpython-38-aarch64-linux-gnu.so,sha256=BSdsBRm3dQhJynaDA5IORb5K0xauNU-ldBNHhD3deFk,846944
55
70
  clickhouse_driver/columns/numpy/boolcolumn.py,sha256=0_RwEroY2-ZqMuxKeTNG27ZCWN_y9BxYZzbuFKeqoQg,140
56
- clickhouse_driver/columns/numpy/datecolumn.py,sha256=xWFsFwiRmszK9A20UWnF4beTE5f8XQDj18x53xtXtSI,482
57
- clickhouse_driver/columns/numpy/stringcolumn.py,sha256=FH87XPQv3ga0ZJnngubqu4DgxmUt8bjW8xJcNfOU7EI,2439
58
- clickhouse_driver/columns/numpy/service.py,sha256=ENk26HPfxtbumcO_b2fGTNJdTgaJT0a-l3q_xrRIZZ4,2126
71
+ clickhouse_driver/columns/numpy/lowcardinalitycolumn.py,sha256=ExYtwBBn6WfSQtWC0f79ZqjdqO3ZJ3IL6KtlQOgMh-k,3368
59
72
  clickhouse_driver/columns/numpy/intcolumn.py,sha256=ZzmjvjpEaZ_kk-mGEPdBAqUCjqCgGT8tUEzbQKwUVVA,792
73
+ clickhouse_driver/columns/numpy/datecolumn.py,sha256=xWFsFwiRmszK9A20UWnF4beTE5f8XQDj18x53xtXtSI,482
60
74
  clickhouse_driver/columns/numpy/datetimecolumn.py,sha256=XQ3JsxVdAvWJndNek4-i07JO2QJIdUnJQWzOxvF3PMc,4777
61
75
  clickhouse_driver/columns/numpy/floatcolumn.py,sha256=WnnlyR3vabh6ixllXwdyQ_t8y5MSqCddImWityxz6pE,599
62
- clickhouse_driver/columns/numpy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
76
  clickhouse_driver/columns/numpy/tuplecolumn.py,sha256=5RqhCIZ-CrWy_D0yyfTmlWBJgrunT5Yk-bM4OvIKZ1o,1233
64
- clickhouse_driver/columns/numpy/lowcardinalitycolumn.py,sha256=ExYtwBBn6WfSQtWC0f79ZqjdqO3ZJ3IL6KtlQOgMh-k,3368
65
- clickhouse_driver/dbapi/connection.py,sha256=VZ27YhRnr4VhKxiFbLFhdeQ-0Nb0IRyZRZ0f0_wrkPU,3032
66
- clickhouse_driver/dbapi/cursor.py,sha256=MOtVhXVkDYxXTAM_AeesKxrcsR64Rt2tRYVmsWLM_tQ,10517
67
- clickhouse_driver/dbapi/errors.py,sha256=yv2SDIK-ZlWmIxBoF5_igfHRyh9zTUJSgAj9g8S4cXo,440
68
- clickhouse_driver/dbapi/extras.py,sha256=je1tjk6gb-QqLMoWu_iXCqhJK159vyyHsCB_8vXkXyw,2129
69
- clickhouse_driver/dbapi/__init__.py,sha256=Ouv2PV7d6nlY7yBYu71rOfy_JBM7POoG-wPH8kGu0q0,1759
70
- clickhouse_driver/compression/base.py,sha256=MCTK2aOGT3Lkso5r3-U-ilj2ln4r-nnfNI_2Ostsu6Q,2434
71
- clickhouse_driver/compression/zstd.py,sha256=yzI1UwKkAudCzvHcznSIRlbAYeGeR3k6xux4hReCnBc,531
72
- clickhouse_driver/compression/__init__.py,sha256=_XcKSkvWWPvEX4jeefYX1Alee58w6ktFOXrsIFRko_0,714
73
- clickhouse_driver/compression/lz4.py,sha256=ZTf1zn0uG26O29XHBBZeve26JLPNbbEWWMZe065oa0Y,631
74
- clickhouse_driver/compression/lz4hc.py,sha256=zGbj9vnM20W298kgzD0dIAgIeV30e5Kx8NSN8t4SDas,195
75
- clickhouse_driver/util/helpers.py,sha256=1oLkkkILXZnEbdjAe2Ags-Y-T-Bq9rk94W6edh-1ZLU,1448
77
+ clickhouse_driver/columns/numpy/base.py,sha256=Wk1ADpoQGWQv5X8sWi0esA2jmQGEoDakXZxImuYM2eM,1410
78
+ clickhouse_driver/columns/numpy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
+ clickhouse_driver/columns/numpy/stringcolumn.py,sha256=FH87XPQv3ga0ZJnngubqu4DgxmUt8bjW8xJcNfOU7EI,2439
80
+ clickhouse_driver/columns/numpy/service.py,sha256=ENk26HPfxtbumcO_b2fGTNJdTgaJT0a-l3q_xrRIZZ4,2126
76
81
  clickhouse_driver/util/compat.py,sha256=wIB_6ULSapKx-Fi64lZ0YJ-TtWOQXePHE90wZopIM1I,876
82
+ clickhouse_driver/util/helpers.py,sha256=1oLkkkILXZnEbdjAe2Ags-Y-T-Bq9rk94W6edh-1ZLU,1448
77
83
  clickhouse_driver/util/escape.py,sha256=4RPfNzC5IvatoZB9llmJM4436XArCXQDEqT_cqdwCBk,2256
78
84
  clickhouse_driver/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
- clickhouse_driver/streams/compressed.py,sha256=eyFCuq_sLX6oJLQ_h1QX3IB9IgUx56pPqPfhmeiA6ag,2865
80
- clickhouse_driver/streams/native.py,sha256=2qAs5deUU4NwLG3zQAyxNwGsKmJO41-qlTRKGRFSAJA,3316
81
- clickhouse_driver/streams/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
82
- clickhouse_driver/numpy/helpers.py,sha256=jKiZ3GOp1G5Q2Y-6S_YG9t9RtdSLa-AH1grz71OWyS0,704
83
- clickhouse_driver/numpy/block.py,sha256=k8CqQxaVSviZvicS03exPZG_LFwbzB5-NnLB2EuBKgQ,180
84
- clickhouse_driver/numpy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
85
- clickhouse_driver/numpy/result.py,sha256=D-7IsaIt0u4WJ8iSzXYBB0OiPgPu5ptu-1HiJvTW-No,3563
86
- clickhouse_driver/settings/types.py,sha256=u_A3FzREqIjj4OSEdKUwm1Xn8jEnGpp-9AvqbcE2G8s,1108
87
- clickhouse_driver/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
88
- clickhouse_driver/settings/writer.py,sha256=x0FVdbKZR9lN-hXAT2xxkoqvGo1ojvWWwyP3NaI7ZDA,1099
89
- clickhouse_driver/settings/available.py,sha256=8b1YUjt-_6gO9Cio02VZSMPdhM70zk-NMhE4f_jwFx8,16613
85
+ clickhouse_driver-0.2.7.dist-info/METADATA,sha256=aQbor1BmjoDfoRvIPRh1m4XHe2Go7rRm2L-zCGde_lM,6089
86
+ clickhouse_driver-0.2.7.dist-info/top_level.txt,sha256=PrE0Lrs4d-gRQwzABaABfym9Qvr4nN6uTrDy6Q7zQME,18
87
+ clickhouse_driver-0.2.7.dist-info/WHEEL,sha256=nWLwNA-YOEZwosu3xeW1Lk08syDj4TIEkHQ1rhyDHkk,112
88
+ clickhouse_driver-0.2.7.dist-info/RECORD,,
89
+ clickhouse_driver-0.2.7.dist-info/LICENSE,sha256=b2SjNa4zGQk6XzJwmeE1dQjjtWRvX_zxJIAl_ZbN_S8,1143
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.37.1)
2
+ Generator: bdist_wheel (0.41.2)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp38-cp38-musllinux_1_1_aarch64
5
5