From: Date: July 28 2005 11:31am Subject: bk commit into 5.0 tree (marko:1.1911) List-Archive: http://lists.mysql.com/internals/27673 Message-Id: <200507280931.j6S9VCgP021275@hundin.mysql.fi> Below is the list of changes that have just been committed into a local 5.0 repository of marko. When marko does a push these changes will be propagated to the main repository and, within 24 hours after the push, to the public repository. For information on how to access the public repository see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html ChangeSet 1.1911 05/07/28 12:30:52 marko@stripped +2 -0 row_sel_store_mysql_rec(): Convert NULL true VARCHAR columns correctly. mysql-test/r/innodb.result 1.124 05/07/28 12:30:30 marko@stripped +4 -4 Update table checksums to reflect the new handling of true VARCHAR columns that are NULL. innobase/row/row0sel.c 1.96 05/07/28 12:30:30 marko@stripped +10 -2 Initialize NULL true VARCHAR columns with NUL bytes, as that is what the columns will contain in handler::write_row(). (Bug #12186) # This is a BitKeeper patch. What follows are the unified diffs for the # set of deltas contained in the patch. The rest of the patch, the part # that BitKeeper cares about, is below these diffs. # User: marko # Host: hundin.mysql.fi # Root: /home/marko/mysql-5.0 --- 1.95/innobase/row/row0sel.c 2005-07-22 14:09:52 +03:00 +++ 1.96/innobase/row/row0sel.c 2005-07-28 12:30:30 +03:00 @@ -2524,11 +2524,19 @@ (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)) { --- 1.123/mysql-test/r/innodb.result 2005-07-14 16:50:57 +03:00 +++ 1.124/mysql-test/r/innodb.result 2005-07-28 12:30:30 +03:00 @@ -1452,16 +1452,16 @@ 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