singlestoredb 1.15.2__py3-none-any.whl → 1.15.4__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.
Potentially problematic release.
This version of singlestoredb might be problematic. Click here for more details.
- singlestoredb/__init__.py +1 -1
- singlestoredb/http/connection.py +7 -5
- singlestoredb/mysql/protocol.py +15 -2
- singlestoredb/tests/alltypes.sql +307 -0
- singlestoredb/tests/alltypes_no_nulls.sql +208 -0
- singlestoredb/tests/test_connection.py +18 -18
- singlestoredb/tests/test_ext_func_data.py +18 -18
- {singlestoredb-1.15.2.dist-info → singlestoredb-1.15.4.dist-info}/METADATA +1 -1
- {singlestoredb-1.15.2.dist-info → singlestoredb-1.15.4.dist-info}/RECORD +13 -11
- {singlestoredb-1.15.2.dist-info → singlestoredb-1.15.4.dist-info}/LICENSE +0 -0
- {singlestoredb-1.15.2.dist-info → singlestoredb-1.15.4.dist-info}/WHEEL +0 -0
- {singlestoredb-1.15.2.dist-info → singlestoredb-1.15.4.dist-info}/entry_points.txt +0 -0
- {singlestoredb-1.15.2.dist-info → singlestoredb-1.15.4.dist-info}/top_level.txt +0 -0
singlestoredb/__init__.py
CHANGED
singlestoredb/http/connection.py
CHANGED
|
@@ -647,23 +647,24 @@ class Cursor(connection.Cursor):
|
|
|
647
647
|
type_code = types.ColumnType.get_code(data_type)
|
|
648
648
|
prec, scale = get_precision_scale(col['dataType'])
|
|
649
649
|
converter = http_converters.get(type_code, None)
|
|
650
|
+
|
|
650
651
|
if 'UNSIGNED' in data_type:
|
|
651
652
|
flags = 32
|
|
653
|
+
|
|
652
654
|
if data_type.endswith('BLOB') or data_type.endswith('BINARY'):
|
|
653
655
|
converter = functools.partial(
|
|
654
656
|
b64decode_converter, converter, # type: ignore
|
|
655
657
|
)
|
|
656
658
|
charset = 63 # BINARY
|
|
659
|
+
|
|
657
660
|
if type_code == 0: # DECIMAL
|
|
658
661
|
type_code = types.ColumnType.get_code('NEWDECIMAL')
|
|
659
662
|
elif type_code == 15: # VARCHAR / VARBINARY
|
|
660
663
|
type_code = types.ColumnType.get_code('VARSTRING')
|
|
661
|
-
|
|
662
|
-
prec += 1 # for sign
|
|
663
|
-
if scale is not None and scale > 0:
|
|
664
|
-
prec += 1 # for decimal
|
|
664
|
+
|
|
665
665
|
if converter is not None:
|
|
666
666
|
convs.append((i, None, converter))
|
|
667
|
+
|
|
667
668
|
description.append(
|
|
668
669
|
Description(
|
|
669
670
|
str(col['name']), type_code,
|
|
@@ -673,6 +674,7 @@ class Cursor(connection.Cursor):
|
|
|
673
674
|
),
|
|
674
675
|
)
|
|
675
676
|
pymy_res.append(PyMyField(col['name'], flags, charset))
|
|
677
|
+
|
|
676
678
|
self._descriptions.append(description)
|
|
677
679
|
self._schemas.append(get_schema(self._results_type, description))
|
|
678
680
|
|
|
@@ -936,7 +938,7 @@ class Cursor(connection.Cursor):
|
|
|
936
938
|
|
|
937
939
|
def __iter__(self) -> Iterable[Tuple[Any, ...]]:
|
|
938
940
|
"""Return result iterator."""
|
|
939
|
-
return iter(self._rows)
|
|
941
|
+
return iter(self._rows[self._row_idx:])
|
|
940
942
|
|
|
941
943
|
def __enter__(self) -> 'Cursor':
|
|
942
944
|
"""Enter a context."""
|
singlestoredb/mysql/protocol.py
CHANGED
|
@@ -324,13 +324,26 @@ class FieldDescriptorPacket(MysqlPacket):
|
|
|
324
324
|
raise TypeError(f'unrecognized extended data type: {ext_type_code}')
|
|
325
325
|
|
|
326
326
|
def description(self):
|
|
327
|
-
"""
|
|
327
|
+
"""
|
|
328
|
+
Provides a 9-item tuple.
|
|
329
|
+
|
|
330
|
+
Standard descriptions only have 7 fields according to the Python
|
|
331
|
+
PEP249 DB Spec, but we need to surface information about unsigned
|
|
332
|
+
types and charsetnr for proper type handling.
|
|
333
|
+
|
|
334
|
+
"""
|
|
335
|
+
precision = self.get_column_length()
|
|
336
|
+
if self.type_code in (FIELD_TYPE.DECIMAL, FIELD_TYPE.NEWDECIMAL):
|
|
337
|
+
if precision:
|
|
338
|
+
precision -= 1 # for the sign
|
|
339
|
+
if self.scale > 0:
|
|
340
|
+
precision -= 1 # for the decimal point
|
|
328
341
|
return Description(
|
|
329
342
|
self.name,
|
|
330
343
|
self.type_code,
|
|
331
344
|
None, # TODO: display_length; should this be self.length?
|
|
332
345
|
self.get_column_length(), # 'internal_size'
|
|
333
|
-
|
|
346
|
+
precision, # 'precision'
|
|
334
347
|
self.scale,
|
|
335
348
|
self.flags % 2 == 0,
|
|
336
349
|
self.flags,
|
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS alltypes (
|
|
2
|
+
`id` INT(11),
|
|
3
|
+
`tinyint` TINYINT,
|
|
4
|
+
`unsigned_tinyint` TINYINT UNSIGNED,
|
|
5
|
+
`bool` BOOL,
|
|
6
|
+
`boolean` BOOLEAN,
|
|
7
|
+
`smallint` SMALLINT,
|
|
8
|
+
`unsigned_smallint` SMALLINT UNSIGNED,
|
|
9
|
+
`mediumint` MEDIUMINT,
|
|
10
|
+
`unsigned_mediumint` MEDIUMINT UNSIGNED,
|
|
11
|
+
`int24` MEDIUMINT,
|
|
12
|
+
`unsigned_int24` MEDIUMINT UNSIGNED,
|
|
13
|
+
`int` INT,
|
|
14
|
+
`unsigned_int` INT UNSIGNED,
|
|
15
|
+
`integer` INTEGER,
|
|
16
|
+
`unsigned_integer` INTEGER UNSIGNED,
|
|
17
|
+
`bigint` BIGINT,
|
|
18
|
+
`unsigned_bigint` BIGINT UNSIGNED,
|
|
19
|
+
`float` FLOAT,
|
|
20
|
+
`double` DOUBLE,
|
|
21
|
+
`real` REAL,
|
|
22
|
+
`decimal` DECIMAL(20,6),
|
|
23
|
+
`dec` DEC(20,6),
|
|
24
|
+
`fixed` FIXED(20,6),
|
|
25
|
+
`numeric` NUMERIC(20,6),
|
|
26
|
+
`date` DATE,
|
|
27
|
+
`time` TIME,
|
|
28
|
+
`time_6` TIME(6),
|
|
29
|
+
`datetime` DATETIME,
|
|
30
|
+
`datetime_6` DATETIME(6),
|
|
31
|
+
`timestamp` TIMESTAMP,
|
|
32
|
+
`timestamp_6` TIMESTAMP(6),
|
|
33
|
+
`year` YEAR,
|
|
34
|
+
`char_100` CHAR(100),
|
|
35
|
+
`binary_100` BINARY(100),
|
|
36
|
+
`varchar_200` VARCHAR(200),
|
|
37
|
+
`varbinary_200` VARBINARY(200),
|
|
38
|
+
`longtext` LONGTEXT,
|
|
39
|
+
`mediumtext` MEDIUMTEXT,
|
|
40
|
+
`text` TEXT,
|
|
41
|
+
`tinytext` TINYTEXT,
|
|
42
|
+
`longblob` LONGBLOB,
|
|
43
|
+
`mediumblob` MEDIUMBLOB,
|
|
44
|
+
`blob` BLOB,
|
|
45
|
+
`tinyblob` TINYBLOB,
|
|
46
|
+
`json` JSON,
|
|
47
|
+
-- `geographypoint` GEOGRAPHYPOINT,
|
|
48
|
+
-- `geography` GEOGRAPHY,
|
|
49
|
+
`enum` ENUM('one', 'two', 'three'),
|
|
50
|
+
`set` SET('one', 'two', 'three'),
|
|
51
|
+
`bit` BIT
|
|
52
|
+
)
|
|
53
|
+
COLLATE='utf8_unicode_ci';
|
|
54
|
+
|
|
55
|
+
INSERT INTO alltypes SET
|
|
56
|
+
`id`=0,
|
|
57
|
+
`tinyint`=80,
|
|
58
|
+
`unsigned_tinyint`=85,
|
|
59
|
+
`bool`=0,
|
|
60
|
+
`boolean`=1,
|
|
61
|
+
`smallint`=-27897,
|
|
62
|
+
`unsigned_smallint`=27897,
|
|
63
|
+
`mediumint`=104729,
|
|
64
|
+
`unsigned_mediumint`=120999,
|
|
65
|
+
`int24`=-200899,
|
|
66
|
+
`unsigned_int24`=407709,
|
|
67
|
+
`int`=-1295369311,
|
|
68
|
+
`unsigned_int`=3872362332,
|
|
69
|
+
`integer`=-1741727421,
|
|
70
|
+
`unsigned_integer`=3198387363,
|
|
71
|
+
`bigint`=-266883847,
|
|
72
|
+
`unsigned_bigint`=980007287362,
|
|
73
|
+
`float`=-146486683.754744,
|
|
74
|
+
`double`=-474646154.719356,
|
|
75
|
+
`real`=-901409776.279346,
|
|
76
|
+
`decimal`=28111097.610822,
|
|
77
|
+
`dec`=389451155.931428,
|
|
78
|
+
`fixed`=-143773416.044092,
|
|
79
|
+
`numeric`=866689461.300046,
|
|
80
|
+
`date`='8524-11-10',
|
|
81
|
+
`time`='00:07:00',
|
|
82
|
+
`time_6`='01:10:00.000002',
|
|
83
|
+
`datetime`='9948-03-11 15:29:22',
|
|
84
|
+
`datetime_6`='1756-10-29 02:02:42.000008',
|
|
85
|
+
`timestamp`='1980-12-31 01:10:23',
|
|
86
|
+
`timestamp_6`='1991-01-02 22:15:10.000006',
|
|
87
|
+
`year`=1923,
|
|
88
|
+
`char_100`='This is a test of a 100 character column.',
|
|
89
|
+
`binary_100`=x'000102030405060708090A0B0C0D0E0F',
|
|
90
|
+
`varchar_200`='This is a test of a variable character column.',
|
|
91
|
+
`varbinary_200`=x'000102030405060708090A0B0C0D0E0F000102030405060708090A0B0C0D0E0F',
|
|
92
|
+
`longtext`='This is a longtext column.',
|
|
93
|
+
`mediumtext`='This is a mediumtext column.',
|
|
94
|
+
`text`='This is a text column.',
|
|
95
|
+
`tinytext`='This is a tinytext column.',
|
|
96
|
+
`longblob`=x'000102030405060708090A0B0C0D0E0F000102030405060708090A0B0C0D0E0F000102030405060708090A0B0C0D0E0F',
|
|
97
|
+
`mediumblob`=x'000102030405060708090A0B0C0D0E0F000102030405060708090A0B0C0D0E0F',
|
|
98
|
+
`blob`=x'000102030405060708090A0B0C0D0E0F',
|
|
99
|
+
`tinyblob`=x'0A0B0C0D0E0F',
|
|
100
|
+
`json`='{"a": 10, "b": 2.75, "c": "hello world"}',
|
|
101
|
+
`enum`='one',
|
|
102
|
+
`set`='two',
|
|
103
|
+
`bit`=128
|
|
104
|
+
;
|
|
105
|
+
|
|
106
|
+
INSERT INTO alltypes SET
|
|
107
|
+
`id`=1,
|
|
108
|
+
`tinyint`=NULL,
|
|
109
|
+
`bool`=NULL,
|
|
110
|
+
`boolean`=NULL,
|
|
111
|
+
`smallint`=NULL,
|
|
112
|
+
`mediumint`=NULL,
|
|
113
|
+
`int24`=NULL,
|
|
114
|
+
`int`=NULL,
|
|
115
|
+
`integer`=NULL,
|
|
116
|
+
`bigint`=NULL,
|
|
117
|
+
`float`=NULL,
|
|
118
|
+
`double`=NULL,
|
|
119
|
+
`real`=NULL,
|
|
120
|
+
`decimal`=NULL,
|
|
121
|
+
`dec`=NULL,
|
|
122
|
+
`fixed`=NULL,
|
|
123
|
+
`numeric`=NULL,
|
|
124
|
+
`date`=NULL,
|
|
125
|
+
`time`=NULL,
|
|
126
|
+
`time_6`=NULL,
|
|
127
|
+
`datetime`=NULL,
|
|
128
|
+
`datetime_6`=NULL,
|
|
129
|
+
`timestamp`=NULL,
|
|
130
|
+
`timestamp_6`=NULL,
|
|
131
|
+
`year`=NULL,
|
|
132
|
+
`char_100`=NULL,
|
|
133
|
+
`binary_100`=NULL,
|
|
134
|
+
`varchar_200`=NULL,
|
|
135
|
+
`longtext`=NULL,
|
|
136
|
+
`mediumtext`=NULL,
|
|
137
|
+
`text`=NULL,
|
|
138
|
+
`tinytext`=NULL,
|
|
139
|
+
`longblob`=NULL,
|
|
140
|
+
`mediumblob`=NULL,
|
|
141
|
+
`blob`=NULL,
|
|
142
|
+
`tinyblob`=NULL,
|
|
143
|
+
`json`=NULL,
|
|
144
|
+
`enum`=NULL,
|
|
145
|
+
`set`=NULL,
|
|
146
|
+
`bit`=NULL
|
|
147
|
+
;
|
|
148
|
+
|
|
149
|
+
-- Minimum values
|
|
150
|
+
INSERT INTO alltypes SET
|
|
151
|
+
`id`=2,
|
|
152
|
+
`tinyint`=-128,
|
|
153
|
+
`unsigned_tinyint`=0,
|
|
154
|
+
`bool`=-128,
|
|
155
|
+
`boolean`=-128,
|
|
156
|
+
`smallint`=-32768,
|
|
157
|
+
`unsigned_smallint`=0,
|
|
158
|
+
`mediumint`=-8388608,
|
|
159
|
+
`unsigned_mediumint`=0,
|
|
160
|
+
`int24`=-8388608,
|
|
161
|
+
`unsigned_int24`=0,
|
|
162
|
+
`int`=-2147483648,
|
|
163
|
+
`unsigned_int`=0,
|
|
164
|
+
`integer`=-2147483648,
|
|
165
|
+
`unsigned_integer`=0,
|
|
166
|
+
`bigint`=-9223372036854775808,
|
|
167
|
+
`unsigned_bigint`=0,
|
|
168
|
+
`float`=0,
|
|
169
|
+
`double`=-1.7976931348623158e308,
|
|
170
|
+
`real`=-1.7976931348623158e308,
|
|
171
|
+
`decimal`=-99999999999999.999999,
|
|
172
|
+
`dec`=-99999999999999.999999,
|
|
173
|
+
`fixed`=-99999999999999.999999,
|
|
174
|
+
`numeric`=-99999999999999.999999,
|
|
175
|
+
`date`='1000-01-01',
|
|
176
|
+
`time`='-838:59:59',
|
|
177
|
+
`time_6`='-838:59:59.000000',
|
|
178
|
+
`datetime`='1000-01-01 00:00:00',
|
|
179
|
+
`datetime_6`='1000-01-01 00:00:00.000000',
|
|
180
|
+
`timestamp`='1970-01-01 00:00:01',
|
|
181
|
+
`timestamp_6`='1970-01-01 00:00:01.000000',
|
|
182
|
+
`year`=1901,
|
|
183
|
+
`char_100`='',
|
|
184
|
+
`binary_100`=x'',
|
|
185
|
+
`varchar_200`='',
|
|
186
|
+
`varbinary_200`=x'',
|
|
187
|
+
`longtext`='',
|
|
188
|
+
`mediumtext`='',
|
|
189
|
+
`text`='',
|
|
190
|
+
`tinytext`='',
|
|
191
|
+
`longblob`=x'',
|
|
192
|
+
`mediumblob`=x'',
|
|
193
|
+
`blob`=x'',
|
|
194
|
+
`tinyblob`=x'',
|
|
195
|
+
`json`='{}',
|
|
196
|
+
`enum`='one',
|
|
197
|
+
`set`='two',
|
|
198
|
+
`bit`=0
|
|
199
|
+
;
|
|
200
|
+
|
|
201
|
+
-- Maximum values
|
|
202
|
+
INSERT INTO alltypes SET
|
|
203
|
+
`id`=3,
|
|
204
|
+
`tinyint`=127,
|
|
205
|
+
`unsigned_tinyint`=255,
|
|
206
|
+
`bool`=127,
|
|
207
|
+
`boolean`=127,
|
|
208
|
+
`smallint`=32767,
|
|
209
|
+
`unsigned_smallint`=65535,
|
|
210
|
+
`mediumint`=8388607,
|
|
211
|
+
`unsigned_mediumint`=16777215,
|
|
212
|
+
`int24`=8388607,
|
|
213
|
+
`unsigned_int24`=16777215,
|
|
214
|
+
`int`=2147483647,
|
|
215
|
+
`unsigned_int`=4294967295,
|
|
216
|
+
`integer`=2147483647,
|
|
217
|
+
`unsigned_integer`=4294967295,
|
|
218
|
+
`bigint`=9223372036854775807,
|
|
219
|
+
`unsigned_bigint`=18446744073709551615,
|
|
220
|
+
`float`=0,
|
|
221
|
+
`double`=1.7976931348623158e308,
|
|
222
|
+
`real`=1.7976931348623158e308,
|
|
223
|
+
`decimal`=99999999999999.999999,
|
|
224
|
+
`dec`=99999999999999.999999,
|
|
225
|
+
`fixed`=99999999999999.999999,
|
|
226
|
+
`numeric`=99999999999999.999999,
|
|
227
|
+
`date`='9999-12-31',
|
|
228
|
+
`time`='838:59:59',
|
|
229
|
+
`time_6`='838:59:59.999999',
|
|
230
|
+
`datetime`='9999-12-31 23:59:59',
|
|
231
|
+
`datetime_6`='9999-12-31 23:59:59.999999',
|
|
232
|
+
`timestamp`='2038-01-18 21:14:07',
|
|
233
|
+
`timestamp_6`='2038-01-18 21:14:07.999999',
|
|
234
|
+
`year`=2155,
|
|
235
|
+
`char_100`='',
|
|
236
|
+
`binary_100`=x'',
|
|
237
|
+
`varchar_200`='',
|
|
238
|
+
`varbinary_200`=x'',
|
|
239
|
+
`longtext`='',
|
|
240
|
+
`mediumtext`='',
|
|
241
|
+
`text`='',
|
|
242
|
+
`tinytext`='',
|
|
243
|
+
`longblob`=x'',
|
|
244
|
+
`mediumblob`=x'',
|
|
245
|
+
`blob`=x'',
|
|
246
|
+
`tinyblob`=x'',
|
|
247
|
+
`json`='{}',
|
|
248
|
+
`enum`='one',
|
|
249
|
+
`set`='two',
|
|
250
|
+
`bit`=18446744073709551615
|
|
251
|
+
;
|
|
252
|
+
|
|
253
|
+
-- Zero values
|
|
254
|
+
--
|
|
255
|
+
-- Note that v8 of SingleStoreDB does not allow zero date/times by
|
|
256
|
+
-- default, so they are set to NULL here.
|
|
257
|
+
--
|
|
258
|
+
INSERT INTO alltypes SET
|
|
259
|
+
`id`=4,
|
|
260
|
+
`tinyint`=0,
|
|
261
|
+
`unsigned_tinyint`=0,
|
|
262
|
+
`bool`=0,
|
|
263
|
+
`boolean`=0,
|
|
264
|
+
`smallint`=0,
|
|
265
|
+
`unsigned_smallint`=0,
|
|
266
|
+
`mediumint`=0,
|
|
267
|
+
`unsigned_mediumint`=0,
|
|
268
|
+
`int24`=0,
|
|
269
|
+
`unsigned_int24`=0,
|
|
270
|
+
`int`=0,
|
|
271
|
+
`unsigned_int`=0,
|
|
272
|
+
`integer`=0,
|
|
273
|
+
`unsigned_integer`=0,
|
|
274
|
+
`bigint`=0,
|
|
275
|
+
`unsigned_bigint`=0,
|
|
276
|
+
`float`=0,
|
|
277
|
+
`double`=0.0,
|
|
278
|
+
`real`=0.0,
|
|
279
|
+
`decimal`=0.0,
|
|
280
|
+
`dec`=0.0,
|
|
281
|
+
`fixed`=0.0,
|
|
282
|
+
`numeric`=0.0,
|
|
283
|
+
`date`=NULL,
|
|
284
|
+
`time`='00:00:00',
|
|
285
|
+
`time_6`='00:00:00.000000',
|
|
286
|
+
`datetime`=NULL,
|
|
287
|
+
`datetime_6`=NULL,
|
|
288
|
+
`timestamp`=NULL,
|
|
289
|
+
`timestamp_6`=NULL,
|
|
290
|
+
`year`=NULL,
|
|
291
|
+
`char_100`='',
|
|
292
|
+
`binary_100`=x'',
|
|
293
|
+
`varchar_200`='',
|
|
294
|
+
`varbinary_200`=x'',
|
|
295
|
+
`longtext`='',
|
|
296
|
+
`mediumtext`='',
|
|
297
|
+
`text`='',
|
|
298
|
+
`tinytext`='',
|
|
299
|
+
`longblob`=x'',
|
|
300
|
+
`mediumblob`=x'',
|
|
301
|
+
`blob`=x'',
|
|
302
|
+
`tinyblob`=x'',
|
|
303
|
+
`json`='{}',
|
|
304
|
+
`enum`='one',
|
|
305
|
+
`set`='two',
|
|
306
|
+
`bit`=0
|
|
307
|
+
;
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS alltypes_no_nulls (
|
|
2
|
+
`id` INT(11) NOT NULL,
|
|
3
|
+
`tinyint` TINYINT NOT NULL,
|
|
4
|
+
`unsigned_tinyint` TINYINT UNSIGNED NOT NULL,
|
|
5
|
+
`bool` BOOL NOT NULL,
|
|
6
|
+
`boolean` BOOLEAN NOT NULL,
|
|
7
|
+
`smallint` SMALLINT NOT NULL,
|
|
8
|
+
`unsigned_smallint` SMALLINT UNSIGNED NOT NULL,
|
|
9
|
+
`mediumint` MEDIUMINT NOT NULL,
|
|
10
|
+
`unsigned_mediumint` MEDIUMINT UNSIGNED NOT NULL,
|
|
11
|
+
`int24` MEDIUMINT NOT NULL,
|
|
12
|
+
`unsigned_int24` MEDIUMINT UNSIGNED NOT NULL,
|
|
13
|
+
`int` INT NOT NULL,
|
|
14
|
+
`unsigned_int` INT UNSIGNED NOT NULL,
|
|
15
|
+
`integer` INTEGER NOT NULL,
|
|
16
|
+
`unsigned_integer` INTEGER UNSIGNED NOT NULL,
|
|
17
|
+
`bigint` BIGINT NOT NULL,
|
|
18
|
+
`unsigned_bigint` BIGINT UNSIGNED NOT NULL,
|
|
19
|
+
`float` FLOAT NOT NULL,
|
|
20
|
+
`double` DOUBLE NOT NULL,
|
|
21
|
+
`real` REAL NOT NULL,
|
|
22
|
+
`decimal` DECIMAL(20,6) NOT NULL,
|
|
23
|
+
`dec` DEC(20,6) NOT NULL,
|
|
24
|
+
`fixed` FIXED(20,6) NOT NULL,
|
|
25
|
+
`numeric` NUMERIC(20,6) NOT NULL,
|
|
26
|
+
`date` DATE NOT NULL,
|
|
27
|
+
`time` TIME NOT NULL,
|
|
28
|
+
`time_6` TIME(6) NOT NULL,
|
|
29
|
+
`datetime` DATETIME NOT NULL,
|
|
30
|
+
`datetime_6` DATETIME(6) NOT NULL,
|
|
31
|
+
`timestamp` TIMESTAMP NOT NULL,
|
|
32
|
+
`timestamp_6` TIMESTAMP(6) NOT NULL,
|
|
33
|
+
`year` YEAR NOT NULL,
|
|
34
|
+
`char_100` CHAR(100) NOT NULL,
|
|
35
|
+
`binary_100` BINARY(100) NOT NULL,
|
|
36
|
+
`varchar_200` VARCHAR(200) NOT NULL,
|
|
37
|
+
`varbinary_200` VARBINARY(200) NOT NULL,
|
|
38
|
+
`longtext` LONGTEXT NOT NULL,
|
|
39
|
+
`mediumtext` MEDIUMTEXT NOT NULL,
|
|
40
|
+
`text` TEXT NOT NULL,
|
|
41
|
+
`tinytext` TINYTEXT NOT NULL,
|
|
42
|
+
`longblob` LONGBLOB NOT NULL,
|
|
43
|
+
`mediumblob` MEDIUMBLOB NOT NULL,
|
|
44
|
+
`blob` BLOB NOT NULL,
|
|
45
|
+
`tinyblob` TINYBLOB NOT NULL,
|
|
46
|
+
`json` JSON NOT NULL,
|
|
47
|
+
-- `geographypoint` GEOGRAPHYPOINT NOT NULL,
|
|
48
|
+
-- `geography` GEOGRAPHY NOT NULL,
|
|
49
|
+
`enum` ENUM('one', 'two', 'three') NOT NULL,
|
|
50
|
+
`set` SET('one', 'two', 'three') NOT NULL,
|
|
51
|
+
`bit` BIT NOT NULL
|
|
52
|
+
)
|
|
53
|
+
COLLATE='utf8_unicode_ci';
|
|
54
|
+
|
|
55
|
+
INSERT INTO alltypes_no_nulls SET
|
|
56
|
+
`id`=0,
|
|
57
|
+
`tinyint`=80,
|
|
58
|
+
`unsigned_tinyint`=85,
|
|
59
|
+
`bool`=0,
|
|
60
|
+
`boolean`=1,
|
|
61
|
+
`smallint`=-27897,
|
|
62
|
+
`unsigned_smallint`=27897,
|
|
63
|
+
`mediumint`=104729,
|
|
64
|
+
`unsigned_mediumint`=120999,
|
|
65
|
+
`int24`=-200899,
|
|
66
|
+
`unsigned_int24`=407709,
|
|
67
|
+
`int`=-1295369311,
|
|
68
|
+
`unsigned_int`=3872362332,
|
|
69
|
+
`integer`=-1741727421,
|
|
70
|
+
`unsigned_integer`=3198387363,
|
|
71
|
+
`bigint`=-266883847,
|
|
72
|
+
`unsigned_bigint`=980007287362,
|
|
73
|
+
`float`=-146486683.754744,
|
|
74
|
+
`double`=-474646154.719356,
|
|
75
|
+
`real`=-901409776.279346,
|
|
76
|
+
`decimal`=28111097.610822,
|
|
77
|
+
`dec`=389451155.931428,
|
|
78
|
+
`fixed`=-143773416.044092,
|
|
79
|
+
`numeric`=866689461.300046,
|
|
80
|
+
`date`='8524-11-10',
|
|
81
|
+
`time`='00:07:00',
|
|
82
|
+
`time_6`='01:10:00.000002',
|
|
83
|
+
`datetime`='9948-03-11 15:29:22',
|
|
84
|
+
`datetime_6`='1756-10-29 02:02:42.000008',
|
|
85
|
+
`timestamp`='1980-12-31 01:10:23',
|
|
86
|
+
`timestamp_6`='1991-01-02 22:15:10.000006',
|
|
87
|
+
`year`=1923,
|
|
88
|
+
`char_100`='This is a test of a 100 character column.',
|
|
89
|
+
`binary_100`=x'000102030405060708090A0B0C0D0E0F',
|
|
90
|
+
`varchar_200`='This is a test of a variable character column.',
|
|
91
|
+
`varbinary_200`=x'000102030405060708090A0B0C0D0E0F000102030405060708090A0B0C0D0E0F',
|
|
92
|
+
`longtext`='This is a longtext column.',
|
|
93
|
+
`mediumtext`='This is a mediumtext column.',
|
|
94
|
+
`text`='This is a text column.',
|
|
95
|
+
`tinytext`='This is a tinytext column.',
|
|
96
|
+
`longblob`=x'000102030405060708090A0B0C0D0E0F000102030405060708090A0B0C0D0E0F000102030405060708090A0B0C0D0E0F',
|
|
97
|
+
`mediumblob`=x'000102030405060708090A0B0C0D0E0F000102030405060708090A0B0C0D0E0F',
|
|
98
|
+
`blob`=x'000102030405060708090A0B0C0D0E0F',
|
|
99
|
+
`tinyblob`=x'0A0B0C0D0E0F',
|
|
100
|
+
`json`='{"a": 10, "b": 2.75, "c": "hello world"}',
|
|
101
|
+
`enum`='one',
|
|
102
|
+
`set`='two',
|
|
103
|
+
`bit`=128
|
|
104
|
+
;
|
|
105
|
+
|
|
106
|
+
-- Minimum values
|
|
107
|
+
INSERT INTO alltypes_no_nulls SET
|
|
108
|
+
`id`=2,
|
|
109
|
+
`tinyint`=-128,
|
|
110
|
+
`unsigned_tinyint`=0,
|
|
111
|
+
`bool`=-128,
|
|
112
|
+
`boolean`=-128,
|
|
113
|
+
`smallint`=-32768,
|
|
114
|
+
`unsigned_smallint`=0,
|
|
115
|
+
`mediumint`=-8388608,
|
|
116
|
+
`unsigned_mediumint`=0,
|
|
117
|
+
`int24`=-8388608,
|
|
118
|
+
`unsigned_int24`=0,
|
|
119
|
+
`int`=-2147483648,
|
|
120
|
+
`unsigned_int`=0,
|
|
121
|
+
`integer`=-2147483648,
|
|
122
|
+
`unsigned_integer`=0,
|
|
123
|
+
`bigint`=-9223372036854775808,
|
|
124
|
+
`unsigned_bigint`=0,
|
|
125
|
+
`float`=0,
|
|
126
|
+
`double`=-1.7976931348623158e308,
|
|
127
|
+
`real`=-1.7976931348623158e308,
|
|
128
|
+
`decimal`=-99999999999999.999999,
|
|
129
|
+
`dec`=-99999999999999.999999,
|
|
130
|
+
`fixed`=-99999999999999.999999,
|
|
131
|
+
`numeric`=-99999999999999.999999,
|
|
132
|
+
`date`='1000-01-01',
|
|
133
|
+
`time`='-838:59:59',
|
|
134
|
+
`time_6`='-838:59:59.000000',
|
|
135
|
+
`datetime`='1000-01-01 00:00:00',
|
|
136
|
+
`datetime_6`='1000-01-01 00:00:00.000000',
|
|
137
|
+
`timestamp`='1970-01-01 00:00:01',
|
|
138
|
+
`timestamp_6`='1970-01-01 00:00:01.000000',
|
|
139
|
+
`year`=1901,
|
|
140
|
+
`char_100`='',
|
|
141
|
+
`binary_100`=x'',
|
|
142
|
+
`varchar_200`='',
|
|
143
|
+
`varbinary_200`=x'',
|
|
144
|
+
`longtext`='',
|
|
145
|
+
`mediumtext`='',
|
|
146
|
+
`text`='',
|
|
147
|
+
`tinytext`='',
|
|
148
|
+
`longblob`=x'',
|
|
149
|
+
`mediumblob`=x'',
|
|
150
|
+
`blob`=x'',
|
|
151
|
+
`tinyblob`=x'',
|
|
152
|
+
`json`='{}',
|
|
153
|
+
`enum`='one',
|
|
154
|
+
`set`='two',
|
|
155
|
+
`bit`=0
|
|
156
|
+
;
|
|
157
|
+
|
|
158
|
+
-- Maximum values
|
|
159
|
+
INSERT INTO alltypes_no_nulls SET
|
|
160
|
+
`id`=3,
|
|
161
|
+
`tinyint`=127,
|
|
162
|
+
`unsigned_tinyint`=255,
|
|
163
|
+
`bool`=127,
|
|
164
|
+
`boolean`=127,
|
|
165
|
+
`smallint`=32767,
|
|
166
|
+
`unsigned_smallint`=65535,
|
|
167
|
+
`mediumint`=8388607,
|
|
168
|
+
`unsigned_mediumint`=16777215,
|
|
169
|
+
`int24`=8388607,
|
|
170
|
+
`unsigned_int24`=16777215,
|
|
171
|
+
`int`=2147483647,
|
|
172
|
+
`unsigned_int`=4294967295,
|
|
173
|
+
`integer`=2147483647,
|
|
174
|
+
`unsigned_integer`=4294967295,
|
|
175
|
+
`bigint`=9223372036854775807,
|
|
176
|
+
`unsigned_bigint`=18446744073709551615,
|
|
177
|
+
`float`=0,
|
|
178
|
+
`double`=1.7976931348623158e308,
|
|
179
|
+
`real`=1.7976931348623158e308,
|
|
180
|
+
`decimal`=99999999999999.999999,
|
|
181
|
+
`dec`=99999999999999.999999,
|
|
182
|
+
`fixed`=99999999999999.999999,
|
|
183
|
+
`numeric`=99999999999999.999999,
|
|
184
|
+
`date`='9999-12-31',
|
|
185
|
+
`time`='838:59:59',
|
|
186
|
+
`time_6`='838:59:59.999999',
|
|
187
|
+
`datetime`='9999-12-31 23:59:59',
|
|
188
|
+
`datetime_6`='9999-12-31 23:59:59.999999',
|
|
189
|
+
`timestamp`='2038-01-18 21:14:07',
|
|
190
|
+
`timestamp_6`='2038-01-18 21:14:07.999999',
|
|
191
|
+
`year`=2155,
|
|
192
|
+
`char_100`='',
|
|
193
|
+
`binary_100`=x'',
|
|
194
|
+
`varchar_200`='',
|
|
195
|
+
`varbinary_200`=x'',
|
|
196
|
+
`longtext`='',
|
|
197
|
+
`mediumtext`='',
|
|
198
|
+
`text`='',
|
|
199
|
+
`tinytext`='',
|
|
200
|
+
`longblob`=x'',
|
|
201
|
+
`mediumblob`=x'',
|
|
202
|
+
`blob`=x'',
|
|
203
|
+
`tinyblob`=x'',
|
|
204
|
+
`json`='{}',
|
|
205
|
+
`enum`='one',
|
|
206
|
+
`set`='two',
|
|
207
|
+
`bit`=18446744073709551615
|
|
208
|
+
;
|
|
@@ -1446,7 +1446,7 @@ class TestConnection(unittest.TestCase):
|
|
|
1446
1446
|
# Recent versions of polars have a problem with decimals
|
|
1447
1447
|
class FixCompare(str):
|
|
1448
1448
|
def __eq__(self, other):
|
|
1449
|
-
return super().__eq__(other.replace('precision=None', 'precision=
|
|
1449
|
+
return super().__eq__(other.replace('precision=None', 'precision=20'))
|
|
1450
1450
|
|
|
1451
1451
|
dtypes = [
|
|
1452
1452
|
('id', 'Int32'),
|
|
@@ -1469,10 +1469,10 @@ class TestConnection(unittest.TestCase):
|
|
|
1469
1469
|
('float', 'Float32'),
|
|
1470
1470
|
('double', 'Float64'),
|
|
1471
1471
|
('real', 'Float64'),
|
|
1472
|
-
('decimal', FixCompare('Decimal(precision=
|
|
1473
|
-
('dec', FixCompare('Decimal(precision=
|
|
1474
|
-
('fixed', FixCompare('Decimal(precision=
|
|
1475
|
-
('numeric', FixCompare('Decimal(precision=
|
|
1472
|
+
('decimal', FixCompare('Decimal(precision=20, scale=6)')),
|
|
1473
|
+
('dec', FixCompare('Decimal(precision=20, scale=6)')),
|
|
1474
|
+
('fixed', FixCompare('Decimal(precision=20, scale=6)')),
|
|
1475
|
+
('numeric', FixCompare('Decimal(precision=20, scale=6)')),
|
|
1476
1476
|
('date', 'Date'),
|
|
1477
1477
|
('time', "Duration(time_unit='us')"),
|
|
1478
1478
|
('time_6', "Duration(time_unit='us')"),
|
|
@@ -1593,7 +1593,7 @@ class TestConnection(unittest.TestCase):
|
|
|
1593
1593
|
# Recent versions of polars have a problem with decimals
|
|
1594
1594
|
class FixCompare(str):
|
|
1595
1595
|
def __eq__(self, other):
|
|
1596
|
-
return super().__eq__(other.replace('precision=None', 'precision=
|
|
1596
|
+
return super().__eq__(other.replace('precision=None', 'precision=20'))
|
|
1597
1597
|
|
|
1598
1598
|
dtypes = [
|
|
1599
1599
|
('id', 'Int32'),
|
|
@@ -1616,10 +1616,10 @@ class TestConnection(unittest.TestCase):
|
|
|
1616
1616
|
('float', 'Float32'),
|
|
1617
1617
|
('double', 'Float64'),
|
|
1618
1618
|
('real', 'Float64'),
|
|
1619
|
-
('decimal', FixCompare('Decimal(precision=
|
|
1620
|
-
('dec', FixCompare('Decimal(precision=
|
|
1621
|
-
('fixed', FixCompare('Decimal(precision=
|
|
1622
|
-
('numeric', FixCompare('Decimal(precision=
|
|
1619
|
+
('decimal', FixCompare('Decimal(precision=20, scale=6)')),
|
|
1620
|
+
('dec', FixCompare('Decimal(precision=20, scale=6)')),
|
|
1621
|
+
('fixed', FixCompare('Decimal(precision=20, scale=6)')),
|
|
1622
|
+
('numeric', FixCompare('Decimal(precision=20, scale=6)')),
|
|
1623
1623
|
('date', 'Date'),
|
|
1624
1624
|
('time', "Duration(time_unit='us')"),
|
|
1625
1625
|
('time_6', "Duration(time_unit='us')"),
|
|
@@ -1825,10 +1825,10 @@ class TestConnection(unittest.TestCase):
|
|
|
1825
1825
|
('float', 'float'),
|
|
1826
1826
|
('double', 'double'),
|
|
1827
1827
|
('real', 'double'),
|
|
1828
|
-
('decimal', 'decimal128(
|
|
1829
|
-
('dec', 'decimal128(
|
|
1830
|
-
('fixed', 'decimal128(
|
|
1831
|
-
('numeric', 'decimal128(
|
|
1828
|
+
('decimal', 'decimal128(20, 6)'),
|
|
1829
|
+
('dec', 'decimal128(20, 6)'),
|
|
1830
|
+
('fixed', 'decimal128(20, 6)'),
|
|
1831
|
+
('numeric', 'decimal128(20, 6)'),
|
|
1832
1832
|
('date', 'date64[ms]'),
|
|
1833
1833
|
('time', 'duration[us]'),
|
|
1834
1834
|
('time_6', 'duration[us]'),
|
|
@@ -1964,10 +1964,10 @@ class TestConnection(unittest.TestCase):
|
|
|
1964
1964
|
('float', 'float'),
|
|
1965
1965
|
('double', 'double'),
|
|
1966
1966
|
('real', 'double'),
|
|
1967
|
-
('decimal', 'decimal128(
|
|
1968
|
-
('dec', 'decimal128(
|
|
1969
|
-
('fixed', 'decimal128(
|
|
1970
|
-
('numeric', 'decimal128(
|
|
1967
|
+
('decimal', 'decimal128(20, 6)'),
|
|
1968
|
+
('dec', 'decimal128(20, 6)'),
|
|
1969
|
+
('fixed', 'decimal128(20, 6)'),
|
|
1970
|
+
('numeric', 'decimal128(20, 6)'),
|
|
1971
1971
|
('date', 'date64[ms]'),
|
|
1972
1972
|
('time', 'duration[us]'),
|
|
1973
1973
|
('time_6', 'duration[us]'),
|
|
@@ -269,7 +269,7 @@ class TestRowdat1(unittest.TestCase):
|
|
|
269
269
|
def test_numpy_accel(self):
|
|
270
270
|
dump_res = rowdat_1._dump_numpy_accel(
|
|
271
271
|
col_types, numpy_row_ids, numpy_data,
|
|
272
|
-
)
|
|
272
|
+
)
|
|
273
273
|
load_res = rowdat_1._load_numpy_accel(col_spec, dump_res)
|
|
274
274
|
|
|
275
275
|
ids = load_res[0]
|
|
@@ -294,7 +294,7 @@ class TestRowdat1(unittest.TestCase):
|
|
|
294
294
|
def test_numpy(self):
|
|
295
295
|
dump_res = rowdat_1._dump_numpy(
|
|
296
296
|
col_types, numpy_row_ids, numpy_data,
|
|
297
|
-
)
|
|
297
|
+
)
|
|
298
298
|
load_res = rowdat_1._load_numpy(col_spec, dump_res)
|
|
299
299
|
|
|
300
300
|
ids = load_res[0]
|
|
@@ -387,7 +387,7 @@ class TestRowdat1(unittest.TestCase):
|
|
|
387
387
|
with self.assertRaises(res, msg=f'Expected {res} for {data} in {dtype}'):
|
|
388
388
|
rowdat_1._dump_numpy_accel(
|
|
389
389
|
[dtype], numpy_row_ids, [(arr, None)],
|
|
390
|
-
)
|
|
390
|
+
)
|
|
391
391
|
|
|
392
392
|
# Pure Python
|
|
393
393
|
if 'mediumint exceeds' in name:
|
|
@@ -396,13 +396,13 @@ class TestRowdat1(unittest.TestCase):
|
|
|
396
396
|
with self.assertRaises(res, msg=f'Expected {res} for {data} in {dtype}'):
|
|
397
397
|
rowdat_1._dump_numpy(
|
|
398
398
|
[dtype], numpy_row_ids, [(arr, None)],
|
|
399
|
-
)
|
|
399
|
+
)
|
|
400
400
|
|
|
401
401
|
else:
|
|
402
402
|
# Accelerated
|
|
403
403
|
dump_res = rowdat_1._dump_numpy_accel(
|
|
404
404
|
[dtype], numpy_row_ids, [(arr, None)],
|
|
405
|
-
)
|
|
405
|
+
)
|
|
406
406
|
load_res = rowdat_1._load_numpy_accel([('x', dtype)], dump_res)
|
|
407
407
|
assert load_res[1][0][0] == res, \
|
|
408
408
|
f'Expected {res} for {data}, but got {load_res[1][0][0]} in {dtype}'
|
|
@@ -410,7 +410,7 @@ class TestRowdat1(unittest.TestCase):
|
|
|
410
410
|
# Pure Python
|
|
411
411
|
dump_res = rowdat_1._dump_numpy(
|
|
412
412
|
[dtype], numpy_row_ids, [(arr, None)],
|
|
413
|
-
)
|
|
413
|
+
)
|
|
414
414
|
load_res = rowdat_1._load_numpy([('x', dtype)], dump_res)
|
|
415
415
|
assert load_res[1][0][0] == res, \
|
|
416
416
|
f'Expected {res} for {data}, but got {load_res[1][0][0]} in {dtype}'
|
|
@@ -788,7 +788,7 @@ class TestRowdat1(unittest.TestCase):
|
|
|
788
788
|
# Accelerated
|
|
789
789
|
dump_res = rowdat_1._dump_numpy_accel(
|
|
790
790
|
[dtype], numpy_row_ids, [(data, None)],
|
|
791
|
-
)
|
|
791
|
+
)
|
|
792
792
|
load_res = rowdat_1._load_numpy_accel([('x', dtype)], dump_res)
|
|
793
793
|
|
|
794
794
|
if name == 'double from float32':
|
|
@@ -800,7 +800,7 @@ class TestRowdat1(unittest.TestCase):
|
|
|
800
800
|
# Pure Python
|
|
801
801
|
dump_res = rowdat_1._dump_numpy(
|
|
802
802
|
[dtype], numpy_row_ids, [(data, None)],
|
|
803
|
-
)
|
|
803
|
+
)
|
|
804
804
|
load_res = rowdat_1._load_numpy([('x', dtype)], dump_res)
|
|
805
805
|
|
|
806
806
|
if name == 'double from float32':
|
|
@@ -812,7 +812,7 @@ class TestRowdat1(unittest.TestCase):
|
|
|
812
812
|
def test_python(self):
|
|
813
813
|
dump_res = rowdat_1._dump(
|
|
814
814
|
col_types, py_row_ids, py_col_data,
|
|
815
|
-
)
|
|
815
|
+
)
|
|
816
816
|
load_res = rowdat_1._load(col_spec, dump_res)
|
|
817
817
|
|
|
818
818
|
ids = load_res[0]
|
|
@@ -824,7 +824,7 @@ class TestRowdat1(unittest.TestCase):
|
|
|
824
824
|
def test_python_accel(self):
|
|
825
825
|
dump_res = rowdat_1._dump_accel(
|
|
826
826
|
col_types, py_row_ids, py_col_data,
|
|
827
|
-
)
|
|
827
|
+
)
|
|
828
828
|
load_res = rowdat_1._load_accel(col_spec, dump_res)
|
|
829
829
|
|
|
830
830
|
ids = load_res[0]
|
|
@@ -836,7 +836,7 @@ class TestRowdat1(unittest.TestCase):
|
|
|
836
836
|
def test_polars(self):
|
|
837
837
|
dump_res = rowdat_1._dump_polars(
|
|
838
838
|
col_types, polars_row_ids, polars_data,
|
|
839
|
-
)
|
|
839
|
+
)
|
|
840
840
|
load_res = rowdat_1._load_polars(col_spec, dump_res)
|
|
841
841
|
|
|
842
842
|
ids = load_res[0]
|
|
@@ -861,7 +861,7 @@ class TestRowdat1(unittest.TestCase):
|
|
|
861
861
|
def test_polars_accel(self):
|
|
862
862
|
dump_res = rowdat_1._dump_polars_accel(
|
|
863
863
|
col_types, polars_row_ids, polars_data,
|
|
864
|
-
)
|
|
864
|
+
)
|
|
865
865
|
load_res = rowdat_1._load_polars_accel(col_spec, dump_res)
|
|
866
866
|
|
|
867
867
|
ids = load_res[0]
|
|
@@ -886,7 +886,7 @@ class TestRowdat1(unittest.TestCase):
|
|
|
886
886
|
def test_pandas(self):
|
|
887
887
|
dump_res = rowdat_1._dump_pandas(
|
|
888
888
|
col_types, pandas_row_ids, pandas_data,
|
|
889
|
-
)
|
|
889
|
+
)
|
|
890
890
|
load_res = rowdat_1._load_pandas(col_spec, dump_res)
|
|
891
891
|
|
|
892
892
|
ids = load_res[0]
|
|
@@ -911,7 +911,7 @@ class TestRowdat1(unittest.TestCase):
|
|
|
911
911
|
def test_pandas_accel(self):
|
|
912
912
|
dump_res = rowdat_1._dump_pandas_accel(
|
|
913
913
|
col_types, pandas_row_ids, pandas_data,
|
|
914
|
-
)
|
|
914
|
+
)
|
|
915
915
|
load_res = rowdat_1._load_pandas_accel(col_spec, dump_res)
|
|
916
916
|
|
|
917
917
|
ids = load_res[0]
|
|
@@ -936,7 +936,7 @@ class TestRowdat1(unittest.TestCase):
|
|
|
936
936
|
def test_pyarrow(self):
|
|
937
937
|
dump_res = rowdat_1._dump_arrow(
|
|
938
938
|
col_types, pyarrow_row_ids, pyarrow_data,
|
|
939
|
-
)
|
|
939
|
+
)
|
|
940
940
|
load_res = rowdat_1._load_arrow(col_spec, dump_res)
|
|
941
941
|
|
|
942
942
|
ids = load_res[0]
|
|
@@ -961,7 +961,7 @@ class TestRowdat1(unittest.TestCase):
|
|
|
961
961
|
def test_pyarrow_accel(self):
|
|
962
962
|
dump_res = rowdat_1._dump_arrow_accel(
|
|
963
963
|
col_types, pyarrow_row_ids, pyarrow_data,
|
|
964
|
-
)
|
|
964
|
+
)
|
|
965
965
|
load_res = rowdat_1._load_arrow_accel(col_spec, dump_res)
|
|
966
966
|
|
|
967
967
|
ids = load_res[0]
|
|
@@ -1053,7 +1053,7 @@ class TestJSON(unittest.TestCase):
|
|
|
1053
1053
|
def test_pandas(self):
|
|
1054
1054
|
dump_res = rowdat_1._dump_pandas(
|
|
1055
1055
|
col_types, pandas_row_ids, pandas_data,
|
|
1056
|
-
)
|
|
1056
|
+
)
|
|
1057
1057
|
load_res = rowdat_1._load_pandas(col_spec, dump_res)
|
|
1058
1058
|
|
|
1059
1059
|
ids = load_res[0]
|
|
@@ -1078,7 +1078,7 @@ class TestJSON(unittest.TestCase):
|
|
|
1078
1078
|
def test_pyarrow(self):
|
|
1079
1079
|
dump_res = rowdat_1._dump_arrow(
|
|
1080
1080
|
col_types, pyarrow_row_ids, pyarrow_data,
|
|
1081
|
-
)
|
|
1081
|
+
)
|
|
1082
1082
|
load_res = rowdat_1._load_arrow(col_spec, dump_res)
|
|
1083
1083
|
|
|
1084
1084
|
ids = load_res[0]
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
singlestoredb/__init__.py,sha256=
|
|
1
|
+
singlestoredb/__init__.py,sha256=2IMVeTNRjiRom1ypTqkQNA1Ro51sGMnrWIMSlxmf3Ls,2272
|
|
2
2
|
singlestoredb/auth.py,sha256=u8D9tpKzrqa4ssaHjyZnGDX1q8XBpGtuoOkTkSv7B28,7599
|
|
3
3
|
singlestoredb/config.py,sha256=aBdMrPEaNSH-QLi1AXoQaSJsZ9f6ZXoFPN-74Trr6sQ,13935
|
|
4
4
|
singlestoredb/connection.py,sha256=ELk3-UpM6RaB993aIt08MydKiiDnejHQ1s8EFiacrAI,46055
|
|
@@ -72,7 +72,7 @@ singlestoredb/fusion/handlers/stage.py,sha256=edViRGlBF7xZUd3ClmpBlMcBc6O4JKdvA9
|
|
|
72
72
|
singlestoredb/fusion/handlers/utils.py,sha256=ozHOWUraoN8XGTK9JZdhv5HV8AQR8zfUd1yh1kLvUXY,10685
|
|
73
73
|
singlestoredb/fusion/handlers/workspace.py,sha256=4xN2TFO4yF7KZB2Fcht7IuvoDdAT6fDfDLjixiHZN8w,27506
|
|
74
74
|
singlestoredb/http/__init__.py,sha256=A_2ZUCCpvRYIA6YDpPy57wL5R1eZ5SfP6I1To5nfJ2s,912
|
|
75
|
-
singlestoredb/http/connection.py,sha256=
|
|
75
|
+
singlestoredb/http/connection.py,sha256=fCgh3PdYJNYVPMaUe_NlMb7ducxC06se1XfyqOpPpJw,39727
|
|
76
76
|
singlestoredb/magics/__init__.py,sha256=lZjkT3Webo9c1EQAzlRCRh6B2pckQH8uvNrrB__abcI,1210
|
|
77
77
|
singlestoredb/magics/run_personal.py,sha256=Y5lVpJ8vqOyEjtZkip04Hwi4uZ7CQLU5Rd1MrCmpNvs,5222
|
|
78
78
|
singlestoredb/magics/run_shared.py,sha256=czoO4z6gtoq9ek_41efRBRk-XQiHKuHdY0BOdfKkFrc,5130
|
|
@@ -96,7 +96,7 @@ singlestoredb/mysql/converters.py,sha256=CVe8SDmjbIAhy1xpQ2N5OKWw6t5eWpw-EU3QTlA
|
|
|
96
96
|
singlestoredb/mysql/cursors.py,sha256=aOLfHkj83aYZPOVuhJPkZ83CWByszIBRynq0fqSaWvY,27046
|
|
97
97
|
singlestoredb/mysql/err.py,sha256=-m5rqXi8yhq6b8SCEJ2h0E5Rudh_15dlAU_WbJ1YrM8,2388
|
|
98
98
|
singlestoredb/mysql/optionfile.py,sha256=DqL-rOQcqQncD5eVbPRkwZqo7Pj3Vh40VLx3E_e87TU,655
|
|
99
|
-
singlestoredb/mysql/protocol.py,sha256=
|
|
99
|
+
singlestoredb/mysql/protocol.py,sha256=PfdILK1oK2hlg1etmYZtrKf1obPlcLC7FyEJHEpIplc,14885
|
|
100
100
|
singlestoredb/mysql/times.py,sha256=2j7purNVnJmjhOUgwUze-r3kNlCWqxjXj-jtqOzBfZI,463
|
|
101
101
|
singlestoredb/mysql/constants/CLIENT.py,sha256=SSvMFPZCTVMU1UWa4zOrfhYMDdR2wG2mS0E5GzJhDsg,878
|
|
102
102
|
singlestoredb/mysql/constants/COMMAND.py,sha256=TGITAUcNWlq2Gwg2wv5UK2ykdTd4LYTk_EcJJOCpGIc,679
|
|
@@ -136,6 +136,8 @@ singlestoredb/server/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
|
|
|
136
136
|
singlestoredb/server/docker.py,sha256=r7b8tOYTGBD9NtS4_KuSDbj4bO9rarBC63BY6TdxheM,14640
|
|
137
137
|
singlestoredb/server/free_tier.py,sha256=YPtUX6idwcez9LGBaVllcTpKo8Qk2RZp3MaAZvsZcOg,8386
|
|
138
138
|
singlestoredb/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
139
|
+
singlestoredb/tests/alltypes.sql,sha256=S_bUJ20MGZht3F7MhFSEIDRUzWV6jm1d4UwHdLW2kwA,7648
|
|
140
|
+
singlestoredb/tests/alltypes_no_nulls.sql,sha256=MCeBEoeZC6mmeG9-4J7vy9ZOIvvKWqqMgdpHQlvDDzs,6240
|
|
139
141
|
singlestoredb/tests/empty.sql,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
140
142
|
singlestoredb/tests/local_infile.csv,sha256=sBtqjvfkS9aoOVx8nMXYgYv4rDuT4OuYhqUhNRu0O68,42
|
|
141
143
|
singlestoredb/tests/test.ipynb,sha256=jrkI2WoSsUA9xQpKTBCHnsDptryQhPdM5QaxfvYRGpg,216
|
|
@@ -144,11 +146,11 @@ singlestoredb/tests/test2.ipynb,sha256=yd1PE1VK-DwiRd6mYS4_0cPBtuVkvcDtycvTwD-Yn
|
|
|
144
146
|
singlestoredb/tests/test2.sql,sha256=D4U2GSlOVeo39U8-RMM4YziJzYFfi4Ztm2YXJVJVAS8,37
|
|
145
147
|
singlestoredb/tests/test_basics.py,sha256=Dw1irrtf3gWN7tqGruSH6uhWi5zkmCpJl6ZMQxMqlf4,48446
|
|
146
148
|
singlestoredb/tests/test_config.py,sha256=63lyIQ2KrvGE6C9403B_4Mc90mX4tp42ys5Bih2sXrE,11184
|
|
147
|
-
singlestoredb/tests/test_connection.py,sha256=
|
|
149
|
+
singlestoredb/tests/test_connection.py,sha256=XhJ4XvtvAuXHjmR794dozQsNRKbjfw5BvlhnBK66EuQ,120237
|
|
148
150
|
singlestoredb/tests/test_dbapi.py,sha256=IKq5Hcwx8WikASP8_AB5fo3TXv7ryWPCVGonoly00gI,652
|
|
149
151
|
singlestoredb/tests/test_exceptions.py,sha256=tfr_8X2w1UmG4nkSBzWGB0C7ehrf1GAVgj6_ODaG-TM,1131
|
|
150
152
|
singlestoredb/tests/test_ext_func.py,sha256=_YREceW1Llwx9Wcamj0up2IXLuBTnuvQqCFOWphckKI,46271
|
|
151
|
-
singlestoredb/tests/test_ext_func_data.py,sha256=
|
|
153
|
+
singlestoredb/tests/test_ext_func_data.py,sha256=kyNklkX1RxSiahI0LZjpqhg3LGDs0iwv8iHuXW3AcSo,47515
|
|
152
154
|
singlestoredb/tests/test_fusion.py,sha256=7YQ_nOQoV_7yD4OEpJz2Ov-zok-cBFK9IOJ3FgZ0xo0,50593
|
|
153
155
|
singlestoredb/tests/test_http.py,sha256=RXasTqBWRn__omj0eLFTJYIbZjd0PPdIV2d4Cqz0MC8,8580
|
|
154
156
|
singlestoredb/tests/test_management.py,sha256=R5g5QHWCSPxCrwMUOD0BL-touGIDvqQfDve-YmZyhX4,51973
|
|
@@ -172,9 +174,9 @@ singlestoredb/utils/results.py,sha256=bJtaUaDiFq26IsPAKZ2FHGB7csMn94EAxLKrP4HaEE
|
|
|
172
174
|
singlestoredb/utils/xdict.py,sha256=S9HKgrPrnu_6b7iOwa2KrW8CmU1Uqx0BWdEyogFzWbE,12896
|
|
173
175
|
sqlx/__init__.py,sha256=aBYiU8DZXCogvWu3yWafOz7bZS5WWwLZXj7oL0dXGyU,85
|
|
174
176
|
sqlx/magic.py,sha256=JsS9_9aBFaOt91Torm1JPN0c8qB2QmYJmNSKtbSQIY0,3509
|
|
175
|
-
singlestoredb-1.15.
|
|
176
|
-
singlestoredb-1.15.
|
|
177
|
-
singlestoredb-1.15.
|
|
178
|
-
singlestoredb-1.15.
|
|
179
|
-
singlestoredb-1.15.
|
|
180
|
-
singlestoredb-1.15.
|
|
177
|
+
singlestoredb-1.15.4.dist-info/LICENSE,sha256=Mlq78idURT-9G026aMYswwwnnrLcgzTLuXeAs5hjDLM,11341
|
|
178
|
+
singlestoredb-1.15.4.dist-info/METADATA,sha256=B4IS-bYjONEdqG0vEG6dI6qlT6uwjAIYtLOsMv26spI,5786
|
|
179
|
+
singlestoredb-1.15.4.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
180
|
+
singlestoredb-1.15.4.dist-info/entry_points.txt,sha256=bSLaTWB5zGjpVYPAaI46MkkDup0su-eb3uAhCNYuRV0,48
|
|
181
|
+
singlestoredb-1.15.4.dist-info/top_level.txt,sha256=DfFGz7bM4XrshloiCeTABgylT3BUnS8T5pJam3ewT6Q,19
|
|
182
|
+
singlestoredb-1.15.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|