@@ -108,55 +108,62 @@ def test_varbinary(self):
108
108
create_query = "CREATE TABLE test(b VARBINARY(4))"
109
109
insert_query = "INSERT INTO test VALUES(UNHEX('ff010000'))"
110
110
event = self .create_and_insert_value (create_query , insert_query )
111
- self .assertEqual (event .rows [0 ]["values" ]["b" ], b"\xff \x01 \x00 \x00 " )
111
+ if event .table_map [event .table_id ].column_name_flag :
112
+ self .assertEqual (event .rows [0 ]["values" ]["b" ], b"\xff \x01 \x00 \x00 " )
112
113
113
114
def test_fixed_length_binary (self ):
114
115
create_query = "CREATE TABLE test(b BINARY(4))"
115
116
insert_query = "INSERT INTO test VALUES(UNHEX('ff010000'))"
116
117
event = self .create_and_insert_value (create_query , insert_query )
117
- self .assertEqual (event .rows [0 ]["values" ]["b" ], b"\xff \x01 \x00 \x00 " )
118
+ if event .table_map [event .table_id ].column_name_flag :
119
+ self .assertEqual (event .rows [0 ]["values" ]["b" ], b"\xff \x01 \x00 \x00 " )
118
120
119
121
def test_decimal (self ):
120
122
create_query = "CREATE TABLE test (test DECIMAL(2,1))"
121
123
insert_query = "INSERT INTO test VALUES(4.2)"
122
124
event = self .create_and_insert_value (create_query , insert_query )
123
125
self .assertEqual (event .columns [0 ].precision , 2 )
124
126
self .assertEqual (event .columns [0 ].decimals , 1 )
125
- self .assertEqual (event .rows [0 ]["values" ]["test" ], Decimal ("4.2" ))
127
+ if event .table_map [event .table_id ].column_name_flag :
128
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], Decimal ("4.2" ))
126
129
127
130
def test_decimal_long_values (self ):
128
131
create_query = "CREATE TABLE test (\
129
132
test DECIMAL(20,10) \
130
133
)"
131
134
insert_query = "INSERT INTO test VALUES(42000.123456)"
132
135
event = self .create_and_insert_value (create_query , insert_query )
133
- self .assertEqual (event .rows [0 ]["values" ]["test" ], Decimal ("42000.123456" ))
136
+ if event .table_map [event .table_id ].column_name_flag :
137
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], Decimal ("42000.123456" ))
134
138
135
139
def test_decimal_long_values_1 (self ):
136
140
create_query = "CREATE TABLE test (\
137
141
test DECIMAL(20,10) \
138
142
)"
139
143
insert_query = "INSERT INTO test VALUES(9000000123.123456)"
140
144
event = self .create_and_insert_value (create_query , insert_query )
141
- self .assertEqual (event .rows [0 ]["values" ]["test" ], Decimal ("9000000123.123456" ))
145
+ if event .table_map [event .table_id ].column_name_flag :
146
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], Decimal ("9000000123.123456" ))
142
147
143
148
def test_decimal_long_values_2 (self ):
144
149
create_query = "CREATE TABLE test (\
145
150
test DECIMAL(20,10) \
146
151
)"
147
152
insert_query = "INSERT INTO test VALUES(9000000123.0000012345)"
148
153
event = self .create_and_insert_value (create_query , insert_query )
149
- self .assertEqual (
150
- event .rows [0 ]["values" ]["test" ], Decimal ("9000000123.0000012345" )
151
- )
154
+ if event .table_map [event .table_id ].column_name_flag :
155
+ self .assertEqual (
156
+ event .rows [0 ]["values" ]["test" ], Decimal ("9000000123.0000012345" )
157
+ )
152
158
153
159
def test_decimal_negative_values (self ):
154
160
create_query = "CREATE TABLE test (\
155
161
test DECIMAL(20,10) \
156
162
)"
157
163
insert_query = "INSERT INTO test VALUES(-42000.123456)"
158
164
event = self .create_and_insert_value (create_query , insert_query )
159
- self .assertEqual (event .rows [0 ]["values" ]["test" ], Decimal ("-42000.123456" ))
165
+ if event .table_map [event .table_id ].column_name_flag :
166
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], Decimal ("-42000.123456" ))
160
167
161
168
def test_decimal_two_values (self ):
162
169
create_query = "CREATE TABLE test (\
@@ -165,117 +172,133 @@ def test_decimal_two_values(self):
165
172
)"
166
173
insert_query = "INSERT INTO test VALUES(4.2, 42000.123456)"
167
174
event = self .create_and_insert_value (create_query , insert_query )
168
- self .assertEqual (event .rows [0 ]["values" ]["test" ], Decimal ("4.2" ))
169
- self .assertEqual (event .rows [0 ]["values" ]["test2" ], Decimal ("42000.123456" ))
175
+ if event .table_map [event .table_id ].column_name_flag :
176
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], Decimal ("4.2" ))
177
+ self .assertEqual (event .rows [0 ]["values" ]["test2" ], Decimal ("42000.123456" ))
170
178
171
179
def test_decimal_with_zero_scale_1 (self ):
172
180
create_query = "CREATE TABLE test (test DECIMAL(23,0))"
173
181
insert_query = "INSERT INTO test VALUES(10)"
174
182
event = self .create_and_insert_value (create_query , insert_query )
175
- self .assertEqual (event .rows [0 ]["values" ]["test" ], Decimal ("10" ))
183
+ if event .table_map [event .table_id ].column_name_flag :
184
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], Decimal ("10" ))
176
185
177
186
def test_decimal_with_zero_scale_2 (self ):
178
187
create_query = "CREATE TABLE test (test DECIMAL(23,0))"
179
188
insert_query = "INSERT INTO test VALUES(12345678912345678912345)"
180
189
event = self .create_and_insert_value (create_query , insert_query )
181
- self .assertEqual (
182
- event .rows [0 ]["values" ]["test" ], Decimal ("12345678912345678912345" )
183
- )
190
+ if event .table_map [event .table_id ].column_name_flag :
191
+ self .assertEqual (
192
+ event .rows [0 ]["values" ]["test" ], Decimal ("12345678912345678912345" )
193
+ )
184
194
185
195
def test_decimal_with_zero_scale_3 (self ):
186
196
create_query = "CREATE TABLE test (test DECIMAL(23,0))"
187
197
insert_query = "INSERT INTO test VALUES(100000.0)"
188
198
event = self .create_and_insert_value (create_query , insert_query )
189
- self .assertEqual (event .rows [0 ]["values" ]["test" ], Decimal ("100000" ))
199
+ if event .table_map [event .table_id ].column_name_flag :
200
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], Decimal ("100000" ))
190
201
191
202
def test_decimal_with_zero_scale_4 (self ):
192
203
create_query = "CREATE TABLE test (test DECIMAL(23,0))"
193
204
insert_query = "INSERT INTO test VALUES(-100000.0)"
194
205
event = self .create_and_insert_value (create_query , insert_query )
195
- self .assertEqual (event .rows [0 ]["values" ]["test" ], Decimal ("-100000" ))
206
+ if event .table_map [event .table_id ].column_name_flag :
207
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], Decimal ("-100000" ))
196
208
197
209
def test_decimal_with_zero_scale_6 (self ):
198
210
create_query = "CREATE TABLE test (test DECIMAL(23,0))"
199
211
insert_query = "INSERT INTO test VALUES(-1234567891234567891234)"
200
212
event = self .create_and_insert_value (create_query , insert_query )
201
- self .assertEqual (
202
- event .rows [0 ]["values" ]["test" ], Decimal ("-1234567891234567891234" )
203
- )
213
+ if event .table_map [event .table_id ].column_name_flag :
214
+ self .assertEqual (
215
+ event .rows [0 ]["values" ]["test" ], Decimal ("-1234567891234567891234" )
216
+ )
204
217
205
218
def test_tiny (self ):
206
219
create_query = "CREATE TABLE test (id TINYINT UNSIGNED NOT NULL, test TINYINT)"
207
220
insert_query = "INSERT INTO test VALUES(255, -128)"
208
221
event = self .create_and_insert_value (create_query , insert_query )
209
- self .assertEqual (event .rows [0 ]["values" ]["id" ], 255 )
210
- self .assertEqual (event .rows [0 ]["values" ]["test" ], - 128 )
222
+ if event .table_map [event .table_id ].column_name_flag :
223
+ self .assertEqual (event .rows [0 ]["values" ]["id" ], 255 )
224
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], - 128 )
211
225
212
226
def test_tiny_maps_to_boolean_true (self ):
213
227
create_query = "CREATE TABLE test (id TINYINT UNSIGNED NOT NULL, test BOOLEAN)"
214
228
insert_query = "INSERT INTO test VALUES(1, TRUE)"
215
229
event = self .create_and_insert_value (create_query , insert_query )
216
- self .assertEqual (event .rows [0 ]["values" ]["id" ], 1 )
217
- self .assertEqual (type (event .rows [0 ]["values" ]["test" ]), type (1 ))
218
- self .assertEqual (event .rows [0 ]["values" ]["test" ], 1 )
230
+ if event .table_map [event .table_id ].column_name_flag :
231
+ self .assertEqual (event .rows [0 ]["values" ]["id" ], 1 )
232
+ self .assertEqual (type (event .rows [0 ]["values" ]["test" ]), type (1 ))
233
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], 1 )
219
234
220
235
def test_tiny_maps_to_boolean_false (self ):
221
236
create_query = "CREATE TABLE test (id TINYINT UNSIGNED NOT NULL, test BOOLEAN)"
222
237
insert_query = "INSERT INTO test VALUES(1, FALSE)"
223
238
event = self .create_and_insert_value (create_query , insert_query )
224
- self .assertEqual (event .rows [0 ]["values" ]["id" ], 1 )
225
- self .assertEqual (type (event .rows [0 ]["values" ]["test" ]), type (0 ))
226
- self .assertEqual (event .rows [0 ]["values" ]["test" ], 0 )
239
+ if event .table_map [event .table_id ].column_name_flag :
240
+ self .assertEqual (event .rows [0 ]["values" ]["id" ], 1 )
241
+ self .assertEqual (type (event .rows [0 ]["values" ]["test" ]), type (0 ))
242
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], 0 )
227
243
228
244
def test_tiny_maps_to_none (self ):
229
245
create_query = "CREATE TABLE test (id TINYINT UNSIGNED NOT NULL, test BOOLEAN)"
230
246
insert_query = "INSERT INTO test VALUES(1, NULL)"
231
247
event = self .create_and_insert_value (create_query , insert_query )
232
- self .assertEqual (event .rows [0 ]["values" ]["id" ], 1 )
233
- self .assertEqual (type (event .rows [0 ]["values" ]["test" ]), type (None ))
234
- self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
248
+ if event .table_map [event .table_id ].column_name_flag :
249
+ self .assertEqual (event .rows [0 ]["values" ]["id" ], 1 )
250
+ self .assertEqual (type (event .rows [0 ]["values" ]["test" ]), type (None ))
251
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
235
252
236
253
def test_tiny_maps_to_none_2 (self ):
237
254
create_query = "CREATE TABLE test (test BOOLEAN)"
238
255
insert_query = "INSERT INTO test VALUES(NULL)"
239
256
event = self .create_and_insert_value (create_query , insert_query )
240
- self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
257
+ if event .table_map [event .table_id ].column_name_flag :
258
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
241
259
242
260
def test_short (self ):
243
261
create_query = (
244
262
"CREATE TABLE test (id SMALLINT UNSIGNED NOT NULL, test SMALLINT)"
245
263
)
246
264
insert_query = "INSERT INTO test VALUES(65535, -32768)"
247
265
event = self .create_and_insert_value (create_query , insert_query )
248
- self .assertEqual (event .rows [0 ]["values" ]["id" ], 65535 )
249
- self .assertEqual (event .rows [0 ]["values" ]["test" ], - 32768 )
266
+ if event .table_map [event .table_id ].column_name_flag :
267
+ self .assertEqual (event .rows [0 ]["values" ]["id" ], 65535 )
268
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], - 32768 )
250
269
251
270
def test_long (self ):
252
271
create_query = "CREATE TABLE test (id INT UNSIGNED NOT NULL, test INT)"
253
272
insert_query = "INSERT INTO test VALUES(4294967295, -2147483648)"
254
273
event = self .create_and_insert_value (create_query , insert_query )
255
- self .assertEqual (event .rows [0 ]["values" ]["id" ], 4294967295 )
256
- self .assertEqual (event .rows [0 ]["values" ]["test" ], - 2147483648 )
274
+ if event .table_map [event .table_id ].column_name_flag :
275
+ self .assertEqual (event .rows [0 ]["values" ]["id" ], 4294967295 )
276
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], - 2147483648 )
257
277
258
278
def test_float (self ):
259
279
create_query = "CREATE TABLE test (id FLOAT NOT NULL, test FLOAT)"
260
280
insert_query = "INSERT INTO test VALUES(42.42, -84.84)"
261
281
event = self .create_and_insert_value (create_query , insert_query )
262
- self .assertEqual (round (event .rows [0 ]["values" ]["id" ], 2 ), 42.42 )
263
- self .assertEqual (round (event .rows [0 ]["values" ]["test" ], 2 ), - 84.84 )
282
+ if event .table_map [event .table_id ].column_name_flag :
283
+ self .assertEqual (round (event .rows [0 ]["values" ]["id" ], 2 ), 42.42 )
284
+ self .assertEqual (round (event .rows [0 ]["values" ]["test" ], 2 ), - 84.84 )
264
285
265
286
def test_double (self ):
266
287
create_query = "CREATE TABLE test (id DOUBLE NOT NULL, test DOUBLE)"
267
288
insert_query = "INSERT INTO test VALUES(42.42, -84.84)"
268
289
event = self .create_and_insert_value (create_query , insert_query )
269
- self .assertEqual (round (event .rows [0 ]["values" ]["id" ], 2 ), 42.42 )
270
- self .assertEqual (round (event .rows [0 ]["values" ]["test" ], 2 ), - 84.84 )
290
+ if event .table_map [event .table_id ].column_name_flag :
291
+ self .assertEqual (round (event .rows [0 ]["values" ]["id" ], 2 ), 42.42 )
292
+ self .assertEqual (round (event .rows [0 ]["values" ]["test" ], 2 ), - 84.84 )
271
293
272
294
def test_timestamp (self ):
273
295
create_query = "CREATE TABLE test (test TIMESTAMP);"
274
296
insert_query = "INSERT INTO test VALUES('1984-12-03 12:33:07')"
275
297
event = self .create_and_insert_value (create_query , insert_query )
276
- self .assertEqual (
277
- event .rows [0 ]["values" ]["test" ], datetime .datetime (1984 , 12 , 3 , 12 , 33 , 7 )
278
- )
298
+ if event .table_map [event .table_id ].column_name_flag :
299
+ self .assertEqual (
300
+ event .rows [0 ]["values" ]["test" ], datetime .datetime (1984 , 12 , 3 , 12 , 33 , 7 )
301
+ )
279
302
280
303
def test_timestamp_mysql56 (self ):
281
304
if not self .isMySQL56AndMore ():
@@ -296,95 +319,103 @@ def test_timestamp_mysql56(self):
296
319
'1984-12-03 12:33:07.12345',
297
320
'1984-12-03 12:33:07.123456')"""
298
321
event = self .create_and_insert_value (create_query , insert_query )
299
- self .assertEqual (
300
- event .rows [0 ]["values" ]["test0" ], datetime .datetime (1984 , 12 , 3 , 12 , 33 , 7 )
301
- )
302
- self .assertEqual (
303
- event .rows [0 ]["values" ]["test1" ],
304
- datetime .datetime (1984 , 12 , 3 , 12 , 33 , 7 , 100000 ),
305
- )
306
- self .assertEqual (
307
- event .rows [0 ]["values" ]["test2" ],
308
- datetime .datetime (1984 , 12 , 3 , 12 , 33 , 7 , 120000 ),
309
- )
310
- self .assertEqual (
311
- event .rows [0 ]["values" ]["test3" ],
312
- datetime .datetime (1984 , 12 , 3 , 12 , 33 , 7 , 123000 ),
313
- )
314
- self .assertEqual (
315
- event .rows [0 ]["values" ]["test4" ],
316
- datetime .datetime (1984 , 12 , 3 , 12 , 33 , 7 , 123400 ),
317
- )
318
- self .assertEqual (
319
- event .rows [0 ]["values" ]["test5" ],
320
- datetime .datetime (1984 , 12 , 3 , 12 , 33 , 7 , 123450 ),
321
- )
322
- self .assertEqual (
323
- event .rows [0 ]["values" ]["test6" ],
324
- datetime .datetime (1984 , 12 , 3 , 12 , 33 , 7 , 123456 ),
325
- )
322
+ if event .table_map [event .table_id ].column_name_flag :
323
+ self .assertEqual (
324
+ event .rows [0 ]["values" ]["test0" ], datetime .datetime (1984 , 12 , 3 , 12 , 33 , 7 )
325
+ )
326
+ self .assertEqual (
327
+ event .rows [0 ]["values" ]["test1" ],
328
+ datetime .datetime (1984 , 12 , 3 , 12 , 33 , 7 , 100000 ),
329
+ )
330
+ self .assertEqual (
331
+ event .rows [0 ]["values" ]["test2" ],
332
+ datetime .datetime (1984 , 12 , 3 , 12 , 33 , 7 , 120000 ),
333
+ )
334
+ self .assertEqual (
335
+ event .rows [0 ]["values" ]["test3" ],
336
+ datetime .datetime (1984 , 12 , 3 , 12 , 33 , 7 , 123000 ),
337
+ )
338
+ self .assertEqual (
339
+ event .rows [0 ]["values" ]["test4" ],
340
+ datetime .datetime (1984 , 12 , 3 , 12 , 33 , 7 , 123400 ),
341
+ )
342
+ self .assertEqual (
343
+ event .rows [0 ]["values" ]["test5" ],
344
+ datetime .datetime (1984 , 12 , 3 , 12 , 33 , 7 , 123450 ),
345
+ )
346
+ self .assertEqual (
347
+ event .rows [0 ]["values" ]["test6" ],
348
+ datetime .datetime (1984 , 12 , 3 , 12 , 33 , 7 , 123456 ),
349
+ )
326
350
327
351
def test_longlong (self ):
328
352
create_query = "CREATE TABLE test (id BIGINT UNSIGNED NOT NULL, test BIGINT)"
329
353
insert_query = (
330
354
"INSERT INTO test VALUES(18446744073709551615, -9223372036854775808)"
331
355
)
332
356
event = self .create_and_insert_value (create_query , insert_query )
333
- self .assertEqual (event .rows [0 ]["values" ]["id" ], 18446744073709551615 )
334
- self .assertEqual (event .rows [0 ]["values" ]["test" ], - 9223372036854775808 )
357
+ if event .table_map [event .table_id ].column_name_flag :
358
+ self .assertEqual (event .rows [0 ]["values" ]["id" ], 18446744073709551615 )
359
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], - 9223372036854775808 )
335
360
336
361
def test_int24 (self ):
337
362
create_query = "CREATE TABLE test (id MEDIUMINT UNSIGNED NOT NULL, test MEDIUMINT, test2 MEDIUMINT, test3 MEDIUMINT, test4 MEDIUMINT, test5 MEDIUMINT)"
338
363
insert_query = "INSERT INTO test VALUES(16777215, 8388607, -8388608, 8, -8, 0)"
339
364
event = self .create_and_insert_value (create_query , insert_query )
340
- self .assertEqual (event .rows [0 ]["values" ]["id" ], 16777215 )
341
- self .assertEqual (event .rows [0 ]["values" ]["test" ], 8388607 )
342
- self .assertEqual (event .rows [0 ]["values" ]["test2" ], - 8388608 )
343
- self .assertEqual (event .rows [0 ]["values" ]["test3" ], 8 )
344
- self .assertEqual (event .rows [0 ]["values" ]["test4" ], - 8 )
345
- self .assertEqual (event .rows [0 ]["values" ]["test5" ], 0 )
365
+ if event .table_map [event .table_id ].column_name_flag :
366
+ self .assertEqual (event .rows [0 ]["values" ]["id" ], 16777215 )
367
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], 8388607 )
368
+ self .assertEqual (event .rows [0 ]["values" ]["test2" ], - 8388608 )
369
+ self .assertEqual (event .rows [0 ]["values" ]["test3" ], 8 )
370
+ self .assertEqual (event .rows [0 ]["values" ]["test4" ], - 8 )
371
+ self .assertEqual (event .rows [0 ]["values" ]["test5" ], 0 )
346
372
347
373
def test_date (self ):
348
374
create_query = "CREATE TABLE test (test DATE);"
349
375
insert_query = "INSERT INTO test VALUES('1984-12-03')"
350
376
event = self .create_and_insert_value (create_query , insert_query )
351
- self .assertEqual (event .rows [0 ]["values" ]["test" ], datetime .date (1984 , 12 , 3 ))
377
+ if event .table_map [event .table_id ].column_name_flag :
378
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], datetime .date (1984 , 12 , 3 ))
352
379
353
380
def test_zero_date (self ):
354
381
create_query = "CREATE TABLE test (id INTEGER, test DATE, test2 DATE);"
355
382
insert_query = "INSERT INTO test (id, test2) VALUES(1, '0000-01-21')"
356
383
event = self .create_and_insert_value (create_query , insert_query )
357
- self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
358
- self .assertEqual (event .rows [0 ]["values" ]["test2" ], None )
384
+ if event .table_map [event .table_id ].column_name_flag :
385
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
386
+ self .assertEqual (event .rows [0 ]["values" ]["test2" ], None )
359
387
360
388
def test_zero_month (self ):
361
389
self .set_sql_mode ()
362
390
create_query = "CREATE TABLE test (id INTEGER, test DATE, test2 DATE);"
363
391
insert_query = "INSERT INTO test (id, test2) VALUES(1, '2015-00-21')"
364
392
event = self .create_and_insert_value (create_query , insert_query )
365
- self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
366
- self .assertEqual (event .rows [0 ]["values" ]["test2" ], None )
393
+ if event .table_map [event .table_id ].column_name_flag :
394
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
395
+ self .assertEqual (event .rows [0 ]["values" ]["test2" ], None )
367
396
368
397
def test_zero_day (self ):
369
398
self .set_sql_mode ()
370
399
create_query = "CREATE TABLE test (id INTEGER, test DATE, test2 DATE);"
371
400
insert_query = "INSERT INTO test (id, test2) VALUES(1, '2015-05-00')"
372
401
event = self .create_and_insert_value (create_query , insert_query )
373
- self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
374
- self .assertEqual (event .rows [0 ]["values" ]["test2" ], None )
402
+ if event .table_map [event .table_id ].column_name_flag :
403
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
404
+ self .assertEqual (event .rows [0 ]["values" ]["test2" ], None )
375
405
376
406
def test_time (self ):
377
407
create_query = "CREATE TABLE test (test1 TIME, test2 TIME);"
378
408
insert_query = "INSERT INTO test VALUES('838:59:59', '-838:59:59')"
379
409
event = self .create_and_insert_value (create_query , insert_query )
380
- self .assertEqual (
381
- event .rows [0 ]["values" ]["test1" ],
382
- datetime .timedelta (microseconds = (((838 * 60 ) + 59 ) * 60 + 59 ) * 1000000 ),
383
- )
384
- self .assertEqual (
385
- event .rows [0 ]["values" ]["test2" ],
386
- datetime .timedelta (microseconds = - (((838 * 60 ) + 59 ) * 60 + 59 ) * 1000000 ),
387
- )
410
+ if event .table_map [event .table_id ].column_name_flag :
411
+ self .assertEqual (
412
+ event .rows [0 ]["values" ]["test1" ],
413
+ datetime .timedelta (microseconds = (((838 * 60 ) + 59 ) * 60 + 59 ) * 1000000 ),
414
+ )
415
+ self .assertEqual (
416
+ event .rows [0 ]["values" ]["test2" ],
417
+ datetime .timedelta (microseconds = - (((838 * 60 ) + 59 ) * 60 + 59 ) * 1000000 ),
418
+ )
388
419
389
420
def test_time2 (self ):
390
421
if not self .isMySQL56AndMore ():
@@ -394,32 +425,35 @@ def test_time2(self):
394
425
INSERT INTO test VALUES('838:59:59.000000', '-838:59:59.000000');
395
426
"""
396
427
event = self .create_and_insert_value (create_query , insert_query )
397
- self .assertEqual (
398
- event .rows [0 ]["values" ]["test1" ],
399
- datetime .timedelta (
400
- microseconds = (((838 * 60 ) + 59 ) * 60 + 59 ) * 1000000 + 0
401
- ),
402
- )
403
- self .assertEqual (
404
- event .rows [0 ]["values" ]["test2" ],
405
- datetime .timedelta (
406
- microseconds = - (((838 * 60 ) + 59 ) * 60 + 59 ) * 1000000 + 0
407
- ),
408
- )
428
+ if event .table_map [event .table_id ].column_name_flag :
429
+ self .assertEqual (
430
+ event .rows [0 ]["values" ]["test1" ],
431
+ datetime .timedelta (
432
+ microseconds = (((838 * 60 ) + 59 ) * 60 + 59 ) * 1000000 + 0
433
+ ),
434
+ )
435
+ self .assertEqual (
436
+ event .rows [0 ]["values" ]["test2" ],
437
+ datetime .timedelta (
438
+ microseconds = - (((838 * 60 ) + 59 ) * 60 + 59 ) * 1000000 + 0
439
+ ),
440
+ )
409
441
410
442
def test_zero_time (self ):
411
443
create_query = "CREATE TABLE test (id INTEGER, test TIME NOT NULL DEFAULT 0);"
412
444
insert_query = "INSERT INTO test (id) VALUES(1)"
413
445
event = self .create_and_insert_value (create_query , insert_query )
414
- self .assertEqual (event .rows [0 ]["values" ]["test" ], datetime .timedelta (seconds = 0 ))
446
+ if event .table_map [event .table_id ].column_name_flag :
447
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], datetime .timedelta (seconds = 0 ))
415
448
416
449
def test_datetime (self ):
417
450
create_query = "CREATE TABLE test (test DATETIME);"
418
451
insert_query = "INSERT INTO test VALUES('1984-12-03 12:33:07')"
419
452
event = self .create_and_insert_value (create_query , insert_query )
420
- self .assertEqual (
421
- event .rows [0 ]["values" ]["test" ], datetime .datetime (1984 , 12 , 3 , 12 , 33 , 7 )
422
- )
453
+ if event .table_map [event .table_id ].column_name_flag :
454
+ self .assertEqual (
455
+ event .rows [0 ]["values" ]["test" ], datetime .datetime (1984 , 12 , 3 , 12 , 33 , 7 )
456
+ )
423
457
424
458
def test_zero_datetime (self ):
425
459
self .set_sql_mode ()
@@ -428,14 +462,16 @@ def test_zero_datetime(self):
428
462
)
429
463
insert_query = "INSERT INTO test (id) VALUES(1)"
430
464
event = self .create_and_insert_value (create_query , insert_query )
431
- self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
465
+ if event .table_map [event .table_id ].column_name_flag :
466
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
432
467
433
468
def test_broken_datetime (self ):
434
469
self .set_sql_mode ()
435
470
create_query = "CREATE TABLE test (test DATETIME NOT NULL);"
436
471
insert_query = "INSERT INTO test VALUES('2013-00-00 00:00:00')"
437
472
event = self .create_and_insert_value (create_query , insert_query )
438
- self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
473
+ if event .table_map [event .table_id ].column_name_flag :
474
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
439
475
440
476
def test_year (self ):
441
477
if self .isMySQL57 ():
@@ -444,15 +480,17 @@ def test_year(self):
444
480
create_query = "CREATE TABLE test (a YEAR(4), b YEAR(2))"
445
481
insert_query = "INSERT INTO test VALUES(1984, 1984)"
446
482
event = self .create_and_insert_value (create_query , insert_query )
447
- self .assertEqual (event .rows [0 ]["values" ]["a" ], 1984 )
448
- self .assertEqual (event .rows [0 ]["values" ]["b" ], 1984 )
483
+ if event .table_map [event .table_id ].column_name_flag :
484
+ self .assertEqual (event .rows [0 ]["values" ]["a" ], 1984 )
485
+ self .assertEqual (event .rows [0 ]["values" ]["b" ], 1984 )
449
486
450
487
def test_varchar (self ):
451
488
create_query = "CREATE TABLE test (test VARCHAR(242)) CHARACTER SET latin1 COLLATE latin1_bin;"
452
489
insert_query = "INSERT INTO test VALUES('Hello')"
453
490
event = self .create_and_insert_value (create_query , insert_query )
454
- self .assertEqual (event .rows [0 ]["values" ]["test" ], "Hello" )
455
- self .assertEqual (event .columns [0 ].max_length , 242 )
491
+ if event .table_map [event .table_id ].column_name_flag :
492
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], "Hello" )
493
+ self .assertEqual (event .columns [0 ].max_length , 242 )
456
494
457
495
def test_bit (self ):
458
496
create_query = "CREATE TABLE test (test BIT(6), \
@@ -473,95 +511,78 @@ def test_bit(self):
473
511
self .assertEqual (event .columns [2 ].bits , 12 )
474
512
self .assertEqual (event .columns [3 ].bits , 9 )
475
513
self .assertEqual (event .columns [4 ].bits , 64 )
476
- self .assertEqual (event .rows [0 ]["values" ]["test" ], "100010" )
477
- self .assertEqual (event .rows [0 ]["values" ]["test2" ], "1000101010111000" )
478
- self .assertEqual (event .rows [0 ]["values" ]["test3" ], "100010101101" )
479
- self .assertEqual (event .rows [0 ]["values" ]["test4" ], "101100111" )
480
- self .assertEqual (
481
- event .rows [0 ]["values" ]["test5" ],
482
- "1101011010110100100111100011010100010100101110111011101011011010" ,
483
- )
484
-
485
- def test_enum (self ):
486
- create_query = "CREATE TABLE test (test ENUM('a', 'ba', 'c'), test2 ENUM('a', 'ba', 'c')) CHARACTER SET latin1 COLLATE latin1_bin;"
487
- insert_query = "INSERT INTO test VALUES('ba', 'a')"
488
- event = self .create_and_insert_value (create_query , insert_query )
489
- self .assertEqual (event .rows [0 ]["values" ]["test" ], "ba" )
490
- self .assertEqual (event .rows [0 ]["values" ]["test2" ], "a" )
491
-
492
- def test_enum_empty_string (self ):
493
- create_query = "CREATE TABLE test (test ENUM('a', 'ba', 'c'), test2 ENUM('a', 'ba', 'c')) CHARACTER SET latin1 COLLATE latin1_bin;"
494
- insert_query = "INSERT INTO test VALUES('ba', 'asdf')"
495
- last_sql_mode = self .execute ("SELECT @@SESSION.sql_mode;" ).fetchall ()[0 ][0 ]
496
- self .execute ("SET SESSION sql_mode = 'ANSI';" )
497
- event = self .create_and_insert_value (create_query , insert_query )
498
- self .execute ("SET SESSION sql_mode = '%s';" % last_sql_mode )
499
-
500
- self .assertEqual (event .rows [0 ]["values" ]["test" ], "ba" )
501
- self .assertEqual (event .rows [0 ]["values" ]["test2" ], "" )
502
-
503
- def test_set (self ):
504
- create_query = "CREATE TABLE test (test SET('a', 'ba', 'c'), test2 SET('a', 'ba', 'c')) CHARACTER SET latin1 COLLATE latin1_bin;"
505
- insert_query = "INSERT INTO test VALUES('ba,a,c', 'a,c')"
506
- event = self .create_and_insert_value (create_query , insert_query )
507
- self .assertEqual (event .rows [0 ]["values" ]["test" ], set (("a" , "ba" , "c" )))
508
- self .assertEqual (event .rows [0 ]["values" ]["test2" ], set (("a" , "c" )))
514
+ if event .table_map [event .table_id ].column_name_flag :
515
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], "100010" )
516
+ self .assertEqual (event .rows [0 ]["values" ]["test2" ], "1000101010111000" )
517
+ self .assertEqual (event .rows [0 ]["values" ]["test3" ], "100010101101" )
518
+ self .assertEqual (event .rows [0 ]["values" ]["test4" ], "101100111" )
519
+ self .assertEqual (
520
+ event .rows [0 ]["values" ]["test5" ],
521
+ "1101011010110100100111100011010100010100101110111011101011011010" ,
522
+ )
509
523
510
524
def test_tiny_blob (self ):
511
525
create_query = "CREATE TABLE test (test TINYBLOB, test2 TINYTEXT) CHARACTER SET latin1 COLLATE latin1_bin;"
512
526
insert_query = "INSERT INTO test VALUES('Hello', 'World')"
513
527
event = self .create_and_insert_value (create_query , insert_query )
514
- self .assertEqual (event .rows [0 ]["values" ]["test" ], b"Hello" )
515
- self .assertEqual (event .rows [0 ]["values" ]["test2" ], "World" )
528
+ if event .table_map [event .table_id ].column_name_flag :
529
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], b"Hello" )
530
+ self .assertEqual (event .rows [0 ]["values" ]["test2" ], "World" )
516
531
517
532
def test_medium_blob (self ):
518
533
create_query = "CREATE TABLE test (test MEDIUMBLOB, test2 MEDIUMTEXT) CHARACTER SET latin1 COLLATE latin1_bin;"
519
534
insert_query = "INSERT INTO test VALUES('Hello', 'World')"
520
535
event = self .create_and_insert_value (create_query , insert_query )
521
- self .assertEqual (event .rows [0 ]["values" ]["test" ], b"Hello" )
522
- self .assertEqual (event .rows [0 ]["values" ]["test2" ], "World" )
536
+ if event .table_map [event .table_id ].column_name_flag :
537
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], b"Hello" )
538
+ self .assertEqual (event .rows [0 ]["values" ]["test2" ], "World" )
523
539
524
540
def test_long_blob (self ):
525
541
create_query = "CREATE TABLE test (test LONGBLOB, test2 LONGTEXT) CHARACTER SET latin1 COLLATE latin1_bin;"
526
542
insert_query = "INSERT INTO test VALUES('Hello', 'World')"
527
543
event = self .create_and_insert_value (create_query , insert_query )
528
- self .assertEqual (event .rows [0 ]["values" ]["test" ], b"Hello" )
529
- self .assertEqual (event .rows [0 ]["values" ]["test2" ], "World" )
544
+ if event .table_map [event .table_id ].column_name_flag :
545
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], b"Hello" )
546
+ self .assertEqual (event .rows [0 ]["values" ]["test2" ], "World" )
530
547
531
548
def test_blob (self ):
532
549
create_query = "CREATE TABLE test (test BLOB, test2 TEXT) CHARACTER SET latin1 COLLATE latin1_bin;"
533
550
insert_query = "INSERT INTO test VALUES('Hello', 'World')"
534
551
event = self .create_and_insert_value (create_query , insert_query )
535
- self .assertEqual (event .rows [0 ]["values" ]["test" ], b"Hello" )
536
- self .assertEqual (event .rows [0 ]["values" ]["test2" ], "World" )
552
+ if event .table_map [event .table_id ].column_name_flag :
553
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], b"Hello" )
554
+ self .assertEqual (event .rows [0 ]["values" ]["test2" ], "World" )
537
555
538
556
def test_string (self ):
539
557
create_query = (
540
558
"CREATE TABLE test (test CHAR(12)) CHARACTER SET latin1 COLLATE latin1_bin;"
541
559
)
542
560
insert_query = "INSERT INTO test VALUES('Hello')"
543
561
event = self .create_and_insert_value (create_query , insert_query )
544
- self .assertEqual (event .rows [0 ]["values" ]["test" ], "Hello" )
562
+ if event .table_map [event .table_id ].column_name_flag :
563
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], "Hello" )
545
564
546
565
def test_geometry (self ):
547
566
create_query = "CREATE TABLE test (test GEOMETRY);"
548
567
insert_query = "INSERT INTO test VALUES(GeomFromText('POINT(1 1)'))"
549
568
event = self .create_and_insert_value (create_query , insert_query )
550
- self .assertEqual (
551
- event .rows [0 ]["values" ]["test" ],
552
- b"\x00 \x00 \x00 \x00 \x01 \x01 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \xf0 ?\x00 \x00 \x00 \x00 \x00 \x00 \xf0 ?" ,
553
- )
569
+ if event .table_map [event .table_id ].column_name_flag :
570
+ self .assertEqual (
571
+ event .rows [0 ]["values" ]["test" ],
572
+ b"\x00 \x00 \x00 \x00 \x01 \x01 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \xf0 ?\x00 \x00 \x00 \x00 \x00 \x00 \xf0 ?" ,
573
+ )
554
574
555
575
def test_json (self ):
556
576
if not self .isMySQL57 ():
557
577
self .skipTest ("Json is only supported in mysql 5.7" )
558
578
create_query = "CREATE TABLE test (id int, value json);"
559
579
insert_query = """INSERT INTO test (id, value) VALUES (1, '{"my_key": "my_val", "my_key2": "my_val2"}');"""
560
580
event = self .create_and_insert_value (create_query , insert_query )
561
- self .assertEqual (
562
- event .rows [0 ]["values" ]["value" ],
563
- {b"my_key" : b"my_val" , b"my_key2" : b"my_val2" },
564
- )
581
+ if event .table_map [event .table_id ].column_name_flag :
582
+ self .assertEqual (
583
+ event .rows [0 ]["values" ]["value" ],
584
+ {b"my_key" : b"my_val" , b"my_key2" : b"my_val2" },
585
+ )
565
586
566
587
def test_json_array (self ):
567
588
if not self .isMySQL57 ():
@@ -571,7 +592,8 @@ def test_json_array(self):
571
592
"""INSERT INTO test (id, value) VALUES (1, '["my_val", "my_val2"]');"""
572
593
)
573
594
event = self .create_and_insert_value (create_query , insert_query )
574
- self .assertEqual (event .rows [0 ]["values" ]["value" ], [b"my_val" , b"my_val2" ])
595
+ if event .table_map [event .table_id ].column_name_flag :
596
+ self .assertEqual (event .rows [0 ]["values" ]["value" ], [b"my_val" , b"my_val2" ])
575
597
576
598
def test_json_large (self ):
577
599
if not self .isMySQL57 ():
@@ -584,8 +606,8 @@ def test_json_large(self):
584
606
"""INSERT INTO test (id, value) VALUES (1, '%s');""" % json .dumps (data )
585
607
)
586
608
event = self .create_and_insert_value (create_query , insert_query )
587
-
588
- self .assertEqual (event .rows [0 ]["values" ]["value" ], to_binary_dict (data ))
609
+ if event . table_map [ event . table_id ]. column_name_flag :
610
+ self .assertEqual (event .rows [0 ]["values" ]["value" ], to_binary_dict (data ))
589
611
590
612
def test_json_large_array (self ):
591
613
"Test json array larger than 64k bytes"
@@ -597,7 +619,8 @@ def test_json_large_array(self):
597
619
json .dumps (large_array ),
598
620
)
599
621
event = self .create_and_insert_value (create_query , insert_query )
600
- self .assertEqual (event .rows [0 ]["values" ]["value" ], to_binary_dict (large_array ))
622
+ if event .table_map [event .table_id ].column_name_flag :
623
+ self .assertEqual (event .rows [0 ]["values" ]["value" ], to_binary_dict (large_array ))
601
624
602
625
def test_json_large_with_literal (self ):
603
626
if not self .isMySQL57 ():
@@ -610,8 +633,8 @@ def test_json_large_with_literal(self):
610
633
"""INSERT INTO test (id, value) VALUES (1, '%s');""" % json .dumps (data )
611
634
)
612
635
event = self .create_and_insert_value (create_query , insert_query )
613
-
614
- self .assertEqual (event .rows [0 ]["values" ]["value" ], to_binary_dict (data ))
636
+ if event . table_map [ event . table_id ]. column_name_flag :
637
+ self .assertEqual (event .rows [0 ]["values" ]["value" ], to_binary_dict (data ))
615
638
616
639
def test_json_types (self ):
617
640
if not self .isMySQL57 ():
@@ -638,7 +661,8 @@ def test_json_types(self):
638
661
"""INSERT INTO test (id, value) VALUES (1, '%s');""" % json .dumps (data )
639
662
)
640
663
event = self .create_and_insert_value (create_query , insert_query )
641
- self .assertEqual (event .rows [0 ]["values" ]["value" ], to_binary_dict (data ))
664
+ if event .table_map [event .table_id ].column_name_flag :
665
+ self .assertEqual (event .rows [0 ]["values" ]["value" ], to_binary_dict (data ))
642
666
643
667
self .tearDown ()
644
668
self .setUp ()
@@ -666,7 +690,8 @@ def test_json_basic(self):
666
690
"""INSERT INTO test (id, value) VALUES (1, '%s');""" % json .dumps (data )
667
691
)
668
692
event = self .create_and_insert_value (create_query , insert_query )
669
- self .assertEqual (event .rows [0 ]["values" ]["value" ], data )
693
+ if event .table_map [event .table_id ].column_name_flag :
694
+ self .assertEqual (event .rows [0 ]["values" ]["value" ], data )
670
695
671
696
self .tearDown ()
672
697
self .setUp ()
@@ -677,7 +702,8 @@ def test_json_unicode(self):
677
702
create_query = "CREATE TABLE test (id int, value json);"
678
703
insert_query = """INSERT INTO test (id, value) VALUES (1, '{"miam": "🍔"}');"""
679
704
event = self .create_and_insert_value (create_query , insert_query )
680
- self .assertEqual (event .rows [0 ]["values" ]["value" ][b"miam" ], "🍔" .encode ("utf8" ))
705
+ if event .table_map [event .table_id ].column_name_flag :
706
+ self .assertEqual (event .rows [0 ]["values" ]["value" ][b"miam" ], "🍔" .encode ("utf8" ))
681
707
682
708
def test_json_long_string (self ):
683
709
if not self .isMySQL57 ():
@@ -690,9 +716,10 @@ def test_json_long_string(self):
690
716
% (string_value ,)
691
717
)
692
718
event = self .create_and_insert_value (create_query , insert_query )
693
- self .assertEqual (
694
- event .rows [0 ]["values" ]["value" ], to_binary_dict ({"my_key" : string_value })
695
- )
719
+ if event .table_map [event .table_id ].column_name_flag :
720
+ self .assertEqual (
721
+ event .rows [0 ]["values" ]["value" ], to_binary_dict ({"my_key" : string_value })
722
+ )
696
723
697
724
def test_null (self ):
698
725
create_query = "CREATE TABLE test ( \
@@ -719,11 +746,12 @@ def test_null(self):
719
746
)"
720
747
insert_query = "INSERT INTO test (test, test2, test3, test7, test20) VALUES(NULL, -128, NULL, 42, 84)"
721
748
event = self .create_and_insert_value (create_query , insert_query )
722
- self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
723
- self .assertEqual (event .rows [0 ]["values" ]["test2" ], - 128 )
724
- self .assertEqual (event .rows [0 ]["values" ]["test3" ], None )
725
- self .assertEqual (event .rows [0 ]["values" ]["test7" ], 42 )
726
- self .assertEqual (event .rows [0 ]["values" ]["test20" ], 84 )
749
+ if event .table_map [event .table_id ].column_name_flag :
750
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
751
+ self .assertEqual (event .rows [0 ]["values" ]["test2" ], - 128 )
752
+ self .assertEqual (event .rows [0 ]["values" ]["test3" ], None )
753
+ self .assertEqual (event .rows [0 ]["values" ]["test7" ], 42 )
754
+ self .assertEqual (event .rows [0 ]["values" ]["test20" ], 84 )
727
755
728
756
def test_encoding_latin1 (self ):
729
757
db = copy .copy (self .database )
@@ -740,7 +768,8 @@ def test_encoding_latin1(self):
740
768
)
741
769
insert_query = b"INSERT INTO test VALUES('" + string .encode ("latin-1" ) + b"');"
742
770
event = self .create_and_insert_value (create_query , insert_query )
743
- self .assertEqual (event .rows [0 ]["values" ]["test" ], string )
771
+ if event .table_map [event .table_id ].column_name_flag :
772
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], string )
744
773
745
774
def test_encoding_utf8 (self ):
746
775
if platform .python_version_tuple ()[0 ] == "2" :
@@ -754,7 +783,8 @@ def test_encoding_utf8(self):
754
783
insert_query = b"INSERT INTO test VALUES('" + string .encode ("utf-8" ) + b"')"
755
784
756
785
event = self .create_and_insert_value (create_query , insert_query )
757
- self .assertMultiLineEqual (event .rows [0 ]["values" ]["test" ], string )
786
+ if event .table_map [event .table_id ].column_name_flag :
787
+ self .assertMultiLineEqual (event .rows [0 ]["values" ]["test" ], string )
758
788
759
789
def test_zerofill (self ):
760
790
create_query = "CREATE TABLE test ( \
@@ -768,11 +798,12 @@ def test_zerofill(self):
768
798
"INSERT INTO test (test, test2, test3, test4, test5) VALUES(1, 1, 1, 1, 1)"
769
799
)
770
800
event = self .create_and_insert_value (create_query , insert_query )
771
- self .assertEqual (event .rows [0 ]["values" ]["test" ], "001" )
772
- self .assertEqual (event .rows [0 ]["values" ]["test2" ], "00001" )
773
- self .assertEqual (event .rows [0 ]["values" ]["test3" ], "00000001" )
774
- self .assertEqual (event .rows [0 ]["values" ]["test4" ], "0000000001" )
775
- self .assertEqual (event .rows [0 ]["values" ]["test5" ], "00000000000000000001" )
801
+ if event .table_map [event .table_id ].column_name_flag :
802
+ self .assertEqual (event .rows [0 ]["values" ]["test" ], "001" )
803
+ self .assertEqual (event .rows [0 ]["values" ]["test2" ], "00001" )
804
+ self .assertEqual (event .rows [0 ]["values" ]["test3" ], "00000001" )
805
+ self .assertEqual (event .rows [0 ]["values" ]["test4" ], "0000000001" )
806
+ self .assertEqual (event .rows [0 ]["values" ]["test5" ], "00000000000000000001" )
776
807
777
808
def test_partition_id (self ):
778
809
if not self .isMySQL80AndMore ():
0 commit comments