@@ -386,6 +386,10 @@ def test_zero_date(self):
386
386
self .assertEqual (event .rows [0 ]["values" ]["test2" ], None )
387
387
388
388
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
389
393
self .set_sql_mode ()
390
394
create_query = "CREATE TABLE test (id INTEGER, test DATE, test2 DATE);"
391
395
insert_query = "INSERT INTO test (id, test2) VALUES(1, '2015-00-21')"
@@ -395,6 +399,10 @@ def test_zero_month(self):
395
399
self .assertEqual (event .rows [0 ]["values" ]["test2" ], None )
396
400
397
401
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
398
406
self .set_sql_mode ()
399
407
create_query = "CREATE TABLE test (id INTEGER, test DATE, test2 DATE);"
400
408
insert_query = "INSERT INTO test (id, test2) VALUES(1, '2015-05-00')"
@@ -463,6 +471,10 @@ def test_datetime(self):
463
471
)
464
472
465
473
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'
466
478
self .set_sql_mode ()
467
479
create_query = (
468
480
"CREATE TABLE test (id INTEGER, test DATETIME NOT NULL DEFAULT 0);"
@@ -473,6 +485,10 @@ def test_zero_datetime(self):
473
485
self .assertEqual (event .rows [0 ]["values" ]["test" ], None )
474
486
475
487
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'
476
492
self .set_sql_mode ()
477
493
create_query = "CREATE TABLE test (test DATETIME NOT NULL);"
478
494
insert_query = "INSERT INTO test VALUES('2013-00-00 00:00:00')"
@@ -483,8 +499,10 @@ def test_broken_datetime(self):
483
499
def test_year (self ):
484
500
if self .isMySQL57 ():
485
501
# 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)"
488
506
insert_query = "INSERT INTO test VALUES(1984, 1984)"
489
507
event = self .create_and_insert_value (create_query , insert_query )
490
508
if event .table_map [event .table_id ].column_name_flag :
@@ -533,31 +551,31 @@ def test_tiny_blob(self):
533
551
insert_query = "INSERT INTO test VALUES('Hello', 'World')"
534
552
event = self .create_and_insert_value (create_query , insert_query )
535
553
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" )
537
555
self .assertEqual (event .rows [0 ]["values" ]["test2" ], "World" )
538
556
539
557
def test_medium_blob (self ):
540
558
create_query = "CREATE TABLE test (test MEDIUMBLOB, test2 MEDIUMTEXT) CHARACTER SET latin1 COLLATE latin1_bin;"
541
559
insert_query = "INSERT INTO test VALUES('Hello', 'World')"
542
560
event = self .create_and_insert_value (create_query , insert_query )
543
561
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" )
545
563
self .assertEqual (event .rows [0 ]["values" ]["test2" ], "World" )
546
564
547
565
def test_long_blob (self ):
548
566
create_query = "CREATE TABLE test (test LONGBLOB, test2 LONGTEXT) CHARACTER SET latin1 COLLATE latin1_bin;"
549
567
insert_query = "INSERT INTO test VALUES('Hello', 'World')"
550
568
event = self .create_and_insert_value (create_query , insert_query )
551
569
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" )
553
571
self .assertEqual (event .rows [0 ]["values" ]["test2" ], "World" )
554
572
555
573
def test_blob (self ):
556
574
create_query = "CREATE TABLE test (test BLOB, test2 TEXT) CHARACTER SET latin1 COLLATE latin1_bin;"
557
575
insert_query = "INSERT INTO test VALUES('Hello', 'World')"
558
576
event = self .create_and_insert_value (create_query , insert_query )
559
577
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" )
561
579
self .assertEqual (event .rows [0 ]["values" ]["test2" ], "World" )
562
580
563
581
def test_string (self ):
@@ -571,7 +589,7 @@ def test_string(self):
571
589
572
590
def test_geometry (self ):
573
591
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)'))"
575
593
event = self .create_and_insert_value (create_query , insert_query )
576
594
if event .table_map [event .table_id ].column_name_flag :
577
595
self .assertEqual (
0 commit comments