@@ -194,6 +194,7 @@ def test_timestamp(self):
194
194
def test_timestamp_mysql56 (self ):
195
195
if not self .isMySQL56AndMore ():
196
196
self .skipTest ("Not supported in this version of MySQL" )
197
+ self .set_sql_mode ()
197
198
create_query = '''CREATE TABLE test (test0 TIMESTAMP(0),
198
199
test1 TIMESTAMP(1),
199
200
test2 TIMESTAMP(2),
@@ -249,13 +250,15 @@ def test_zero_date(self):
249
250
self .assertEqual (event .rows [0 ]["values" ]["test2" ], None )
250
251
251
252
def test_zero_month (self ):
253
+ self .set_sql_mode ()
252
254
create_query = "CREATE TABLE test (id INTEGER, test DATE, test2 DATE);"
253
255
insert_query = "INSERT INTO test (id, test2) VALUES(1, '2015-00-21')"
254
256
event = self .create_and_insert_value (create_query , insert_query )
255
257
self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
256
258
self .assertEqual (event .rows [0 ]["values" ]["test2" ], None )
257
259
258
260
def test_zero_day (self ):
261
+ self .set_sql_mode ()
259
262
create_query = "CREATE TABLE test (id INTEGER, test DATE, test2 DATE);"
260
263
insert_query = "INSERT INTO test (id, test2) VALUES(1, '2015-05-00')"
261
264
event = self .create_and_insert_value (create_query , insert_query )
@@ -281,18 +284,23 @@ def test_datetime(self):
281
284
self .assertEqual (event .rows [0 ]["values" ]["test" ], datetime .datetime (1984 , 12 , 3 , 12 , 33 , 7 ))
282
285
283
286
def test_zero_datetime (self ):
287
+ self .set_sql_mode ()
284
288
create_query = "CREATE TABLE test (id INTEGER, test DATETIME NOT NULL DEFAULT 0);"
285
289
insert_query = "INSERT INTO test (id) VALUES(1)"
286
290
event = self .create_and_insert_value (create_query , insert_query )
287
291
self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
288
292
289
293
def test_broken_datetime (self ):
294
+ self .set_sql_mode ()
290
295
create_query = "CREATE TABLE test (test DATETIME NOT NULL);"
291
296
insert_query = "INSERT INTO test VALUES('2013-00-00 00:00:00')"
292
297
event = self .create_and_insert_value (create_query , insert_query )
293
298
self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
294
299
295
300
def test_year (self ):
301
+ if self .isMySQL57 ():
302
+ # https://dev.mysql.com/doc/refman/5.7/en/migrating-to-year4.html
303
+ self .skipTest ("YEAR(2) is unsupported in mysql 5.7" )
296
304
create_query = "CREATE TABLE test (a YEAR(4), b YEAR(2))"
297
305
insert_query = "INSERT INTO test VALUES(1984, 1984)"
298
306
event = self .create_and_insert_value (create_query , insert_query )
0 commit comments