e6data-python-connector 2.1.14.dev1__py3-none-any.whl → 2.1.16__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -204,7 +204,7 @@ def read_rows_from_chunk(query_columns_description: list, buffer):
204
204
  def get_column_from_chunk(vector: Vector) -> list:
205
205
  value_array = list()
206
206
  d_type = vector.vectorType
207
- zone = vector.zoneOffset
207
+ zone = 'UTC'
208
208
  try:
209
209
  if d_type == VectorType.LONG:
210
210
  for row in range(vector.size):
@@ -221,7 +221,7 @@ def get_column_from_chunk(vector: Vector) -> list:
221
221
  epoch_seconds = floor_div(vector.data.dateData.data[
222
222
  row] if not vector.isConstantVector else vector.data.dateConstantData.data,
223
223
  1000_000)
224
- zone_offset = pytz.timezone('UTC') if zone == 'Z' else pytz.timezone(zone)
224
+ zone_offset = pytz.timezone(zone)
225
225
  date = datetime.fromtimestamp(epoch_seconds, zone_offset)
226
226
  value_array.append(date.strftime("%Y-%m-%d"))
227
227
  elif d_type == VectorType.DATETIME:
@@ -231,9 +231,10 @@ def get_column_from_chunk(vector: Vector) -> list:
231
231
  continue
232
232
  epoch_micros = vector.data.timeData.data[
233
233
  row] if not vector.isConstantVector else vector.data.timeConstantData.data
234
+ zone = vector.data.timeData.zoneData[row] if not vector.isConstantVector else vector.data.timeConstantData.zoneData
234
235
  epoch_seconds = floor_div(epoch_micros, 1000_000)
235
236
  micros_of_the_day = floor_mod(epoch_micros, 1000_000)
236
- zone_offset = pytz.timezone('UTC') if zone == 'Z' else pytz.timezone(zone)
237
+ zone_offset = pytz.timezone(zone)
237
238
  date_time = datetime.fromtimestamp(epoch_seconds, zone_offset)
238
239
  date_time = date_time + timedelta(microseconds=micros_of_the_day)
239
240
  value_array.append(date_time.strftime("%Y-%m-%d %H:%M:%S"))
@@ -416,6 +416,10 @@ class Cursor(DBAPICursor):
416
416
  def close(self):
417
417
  """Close the operation handle"""
418
418
  # self.connection.close()
419
+ try:
420
+ self.clear()
421
+ except:
422
+ pass
419
423
  self._arraysize = None
420
424
  self.connection = None
421
425
  self._data = None
@@ -1 +1 @@
1
- __all__ = ['ttypes', 'constants']
1
+ __all__ = ['ttypes', 'constants']
@@ -1238,12 +1238,14 @@ class TimeConstantData(object):
1238
1238
  """
1239
1239
  Attributes:
1240
1240
  - data
1241
+ - zoneData
1241
1242
 
1242
1243
  """
1243
1244
 
1244
1245
 
1245
- def __init__(self, data=None,):
1246
+ def __init__(self, data=None, zoneData=None,):
1246
1247
  self.data = data
1248
+ self.zoneData = zoneData
1247
1249
 
1248
1250
  def read(self, iprot):
1249
1251
  if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
@@ -1259,6 +1261,11 @@ class TimeConstantData(object):
1259
1261
  self.data = iprot.readI64()
1260
1262
  else:
1261
1263
  iprot.skip(ftype)
1264
+ elif fid == 2:
1265
+ if ftype == TType.STRING:
1266
+ self.zoneData = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
1267
+ else:
1268
+ iprot.skip(ftype)
1262
1269
  else:
1263
1270
  iprot.skip(ftype)
1264
1271
  iprot.readFieldEnd()
@@ -1273,6 +1280,10 @@ class TimeConstantData(object):
1273
1280
  oprot.writeFieldBegin('data', TType.I64, 1)
1274
1281
  oprot.writeI64(self.data)
1275
1282
  oprot.writeFieldEnd()
1283
+ if self.zoneData is not None:
1284
+ oprot.writeFieldBegin('zoneData', TType.STRING, 2)
1285
+ oprot.writeString(self.zoneData.encode('utf-8') if sys.version_info[0] == 2 else self.zoneData)
1286
+ oprot.writeFieldEnd()
1276
1287
  oprot.writeFieldStop()
1277
1288
  oprot.writeStructEnd()
1278
1289
 
@@ -1352,12 +1363,14 @@ class TimeData(object):
1352
1363
  """
1353
1364
  Attributes:
1354
1365
  - data
1366
+ - zoneData
1355
1367
 
1356
1368
  """
1357
1369
 
1358
1370
 
1359
- def __init__(self, data=None,):
1371
+ def __init__(self, data=None, zoneData=None,):
1360
1372
  self.data = data
1373
+ self.zoneData = zoneData
1361
1374
 
1362
1375
  def read(self, iprot):
1363
1376
  if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
@@ -1378,6 +1391,16 @@ class TimeData(object):
1378
1391
  iprot.readListEnd()
1379
1392
  else:
1380
1393
  iprot.skip(ftype)
1394
+ elif fid == 2:
1395
+ if ftype == TType.LIST:
1396
+ self.zoneData = []
1397
+ (_etype65, _size62) = iprot.readListBegin()
1398
+ for _i66 in range(_size62):
1399
+ _elem67 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
1400
+ self.zoneData.append(_elem67)
1401
+ iprot.readListEnd()
1402
+ else:
1403
+ iprot.skip(ftype)
1381
1404
  else:
1382
1405
  iprot.skip(ftype)
1383
1406
  iprot.readFieldEnd()
@@ -1391,8 +1414,15 @@ class TimeData(object):
1391
1414
  if self.data is not None:
1392
1415
  oprot.writeFieldBegin('data', TType.LIST, 1)
1393
1416
  oprot.writeListBegin(TType.I64, len(self.data))
1394
- for iter62 in self.data:
1395
- oprot.writeI64(iter62)
1417
+ for iter68 in self.data:
1418
+ oprot.writeI64(iter68)
1419
+ oprot.writeListEnd()
1420
+ oprot.writeFieldEnd()
1421
+ if self.zoneData is not None:
1422
+ oprot.writeFieldBegin('zoneData', TType.LIST, 2)
1423
+ oprot.writeListBegin(TType.STRING, len(self.zoneData))
1424
+ for iter69 in self.zoneData:
1425
+ oprot.writeString(iter69.encode('utf-8') if sys.version_info[0] == 2 else iter69)
1396
1426
  oprot.writeListEnd()
1397
1427
  oprot.writeFieldEnd()
1398
1428
  oprot.writeFieldStop()
@@ -1443,11 +1473,11 @@ class Chunk(object):
1443
1473
  elif fid == 2:
1444
1474
  if ftype == TType.LIST:
1445
1475
  self.vectors = []
1446
- (_etype66, _size63) = iprot.readListBegin()
1447
- for _i67 in range(_size63):
1448
- _elem68 = Vector()
1449
- _elem68.read(iprot)
1450
- self.vectors.append(_elem68)
1476
+ (_etype73, _size70) = iprot.readListBegin()
1477
+ for _i74 in range(_size70):
1478
+ _elem75 = Vector()
1479
+ _elem75.read(iprot)
1480
+ self.vectors.append(_elem75)
1451
1481
  iprot.readListEnd()
1452
1482
  else:
1453
1483
  iprot.skip(ftype)
@@ -1468,8 +1498,8 @@ class Chunk(object):
1468
1498
  if self.vectors is not None:
1469
1499
  oprot.writeFieldBegin('vectors', TType.LIST, 2)
1470
1500
  oprot.writeListBegin(TType.STRUCT, len(self.vectors))
1471
- for iter69 in self.vectors:
1472
- iter69.write(oprot)
1501
+ for iter76 in self.vectors:
1502
+ iter76.write(oprot)
1473
1503
  oprot.writeListEnd()
1474
1504
  oprot.writeFieldEnd()
1475
1505
  oprot.writeFieldStop()
@@ -1588,6 +1618,7 @@ all_structs.append(TimeConstantData)
1588
1618
  TimeConstantData.thrift_spec = (
1589
1619
  None, # 0
1590
1620
  (1, TType.I64, 'data', None, None, ), # 1
1621
+ (2, TType.STRING, 'zoneData', 'UTF8', None, ), # 2
1591
1622
  )
1592
1623
  all_structs.append(VarcharConstantData)
1593
1624
  VarcharConstantData.thrift_spec = (
@@ -1598,6 +1629,7 @@ all_structs.append(TimeData)
1598
1629
  TimeData.thrift_spec = (
1599
1630
  None, # 0
1600
1631
  (1, TType.LIST, 'data', (TType.I64, None, False), None, ), # 1
1632
+ (2, TType.LIST, 'zoneData', (TType.STRING, 'UTF8', False), None, ), # 2
1601
1633
  )
1602
1634
  all_structs.append(Chunk)
1603
1635
  Chunk.thrift_spec = (
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: e6data-python-connector
3
- Version: 2.1.14.dev1
3
+ Version: 2.1.16
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: Uniphi, Inc.
@@ -27,7 +27,7 @@ Requires-Dist: sqlalchemy
27
27
 
28
28
  # e6data Python Connector
29
29
 
30
- ![version](https://img.shields.io/badge/version-2.1.10-blue.svg)
30
+ ![version](https://img.shields.io/badge/version-2.1.16-blue.svg)
31
31
 
32
32
  ## Introduction
33
33
 
@@ -1,15 +1,15 @@
1
1
  e6data_python_connector/__init__.py,sha256=x_VwhPQ7XLlthR-NJL9Vl7lkLBRCG2pSjmyZSBHOBpM,103
2
2
  e6data_python_connector/common.py,sha256=nk0CDQ5j1iu8DctBOXX4QypPYmxSgIgoA-Cn1UZXLic,9976
3
3
  e6data_python_connector/constants.py,sha256=h5w0lWiFsxz__zUZRlo1f72-8mT_vt9gcWvtWh0viFI,682
4
- e6data_python_connector/datainputstream.py,sha256=DheV5Vo7-UldLAQuhV2payLoFLM8jvaunRTaUhYUhMU,11498
4
+ e6data_python_connector/datainputstream.py,sha256=D9ttXj2VHYBcjI2b08FZMe6ayrJNnf-oWC7x3pYFHXc,11536
5
5
  e6data_python_connector/date_time_utils.py,sha256=ew1CjhfB93trRdu8jBOy2ihZNSecDPcmxS1USmWxqzE,13623
6
6
  e6data_python_connector/dialect.py,sha256=M7vMHJgbnGqUdlY-XcDyeeXPwll9O7j1YAaySECLNpA,11177
7
- e6data_python_connector/e6data_grpc.py,sha256=NeJBnsgO6Jx2_4BCECkFm9NvfMVn-Xx7nOeVbKf6TYQ,24528
7
+ e6data_python_connector/e6data_grpc.py,sha256=nqx0B3VkYYDrk18DvFSWupy3uwLSOTx7IrYrPKRfmbg,24599
8
8
  e6data_python_connector/exceptions.py,sha256=vrUqdzMq3LjbCmvr5_TcRq9eKmdqGfe-uVjR0BJQf5U,382
9
9
  e6data_python_connector/typeId.py,sha256=2EMNWK2SO5CBReNuJphma6xp-69r9GDwwys66t-kSk0,1777
10
- e6data_python_connector/e6x_vector/__init__.py,sha256=YFcZTT8Cm-6Y4oTiCaqq0DT1lw2W09WqoEc5_pTAwW0,34
10
+ e6data_python_connector/e6x_vector/__init__.py,sha256=roZylODoZ74ukIbqzohNkmXId7Oh3DJTwT5lSGHFS4c,33
11
11
  e6data_python_connector/e6x_vector/constants.py,sha256=QPD8cJw4a7t7JD4PTzbxj1CZKZ1lQ0TPK2Uzg72S9dE,366
12
- e6data_python_connector/e6x_vector/ttypes.py,sha256=TN1MQ2EKU6hYEre2FZubBSGrB2vWAYW5aU2_O_IuyMw,54197
12
+ e6data_python_connector/e6x_vector/ttypes.py,sha256=z2NigHdavCg1l1paXGSIo_1BMBnRJ85Puup9mcAwMDw,55854
13
13
  e6data_python_connector/server/QueryEngineService.py,sha256=IDX2Yi9m_QFZ8L4FoiYrl8i7YL8GjTRonblKKFZsapU,198503
14
14
  e6data_python_connector/server/__init__.py,sha256=8eK3WgN4xfJiSNm4bUrnXb5ZgjMUEjdStbUahQQrJII,56
15
15
  e6data_python_connector/server/constants.py,sha256=QPD8cJw4a7t7JD4PTzbxj1CZKZ1lQ0TPK2Uzg72S9dE,366
@@ -17,9 +17,9 @@ e6data_python_connector/server/e6x_engine_pb2.py,sha256=BxJjbijNrEqXQTWEhzLm54Fq
17
17
  e6data_python_connector/server/e6x_engine_pb2.pyi,sha256=_aQDLFbSCQ7ubK0Z5ZKh9_VAHFaXbMV55MXYXr85srg,18693
18
18
  e6data_python_connector/server/e6x_engine_pb2_grpc.py,sha256=n-eTCsAjsmpgPA_bDansKZq_zMmqkK6TlQGn6IdT6L4,46671
19
19
  e6data_python_connector/server/ttypes.py,sha256=uWxwSp4m6e-7SeSEckbZtSduGYmfzXWM09iy5eltBPA,21227
20
- e6data_python_connector-2.1.14.dev1.dist-info/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
21
- e6data_python_connector-2.1.14.dev1.dist-info/METADATA,sha256=xsYTjdWra80VGTQrwYQcGHiLNP-t4Uci9oR-6RravXo,6949
22
- e6data_python_connector-2.1.14.dev1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
23
- e6data_python_connector-2.1.14.dev1.dist-info/entry_points.txt,sha256=MDK4cAOND0preLvq2Tlpnz00wXnP_Y_UopqJsAf3U7Y,77
24
- e6data_python_connector-2.1.14.dev1.dist-info/top_level.txt,sha256=ChOS6qLf-SQycXr0uBiVxomIfYfbH2SgwrOWhW79ab0,24
25
- e6data_python_connector-2.1.14.dev1.dist-info/RECORD,,
20
+ e6data_python_connector-2.1.16.dist-info/LICENSE,sha256=WNHhf_5RCaeuKWyq_K39vmp9F28LxKsB4SpomwSZ2L0,11357
21
+ e6data_python_connector-2.1.16.dist-info/METADATA,sha256=DURxBQIUOpBzZpD7OuF8SAqjwVZga5W6QgEigBUBWBY,6944
22
+ e6data_python_connector-2.1.16.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
23
+ e6data_python_connector-2.1.16.dist-info/entry_points.txt,sha256=MDK4cAOND0preLvq2Tlpnz00wXnP_Y_UopqJsAf3U7Y,77
24
+ e6data_python_connector-2.1.16.dist-info/top_level.txt,sha256=ChOS6qLf-SQycXr0uBiVxomIfYfbH2SgwrOWhW79ab0,24
25
+ e6data_python_connector-2.1.16.dist-info/RECORD,,