summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mysql-test/r/ctype_cp850.result1050
-rw-r--r--mysql-test/r/ctype_cp866.result12
-rw-r--r--mysql-test/t/ctype_cp850.test32
-rw-r--r--mysql-test/t/ctype_cp866.test14
-rw-r--r--sql/item.h13
-rw-r--r--sql/item_cmpfunc.cc4
6 files changed, 1123 insertions, 2 deletions
diff --git a/mysql-test/r/ctype_cp850.result b/mysql-test/r/ctype_cp850.result
index c028f72b58a..c6aba9d3f4e 100644
--- a/mysql-test/r/ctype_cp850.result
+++ b/mysql-test/r/ctype_cp850.result
@@ -12,3 +12,1053 @@ DROP TABLE t1;
#
# End of 5.5 tests
#
+#
+# Start of 10.2 tests
+#
+#
+# MDEV-25610 Assertion `escape != -1' failed in Item_func_like::val_int
+#
+SET NAMES cp850;
+SELECT '' LIKE '' ESCAPE _cp850 0xFF;
+'' LIKE '' ESCAPE _cp850 0xFF
+1
+BEGIN NOT ATOMIC
+DECLARE ch INT DEFAULT 0x00;
+DECLARE query TEXT DEFAULT 'SELECT _cp850'''' LIKE _cp850'''' ESCAPE _cp850 0xFF';
+WHILE ch <= 0xFF DO
+SET @query= REPLACE(query, 'FF', CONV(ch, 10, 16));
+SELECT @query;
+PREPARE stmt FROM @query;
+EXECUTE stmt;
+DEALLOCATE PREPARE stmt;
+SET ch=ch+1;
+END WHILE;
+END;
+$$
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x0
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x0
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x1
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x1
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x2
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x2
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x3
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x3
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x4
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x4
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x5
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x5
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x6
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x6
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x7
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x7
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x8
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x8
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x9
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x9
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xA
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xA
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xB
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xB
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xC
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xC
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xD
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xD
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xE
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xE
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xF
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xF
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x10
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x10
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x11
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x11
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x12
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x12
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x13
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x13
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x14
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x14
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x15
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x15
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x16
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x16
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x17
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x17
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x18
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x18
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x19
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x19
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x1A
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x1A
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x1B
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x1B
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x1C
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x1C
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x1D
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x1D
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x1E
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x1E
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x1F
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x1F
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x20
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x20
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x21
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x21
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x22
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x22
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x23
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x23
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x24
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x24
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x25
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x25
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x26
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x26
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x27
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x27
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x28
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x28
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x29
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x29
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x2A
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x2A
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x2B
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x2B
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x2C
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x2C
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x2D
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x2D
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x2E
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x2E
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x2F
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x2F
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x30
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x30
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x31
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x31
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x32
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x32
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x33
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x33
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x34
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x34
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x35
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x35
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x36
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x36
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x37
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x37
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x38
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x38
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x39
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x39
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x3A
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x3A
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x3B
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x3B
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x3C
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x3C
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x3D
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x3D
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x3E
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x3E
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x3F
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x3F
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x40
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x40
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x41
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x41
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x42
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x42
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x43
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x43
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x44
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x44
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x45
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x45
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x46
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x46
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x47
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x47
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x48
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x48
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x49
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x49
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x4A
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x4A
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x4B
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x4B
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x4C
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x4C
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x4D
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x4D
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x4E
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x4E
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x4F
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x4F
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x50
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x50
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x51
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x51
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x52
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x52
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x53
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x53
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x54
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x54
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x55
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x55
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x56
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x56
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x57
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x57
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x58
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x58
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x59
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x59
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x5A
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x5A
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x5B
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x5B
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x5C
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x5C
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x5D
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x5D
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x5E
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x5E
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x5F
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x5F
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x60
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x60
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x61
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x61
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x62
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x62
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x63
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x63
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x64
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x64
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x65
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x65
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x66
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x66
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x67
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x67
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x68
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x68
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x69
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x69
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x6A
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x6A
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x6B
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x6B
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x6C
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x6C
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x6D
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x6D
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x6E
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x6E
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x6F
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x6F
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x70
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x70
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x71
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x71
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x72
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x72
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x73
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x73
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x74
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x74
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x75
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x75
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x76
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x76
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x77
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x77
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x78
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x78
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x79
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x79
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x7A
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x7A
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x7B
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x7B
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x7C
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x7C
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x7D
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x7D
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x7E
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x7E
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x7F
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x7F
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x80
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x80
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x81
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x81
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x82
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x82
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x83
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x83
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x84
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x84
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x85
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x85
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x86
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x86
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x87
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x87
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x88
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x88
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x89
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x89
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x8A
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x8A
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x8B
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x8B
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x8C
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x8C
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x8D
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x8D
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x8E
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x8E
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x8F
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x8F
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x90
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x90
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x91
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x91
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x92
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x92
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x93
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x93
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x94
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x94
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x95
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x95
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x96
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x96
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x97
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x97
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x98
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x98
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x99
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x99
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x9A
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x9A
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x9B
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x9B
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x9C
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x9C
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x9D
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x9D
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x9E
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x9E
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0x9F
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0x9F
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xA0
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xA0
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xA1
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xA1
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xA2
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xA2
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xA3
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xA3
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xA4
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xA4
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xA5
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xA5
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xA6
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xA6
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xA7
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xA7
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xA8
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xA8
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xA9
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xA9
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xAA
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xAA
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xAB
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xAB
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xAC
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xAC
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xAD
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xAD
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xAE
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xAE
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xAF
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xAF
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xB0
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xB0
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xB1
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xB1
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xB2
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xB2
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xB3
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xB3
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xB4
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xB4
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xB5
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xB5
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xB6
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xB6
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xB7
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xB7
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xB8
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xB8
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xB9
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xB9
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xBA
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xBA
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xBB
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xBB
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xBC
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xBC
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xBD
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xBD
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xBE
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xBE
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xBF
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xBF
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xC0
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xC0
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xC1
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xC1
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xC2
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xC2
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xC3
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xC3
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xC4
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xC4
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xC5
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xC5
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xC6
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xC6
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xC7
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xC7
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xC8
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xC8
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xC9
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xC9
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xCA
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xCA
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xCB
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xCB
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xCC
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xCC
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xCD
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xCD
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xCE
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xCE
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xCF
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xCF
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xD0
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xD0
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xD1
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xD1
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xD2
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xD2
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xD3
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xD3
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xD4
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xD4
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xD5
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xD5
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xD6
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xD6
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xD7
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xD7
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xD8
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xD8
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xD9
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xD9
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xDA
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xDA
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xDB
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xDB
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xDC
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xDC
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xDD
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xDD
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xDE
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xDE
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xDF
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xDF
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xE0
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xE0
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xE1
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xE1
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xE2
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xE2
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xE3
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xE3
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xE4
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xE4
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xE5
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xE5
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xE6
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xE6
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xE7
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xE7
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xE8
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xE8
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xE9
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xE9
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xEA
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xEA
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xEB
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xEB
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xEC
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xEC
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xED
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xED
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xEE
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xEE
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xEF
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xEF
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xF0
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xF0
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xF1
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xF1
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xF2
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xF2
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xF3
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xF3
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xF4
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xF4
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xF5
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xF5
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xF6
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xF6
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xF7
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xF7
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xF8
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xF8
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xF9
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xF9
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xFA
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xFA
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xFB
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xFB
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xFC
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xFC
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xFD
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xFD
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xFE
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xFE
+1
+@query
+SELECT _cp850'' LIKE _cp850'' ESCAPE _cp850 0xFF
+_cp850'' LIKE _cp850'' ESCAPE _cp850 0xFF
+1
+#
+# End of 10.2 tests
+#
diff --git a/mysql-test/r/ctype_cp866.result b/mysql-test/r/ctype_cp866.result
new file mode 100644
index 00000000000..008f94f3c79
--- /dev/null
+++ b/mysql-test/r/ctype_cp866.result
@@ -0,0 +1,12 @@
+#
+# Start of 10.2 tests
+#
+#
+# MDEV-25610 Assertion `escape != -1' failed in Item_func_like::val_int
+#
+SELECT _cp866'' LIKE _cp866'' ESCAPE _cp866 0xFF;
+_cp866'' LIKE _cp866'' ESCAPE _cp866 0xFF
+1
+#
+# End of 10.2 tests
+#
diff --git a/mysql-test/t/ctype_cp850.test b/mysql-test/t/ctype_cp850.test
index 358829eb351..d2fac6f3646 100644
--- a/mysql-test/t/ctype_cp850.test
+++ b/mysql-test/t/ctype_cp850.test
@@ -14,3 +14,35 @@ DROP TABLE t1;
--echo #
--echo # End of 5.5 tests
--echo #
+
+--echo #
+--echo # Start of 10.2 tests
+--echo #
+
+--echo #
+--echo # MDEV-25610 Assertion `escape != -1' failed in Item_func_like::val_int
+--echo #
+
+SET NAMES cp850;
+SELECT '' LIKE '' ESCAPE _cp850 0xFF;
+
+DELIMITER $$;
+BEGIN NOT ATOMIC
+ DECLARE ch INT DEFAULT 0x00;
+ DECLARE query TEXT DEFAULT 'SELECT _cp850'''' LIKE _cp850'''' ESCAPE _cp850 0xFF';
+ WHILE ch <= 0xFF DO
+ SET @query= REPLACE(query, 'FF', CONV(ch, 10, 16));
+ SELECT @query;
+ PREPARE stmt FROM @query;
+ EXECUTE stmt;
+ DEALLOCATE PREPARE stmt;
+ SET ch=ch+1;
+ END WHILE;
+END;
+$$
+DELIMITER ;$$
+
+
+--echo #
+--echo # End of 10.2 tests
+--echo #
diff --git a/mysql-test/t/ctype_cp866.test b/mysql-test/t/ctype_cp866.test
new file mode 100644
index 00000000000..cdc694d2fc7
--- /dev/null
+++ b/mysql-test/t/ctype_cp866.test
@@ -0,0 +1,14 @@
+--echo #
+--echo # Start of 10.2 tests
+--echo #
+
+--echo #
+--echo # MDEV-25610 Assertion `escape != -1' failed in Item_func_like::val_int
+--echo #
+
+SELECT _cp866'' LIKE _cp866'' ESCAPE _cp866 0xFF;
+
+
+--echo #
+--echo # End of 10.2 tests
+--echo #
diff --git a/sql/item.h b/sql/item.h
index 35700129243..2a904c1691a 100644
--- a/sql/item.h
+++ b/sql/item.h
@@ -6237,6 +6237,19 @@ public:
/*
+ fix_escape_item() sets the out "escape" parameter to:
+ - native code in case of an 8bit character set
+ - Unicode code point in case of a multi-byte character set
+
+ The value meaning a not-initialized ESCAPE character must not be equal to
+ any valid value, so must be outside of these ranges:
+ - -128..+127, not to conflict with a valid 8bit charcter
+ - 0..0x10FFFF, not to conflict with a valid Unicode code point
+ The exact value does not matter.
+*/
+#define ESCAPE_NOT_INITIALIZED -1000
+
+/*
It's used in ::fix_fields() methods of LIKE and JSON_SEARCH
functions to handle the ESCAPE parameter.
This parameter is quite non-standard so the specific function.
diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc
index 8a2c532f621..3a76982d80e 100644
--- a/sql/item_cmpfunc.cc
+++ b/sql/item_cmpfunc.cc
@@ -5266,7 +5266,7 @@ void Item_func_like::print(String *str, enum_query_type query_type)
longlong Item_func_like::val_int()
{
DBUG_ASSERT(fixed == 1);
- DBUG_ASSERT(escape != -1);
+ DBUG_ASSERT(escape != ESCAPE_NOT_INITIALIZED);
String* res= args[0]->val_str(&cmp_value1);
if (args[0]->null_value)
{
@@ -5370,7 +5370,7 @@ bool fix_escape_item(THD *thd, Item *escape_item, String *tmp_str,
return TRUE;
}
- IF_DBUG(*escape= -1,);
+ IF_DBUG(*escape= ESCAPE_NOT_INITIALIZED,);
if (escape_item->const_item())
{