summaryrefslogtreecommitdiff
path: root/innobase/rem
diff options
context:
space:
mode:
Diffstat (limited to 'innobase/rem')
-rw-r--r--innobase/rem/rem0cmp.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/innobase/rem/rem0cmp.c b/innobase/rem/rem0cmp.c
index f3d9d579aa0..363bb013ac9 100644
--- a/innobase/rem/rem0cmp.c
+++ b/innobase/rem/rem0cmp.c
@@ -100,7 +100,15 @@ cmp_types_are_equal(
dtype_t* type1, /* in: type 1 */
dtype_t* type2) /* in: type 2 */
{
- if (type1->mtype != type2->mtype) {
+ if ((type1->mtype == DATA_VARCHAR && type2->mtype == DATA_CHAR)
+ || (type1->mtype == DATA_CHAR && type2->mtype == DATA_VARCHAR)
+ || (type1->mtype == DATA_FIXBINARY && type2->mtype == DATA_BINARY)
+ || (type1->mtype == DATA_BINARY && type2->mtype == DATA_FIXBINARY)) {
+
+ return(TRUE);
+ }
+
+ if (type1->mtype != type2->mtype) {
return(FALSE);
}