@@ -386,6 +386,10 @@ def test_zero_date(self):
386386 self .assertEqual (event .rows [0 ]["values" ]["test2" ], None )
387387
388388 def test_zero_month (self ):
389+ if not self .isMySQL57 ():
390+ self .skipTest (
391+ "Not supported in this version of MySQL 8"
392+ ) # pymysql.err.OperationalError
389393 self .set_sql_mode ()
390394 create_query = "CREATE TABLE test (id INTEGER, test DATE, test2 DATE);"
391395 insert_query = "INSERT INTO test (id, test2) VALUES(1, '2015-00-21')"
@@ -395,6 +399,10 @@ def test_zero_month(self):
395399 self .assertEqual (event .rows [0 ]["values" ]["test2" ], None )
396400
397401 def test_zero_day (self ):
402+ if not self .isMySQL57 ():
403+ self .skipTest (
404+ "Not supported in this version of MySQL 8"
405+ ) # pymysql.err.OperationalError
398406 self .set_sql_mode ()
399407 create_query = "CREATE TABLE test (id INTEGER, test DATE, test2 DATE);"
400408 insert_query = "INSERT INTO test (id, test2) VALUES(1, '2015-05-00')"
@@ -463,6 +471,10 @@ def test_datetime(self):
463471 )
464472
465473 def test_zero_datetime (self ):
474+ if not self .isMySQL57 ():
475+ self .skipTest (
476+ "Not supported in this version of MySQL 8"
477+ ) # pymysql.err.OperationalError Invalid default value for 'test'
466478 self .set_sql_mode ()
467479 create_query = (
468480 "CREATE TABLE test (id INTEGER, test DATETIME NOT NULL DEFAULT 0);"
@@ -473,6 +485,10 @@ def test_zero_datetime(self):
473485 self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
474486
475487 def test_broken_datetime (self ):
488+ if not self .isMySQL57 ():
489+ self .skipTest (
490+ "Not supported in this version of MySQL 8"
491+ ) # pymysql.err.OperationalError Incorrect datetime value: '2013-00-00 00:00:00' for column 'test'
476492 self .set_sql_mode ()
477493 create_query = "CREATE TABLE test (test DATETIME NOT NULL);"
478494 insert_query = "INSERT INTO test VALUES('2013-00-00 00:00:00')"
@@ -483,8 +499,10 @@ def test_broken_datetime(self):
483499 def test_year (self ):
484500 if self .isMySQL57 ():
485501 # https://dev.mysql.com/doc/refman/5.7/en/migrating-to-year4.html
486- self .skipTest ("YEAR(2) is unsupported in mysql 5.7" )
487- create_query = "CREATE TABLE test (a YEAR(4), b YEAR(2))"
502+ self .skipTest (
503+ "YEAR(2) is unsupported in mysql 5.7"
504+ ) # pymysql.err.OperationalError: (1818, 'Supports only YEAR or YEAR(4) column.')
505+ create_query = "CREATE TABLE test (a YEAR(4), b YEAR)"
488506 insert_query = "INSERT INTO test VALUES(1984, 1984)"
489507 event = self .create_and_insert_value (create_query , insert_query )
490508 if event .table_map [event .table_id ].column_name_flag :
@@ -533,31 +551,31 @@ def test_tiny_blob(self):
533551 insert_query = "INSERT INTO test VALUES('Hello', 'World')"
534552 event = self .create_and_insert_value (create_query , insert_query )
535553 if event .table_map [event .table_id ].column_name_flag :
536- self .assertEqual (event .rows [0 ]["values" ]["test" ], "Hello" )
554+ self .assertEqual (event .rows [0 ]["values" ]["test" ], b "Hello" )
537555 self .assertEqual (event .rows [0 ]["values" ]["test2" ], "World" )
538556
539557 def test_medium_blob (self ):
540558 create_query = "CREATE TABLE test (test MEDIUMBLOB, test2 MEDIUMTEXT) CHARACTER SET latin1 COLLATE latin1_bin;"
541559 insert_query = "INSERT INTO test VALUES('Hello', 'World')"
542560 event = self .create_and_insert_value (create_query , insert_query )
543561 if event .table_map [event .table_id ].column_name_flag :
544- self .assertEqual (event .rows [0 ]["values" ]["test" ], "Hello" )
562+ self .assertEqual (event .rows [0 ]["values" ]["test" ], b "Hello" )
545563 self .assertEqual (event .rows [0 ]["values" ]["test2" ], "World" )
546564
547565 def test_long_blob (self ):
548566 create_query = "CREATE TABLE test (test LONGBLOB, test2 LONGTEXT) CHARACTER SET latin1 COLLATE latin1_bin;"
549567 insert_query = "INSERT INTO test VALUES('Hello', 'World')"
550568 event = self .create_and_insert_value (create_query , insert_query )
551569 if event .table_map [event .table_id ].column_name_flag :
552- self .assertEqual (event .rows [0 ]["values" ]["test" ], "Hello" )
570+ self .assertEqual (event .rows [0 ]["values" ]["test" ], b "Hello" )
553571 self .assertEqual (event .rows [0 ]["values" ]["test2" ], "World" )
554572
555573 def test_blob (self ):
556574 create_query = "CREATE TABLE test (test BLOB, test2 TEXT) CHARACTER SET latin1 COLLATE latin1_bin;"
557575 insert_query = "INSERT INTO test VALUES('Hello', 'World')"
558576 event = self .create_and_insert_value (create_query , insert_query )
559577 if event .table_map [event .table_id ].column_name_flag :
560- self .assertEqual (event .rows [0 ]["values" ]["test" ], "Hello" )
578+ self .assertEqual (event .rows [0 ]["values" ]["test" ], b "Hello" )
561579 self .assertEqual (event .rows [0 ]["values" ]["test2" ], "World" )
562580
563581 def test_string (self ):
@@ -571,7 +589,7 @@ def test_string(self):
571589
572590 def test_geometry (self ):
573591 create_query = "CREATE TABLE test (test GEOMETRY);"
574- insert_query = "INSERT INTO test VALUES(GeomFromText ('POINT(1 1)'))"
592+ insert_query = "INSERT INTO test VALUES(ST_GeomFromText ('POINT(1 1)'))"
575593 event = self .create_and_insert_value (create_query , insert_query )
576594 if event .table_map [event .table_id ].column_name_flag :
577595 self .assertEqual (
0 commit comments