summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--innobase/row/row0sel.c12
-rw-r--r--mysql-test/r/innodb.result8
2 files changed, 14 insertions, 6 deletions
diff --git a/innobase/row/row0sel.c b/innobase/row/row0sel.c
index 602f5855171..9234c4aeb26 100644
--- a/innobase/row/row0sel.c
+++ b/innobase/row/row0sel.c
@@ -2524,11 +2524,19 @@ row_sel_store_mysql_rec(
(byte) (templ->mysql_null_bit_mask);
switch (templ->type) {
case DATA_VARCHAR:
- case DATA_CHAR:
case DATA_BINARY:
+ case DATA_VARMYSQL:
+ if (templ->mysql_type
+ == DATA_MYSQL_TRUE_VARCHAR) {
+ /* This is a >= 5.0.3 type
+ true VARCHAR. Zero the field. */
+ pad_char = 0x00;
+ break;
+ }
+ /* Fall through */
+ case DATA_CHAR:
case DATA_FIXBINARY:
case DATA_MYSQL:
- case DATA_VARMYSQL:
/* MySQL pads all non-BLOB and non-TEXT
string types with space ' ' */
if (UNIV_UNLIKELY(templ->mbminlen == 2)) {
diff --git a/mysql-test/r/innodb.result b/mysql-test/r/innodb.result
index 2c73cbeeea4..2bdec5125dd 100644
--- a/mysql-test/r/innodb.result
+++ b/mysql-test/r/innodb.result
@@ -1452,16 +1452,16 @@ Error 1146 Table 'test.t4' doesn't exist
checksum table t1, t2, t3, t4;
Table Checksum
test.t1 2948697075
-test.t2 1157260244
-test.t3 1157260244
+test.t2 3835700799
+test.t3 3835700799
test.t4 NULL
Warnings:
Error 1146 Table 'test.t4' doesn't exist
checksum table t1, t2, t3, t4 extended;
Table Checksum
test.t1 3092701434
-test.t2 1157260244
-test.t3 1157260244
+test.t2 3835700799
+test.t3 3835700799
test.t4 NULL
Warnings:
Error 1146 Table 'test.t4' doesn't exist