singlestoredb 1.6.0__cp38-abi3-win32.whl → 1.6.2__cp38-abi3-win32.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 singlestoredb might be problematic. Click here for more details.

_singlestoredb_accel.pyd CHANGED
Binary file
singlestoredb/__init__.py CHANGED
@@ -13,7 +13,7 @@ Examples
13
13
 
14
14
  """
15
15
 
16
- __version__ = '1.6.0'
16
+ __version__ = '1.6.2'
17
17
 
18
18
  from typing import Any
19
19
 
@@ -716,6 +716,7 @@ class Connection(BaseConnection):
716
716
  Error : If the connection is already closed.
717
717
 
718
718
  """
719
+ self._result = None
719
720
  if self.host == 'singlestore.com':
720
721
  return
721
722
  if self._closed:
@@ -1909,12 +1910,12 @@ class MySQLResultSV(MySQLResult):
1909
1910
  encoding_errors=connection.encoding_errors,
1910
1911
  ).items() if v is not UNSET
1911
1912
  }
1912
- self._read_rowdata_packet = functools.partial(
1913
- _singlestoredb_accel.read_rowdata_packet, self, False,
1914
- )
1915
- self._read_rowdata_packet_unbuffered = functools.partial(
1916
- _singlestoredb_accel.read_rowdata_packet, self, True,
1917
- )
1913
+
1914
+ def _read_rowdata_packet(self, *args, **kwargs):
1915
+ return _singlestoredb_accel.read_rowdata_packet(self, False, *args, **kwargs)
1916
+
1917
+ def _read_rowdata_packet_unbuffered(self, *args, **kwargs):
1918
+ return _singlestoredb_accel.read_rowdata_packet(self, True, *args, **kwargs)
1918
1919
 
1919
1920
 
1920
1921
  class LoadLocalFile:
@@ -1197,6 +1197,64 @@ class TestBasics(unittest.TestCase):
1197
1197
  cur.execute('SELECT * FROM badutf8')
1198
1198
  list(cur)
1199
1199
 
1200
+ def test_character_lengths(self):
1201
+ if 'http' in self.conn.driver:
1202
+ self.skipTest('Character lengths too long for HTTP interface')
1203
+
1204
+ tbl_id = str(id(self))
1205
+
1206
+ self.cur.execute('DROP TABLE IF EXISTS test_character_lengths')
1207
+ self.cur.execute(rf'''
1208
+ CREATE TABLE `test_character_lengths_{tbl_id}` (
1209
+ `id` text CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
1210
+ `char_col` longtext CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
1211
+ `int_col` INT,
1212
+ PRIMARY KEY (`id`),
1213
+ SORT KEY `id` (`id`)
1214
+ ) AUTOSTATS_CARDINALITY_MODE=INCREMENTAL
1215
+ AUTOSTATS_HISTOGRAM_MODE=CREATE
1216
+ AUTOSTATS_SAMPLING=ON
1217
+ SQL_MODE='STRICT_ALL_TABLES'
1218
+ ''')
1219
+
1220
+ CHAR_STR_SHORT = 'a'
1221
+ CHAR_STR_LONG = 'a' * (2**8-1)
1222
+ SHORT_STR_SHORT = 'a' * ((2**8-1) + 1)
1223
+ SHORT_STR_LONG = 'a' * (2**16-1)
1224
+ INT24_STR_SHORT = 'a' * ((2**16-1) + 1)
1225
+ INT24_STR_LONG = 'a' * (2**24-1)
1226
+ INT64_STR_SHORT = 'a' * ((2**24-1) + 1)
1227
+ INT64_STR_LONG = 'a' * ((2**24-1) + 100000)
1228
+
1229
+ data = [
1230
+ ['CHAR_SHORT', CHAR_STR_SHORT, 123456],
1231
+ ['CHAR_LONG', CHAR_STR_LONG, 123456],
1232
+ ['SHORT_SHORT', SHORT_STR_SHORT, 123456],
1233
+ ['SHORT_LONG', SHORT_STR_LONG, 123456],
1234
+ ['INT24_SHORT', INT24_STR_SHORT, 123456],
1235
+ ['INT24_LONG', INT24_STR_LONG, 123456],
1236
+ ['INT64_SHORT', INT64_STR_SHORT, 123456],
1237
+ ['INT64_LONG', INT64_STR_LONG, 123456],
1238
+ ]
1239
+
1240
+ self.cur.executemany(
1241
+ f'INSERT INTO test_character_lengths_{tbl_id}(id, char_col, int_col) '
1242
+ 'VALUES (%s, %s, %s)', data,
1243
+ )
1244
+
1245
+ for i, row in enumerate(data):
1246
+ self.cur.execute(
1247
+ f'SELECT id, char_col, int_col FROM test_character_lengths_{tbl_id} '
1248
+ 'WHERE id = %s',
1249
+ [row[0]],
1250
+ )
1251
+ assert data[i] == list(list(self.cur)[0])
1252
+
1253
+ try:
1254
+ self.cur.execute(f'DROP TABLE test_character_lengths_{tbl_id}')
1255
+ except Exception:
1256
+ pass
1257
+
1200
1258
 
1201
1259
  if __name__ == '__main__':
1202
1260
  import nose2
@@ -685,7 +685,8 @@ class TestJobsFusion(unittest.TestCase):
685
685
  'Status', 'ScheduledStartTime', 'StartedAt', 'FinishedAt',
686
686
  ]
687
687
  exec_job_ids = [x[2] for x in out]
688
- assert [x for x in exec_job_ids] == [job_id]
688
+ for x in exec_job_ids:
689
+ assert x == job_id
689
690
 
690
691
  # show executions for job with id job_id from 1 to 5 extended
691
692
  self.cur.execute(f'show job executions for {job_id} from 1 to 5 extended')
@@ -698,7 +699,8 @@ class TestJobsFusion(unittest.TestCase):
698
699
  'SnapshotNotebookPath',
699
700
  ]
700
701
  exec_job_ids = [x[2] for x in out]
701
- assert [x for x in exec_job_ids] == [job_id]
702
+ for x in exec_job_ids:
703
+ assert x == job_id
702
704
 
703
705
  # drop job
704
706
  self.cur.execute(f'drop jobs {job_id}')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: singlestoredb
3
- Version: 1.6.0
3
+ Version: 1.6.2
4
4
  Summary: Interface to the SingleStoreDB database and workspace management APIs
5
5
  Home-page: https://github.com/singlestore-labs/singlestoredb-python
6
6
  Author: SingleStore
@@ -1,5 +1,5 @@
1
- _singlestoredb_accel.pyd,sha256=_W23xHKHToUfXs9C_tvFPDtfGIgt8LphfqGb6MHPKDM,59904
2
- singlestoredb/__init__.py,sha256=fX5aeEitOx9asAMYkKhdHWAuhqcTTmKxlD06B_zyn1s,1697
1
+ _singlestoredb_accel.pyd,sha256=orVMYhMp0jP50qifHm9GKwO8CfhVJVYnk9V_GyMWpEI,59904
2
+ singlestoredb/__init__.py,sha256=e6_o_3tWVyTeJzwi3JNHg7_DJX1WT25olmP8mw81PFU,1697
3
3
  singlestoredb/auth.py,sha256=RmYiH0Wlc2RXc4pTlRMysxtBI445ggCIwojWKC_eDLE,7844
4
4
  singlestoredb/config.py,sha256=U2v66Ua0eLWWOcmD9-XfCG-bjqQCHS6iMSejiogXVbw,12491
5
5
  singlestoredb/connection.py,sha256=CvdVyLfR_08ONma1BiwqqjVVSsdXxeHdfpR-zaq0wwc,46765
@@ -45,7 +45,7 @@ singlestoredb/management/workspace.py,sha256=BBNa3Af5IaUAwtzHWrNTJXoc8anXJ7FiWH9
45
45
  singlestoredb/mysql/__init__.py,sha256=CbpwzNUJPAmKPpIobC0-ugBta_RgHCMq7X7N75QLReY,4669
46
46
  singlestoredb/mysql/_auth.py,sha256=YaqqyvAHmeraBv3BM207rNveUVPM-mPnW20ts_ynVWg,8341
47
47
  singlestoredb/mysql/charset.py,sha256=mnCdMpvdub1S2mm2PSk2j5JddgsWRjsVLtGx-y9TskE,10724
48
- singlestoredb/mysql/connection.py,sha256=d8gtajX4SWbBk6dpOKqQX_ZS5_wNiCmrvZ1gVV294io,74224
48
+ singlestoredb/mysql/connection.py,sha256=Tl3EMUzogd0TV4FxzE0htAXiKCO9DfJfJrP3JUopjc4,74269
49
49
  singlestoredb/mysql/converters.py,sha256=vebFFm6IrC0WgY-5Eh-esaPizY5cq3vDOUlEKGaYM-U,7771
50
50
  singlestoredb/mysql/cursors.py,sha256=pkrP-1t8IhBJRnYpdM7Rdm-332nOq1RYTDJ_yg_q5HI,27682
51
51
  singlestoredb/mysql/err.py,sha256=aDbmfq08gWVmfgIea735wSeiFdvYbB5wusgd3qTVq1s,2480
@@ -91,14 +91,14 @@ singlestoredb/tests/empty.sql,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
91
91
  singlestoredb/tests/local_infile.csv,sha256=0fYxcZcTvcwS2McF4sktFsipRY1G-ClGmCRR1eCqdEQ,45
92
92
  singlestoredb/tests/test.sql,sha256=winJzhZ2W52PcQ1j8X_NNIDRBmEa-xMAYrS_hoUtAP8,18337
93
93
  singlestoredb/tests/test2.sql,sha256=CEM8_lX189iQU65G3Pod7lig6osfrveQyoDz6HC35YQ,38
94
- singlestoredb/tests/test_basics.py,sha256=MrI0RMisxiLkJEfkuVBhfHd4nPdK-NnqISbeFr4rWlU,45383
94
+ singlestoredb/tests/test_basics.py,sha256=tLiR46qUy8-OHHRSHsQTBp5q9NAwNPR9HvfutI6YgnM,47629
95
95
  singlestoredb/tests/test_config.py,sha256=Ad0PDmCnJMOyy9f7WTKiRasSR_3mYRByUlSb7k5ZySg,11502
96
96
  singlestoredb/tests/test_connection.py,sha256=tp0YC81gUsMvNaSZGtxUA9yCpjU2zQCepz0JATYsTSI,120757
97
97
  singlestoredb/tests/test_dbapi.py,sha256=cNJoTEZvYG7ckcwT7xqlkJX-2TDEYGTDDU1Igucp48k,679
98
98
  singlestoredb/tests/test_exceptions.py,sha256=vscMYmdOJr0JmkTAJrNI2w0Q96Nfugjkrt5_lYnw8i0,1176
99
99
  singlestoredb/tests/test_ext_func.py,sha256=gQErR-wAN8BqLNG5U4pNbg4qkQEo6Re8Hd9_Ztqo1RM,38550
100
100
  singlestoredb/tests/test_ext_func_data.py,sha256=9kn8BWmCjkbnP6hSbFhmhcdW4OmVT-GSvBTIzFBLEys,48796
101
- singlestoredb/tests/test_fusion.py,sha256=Jsg6xWqeDXyTD2BMc3PTSorf_bc4uqLMnHNgDMZbgtc,24524
101
+ singlestoredb/tests/test_fusion.py,sha256=ckATjXKcDBvej68PZgTRJirdoywtUJ7WXkZmfR0la_4,24544
102
102
  singlestoredb/tests/test_http.py,sha256=7hwXe61hlUes3nji0MTTZweo94tJAlJ-vA5ct9geXFQ,8868
103
103
  singlestoredb/tests/test_management.py,sha256=B4NkK7J0luuS7T-7OR5qzu-v8gkViIiXie-58bHQIDQ,35334
104
104
  singlestoredb/tests/test_plugin.py,sha256=P1nXLnTafaHkHN-6bVbGryxTu7OWJPU9SYFZ_WQUwq8,845
@@ -117,9 +117,9 @@ singlestoredb/utils/events.py,sha256=rC9cHAetua_E1f-EiFkFM-gJzQSQIH5Uk-4sspC3KjI
117
117
  singlestoredb/utils/mogrify.py,sha256=gCcn99-vgsGVjTUV7RHJ6hH4vCNrsGB_Xo4z8kiSPDQ,4201
118
118
  singlestoredb/utils/results.py,sha256=wR70LhCqlobniZf52r67zYLBOKjWHQm68NAskdRQND8,15862
119
119
  singlestoredb/utils/xdict.py,sha256=-wi1lSPTnY99fhVMBhPKJ8cCsQhNG4GMUfkEBDKYgCw,13321
120
- singlestoredb-1.6.0.dist-info/LICENSE,sha256=Bojenzui8aPNjlF3w4ojguDP7sTf8vFV_9Gc2UAG1sg,11542
121
- singlestoredb-1.6.0.dist-info/METADATA,sha256=JSyhaRFOlUsZcFG57aOLOe1RueAFZnepTbRk4tFNExs,5710
122
- singlestoredb-1.6.0.dist-info/WHEEL,sha256=c4k7z5HB0t-y0nBCv6KyJ6KCjn8SEGPddD0lhaPtU3E,96
123
- singlestoredb-1.6.0.dist-info/entry_points.txt,sha256=bSLaTWB5zGjpVYPAaI46MkkDup0su-eb3uAhCNYuRV0,48
124
- singlestoredb-1.6.0.dist-info/top_level.txt,sha256=SDtemIXf-Kp-_F2f_S6x0db33cHGOILdAEsIQZe2LZc,35
125
- singlestoredb-1.6.0.dist-info/RECORD,,
120
+ singlestoredb-1.6.2.dist-info/LICENSE,sha256=Bojenzui8aPNjlF3w4ojguDP7sTf8vFV_9Gc2UAG1sg,11542
121
+ singlestoredb-1.6.2.dist-info/METADATA,sha256=aXrE6t1HHlOqXF8KeaTvQu8mdnhxSCUBpWujGw_yyZY,5710
122
+ singlestoredb-1.6.2.dist-info/WHEEL,sha256=c4k7z5HB0t-y0nBCv6KyJ6KCjn8SEGPddD0lhaPtU3E,96
123
+ singlestoredb-1.6.2.dist-info/entry_points.txt,sha256=bSLaTWB5zGjpVYPAaI46MkkDup0su-eb3uAhCNYuRV0,48
124
+ singlestoredb-1.6.2.dist-info/top_level.txt,sha256=SDtemIXf-Kp-_F2f_S6x0db33cHGOILdAEsIQZe2LZc,35
125
+ singlestoredb-1.6.2.dist-info/RECORD,,