@@ -194,6 +194,7 @@ def test_timestamp(self):
194194 def test_timestamp_mysql56 (self ):
195195 if not self .isMySQL56AndMore ():
196196 self .skipTest ("Not supported in this version of MySQL" )
197+ self .set_sql_mode ()
197198 create_query = '''CREATE TABLE test (test0 TIMESTAMP(0),
198199 test1 TIMESTAMP(1),
199200 test2 TIMESTAMP(2),
@@ -249,13 +250,15 @@ def test_zero_date(self):
249250 self .assertEqual (event .rows [0 ]["values" ]["test2" ], None )
250251
251252 def test_zero_month (self ):
253+ self .set_sql_mode ()
252254 create_query = "CREATE TABLE test (id INTEGER, test DATE, test2 DATE);"
253255 insert_query = "INSERT INTO test (id, test2) VALUES(1, '2015-00-21')"
254256 event = self .create_and_insert_value (create_query , insert_query )
255257 self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
256258 self .assertEqual (event .rows [0 ]["values" ]["test2" ], None )
257259
258260 def test_zero_day (self ):
261+ self .set_sql_mode ()
259262 create_query = "CREATE TABLE test (id INTEGER, test DATE, test2 DATE);"
260263 insert_query = "INSERT INTO test (id, test2) VALUES(1, '2015-05-00')"
261264 event = self .create_and_insert_value (create_query , insert_query )
@@ -281,18 +284,23 @@ def test_datetime(self):
281284 self .assertEqual (event .rows [0 ]["values" ]["test" ], datetime .datetime (1984 , 12 , 3 , 12 , 33 , 7 ))
282285
283286 def test_zero_datetime (self ):
287+ self .set_sql_mode ()
284288 create_query = "CREATE TABLE test (id INTEGER, test DATETIME NOT NULL DEFAULT 0);"
285289 insert_query = "INSERT INTO test (id) VALUES(1)"
286290 event = self .create_and_insert_value (create_query , insert_query )
287291 self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
288292
289293 def test_broken_datetime (self ):
294+ self .set_sql_mode ()
290295 create_query = "CREATE TABLE test (test DATETIME NOT NULL);"
291296 insert_query = "INSERT INTO test VALUES('2013-00-00 00:00:00')"
292297 event = self .create_and_insert_value (create_query , insert_query )
293298 self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
294299
295300 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" )
296304 create_query = "CREATE TABLE test (a YEAR(4), b YEAR(2))"
297305 insert_query = "INSERT INTO test VALUES(1984, 1984)"
298306 event = self .create_and_insert_value (create_query , insert_query )
0 commit comments