From: kevin.lewis Date: July 8 2011 2:01pm Subject: bzr push into mysql-trunk branch (kevin.lewis:3249 to 3250) List-Archive: http://lists.mysql.com/commits/140265 Message-Id: <20110708140134.A237913D1542@kevin-lewis-macbook.local> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3250 kevin.lewis@stripped 2011-07-08 [merge] Merge from mysql-5.5 modified: mysql-test/suite/innodb/r/innodb-index.result mysql-test/suite/innodb/t/innodb-index.test storage/innobase/row/row0row.c 3249 Nirbhay Choubey 2011-07-08 Bug#12546842 - 61038: LOGROTATE SCRIPT IN SUPPORT-FILES NEEDS AN UPDATE. Updated script and option names which got changed long back and are not valid now, along with some modifications in comments. @ support-files/mysql-log-rotate.sh Bug 12546842 - 61038: LOGROTATE SCRIPT IN SUPPORT-FILES NEEDS AN UPDATE. Modified script name, option and comments. modified: support-files/mysql-log-rotate.sh === modified file 'mysql-test/suite/innodb/r/innodb-index.result' --- a/mysql-test/suite/innodb/r/innodb-index.result revid:nirbhay.choubey@stripped +++ b/mysql-test/suite/innodb/r/innodb-index.result revid:kevin.lewis@stripped @@ -976,6 +976,7 @@ v16 VARCHAR(500), v17 VARCHAR(500), v18 CREATE INDEX idx1 ON t1(a,v1); INSERT INTO t1 VALUES(9,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r); UPDATE t1 SET a=1000; +DELETE FROM t1; DROP TABLE t1; set global innodb_file_per_table=0; set global innodb_file_format=Antelope; === modified file 'mysql-test/suite/innodb/t/innodb-index.test' --- a/mysql-test/suite/innodb/t/innodb-index.test revid:nirbhay.choubey@stripped +++ b/mysql-test/suite/innodb/t/innodb-index.test revid:kevin.lewis@stripped @@ -473,6 +473,9 @@ CREATE TABLE t1(a INT, CREATE INDEX idx1 ON t1(a,v1); INSERT INTO t1 VALUES(9,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r,@r); UPDATE t1 SET a=1000; +DELETE FROM t1; +# Let the purge thread clean up this file. +-- sleep 10 DROP TABLE t1; eval set global innodb_file_per_table=$per_table; === modified file 'storage/innobase/row/row0row.c' --- a/storage/innobase/row/row0row.c revid:nirbhay.choubey@stripped +++ b/storage/innobase/row/row0row.c revid:kevin.lewis@stripped @@ -148,22 +148,27 @@ row_build_index_entry( continue; } } else if (dfield_is_ext(dfield)) { - /* This table should be in Antelope format - (ROW_FORMAT=REDUNDANT or ROW_FORMAT=COMPACT). - In that format, the maximum column prefix + /* This table is either in Antelope format + (ROW_FORMAT=REDUNDANT or ROW_FORMAT=COMPACT) + or a purge record where the ordered part of + the field is not external. + In Antelope, the maximum column prefix index length is 767 bytes, and the clustered index record contains a 768-byte prefix of each off-page column. */ ut_a(len >= BTR_EXTERN_FIELD_REF_SIZE); len -= BTR_EXTERN_FIELD_REF_SIZE; + dfield_set_len(dfield, len); } /* If a column prefix index, take only the prefix. */ - ut_ad(ind_field->prefix_len); - len = dtype_get_at_most_n_mbchars( - col->prtype, col->mbminmaxlen, - ind_field->prefix_len, len, dfield_get_data(dfield)); - dfield_set_len(dfield, len); + if (ind_field->prefix_len) { + len = dtype_get_at_most_n_mbchars( + col->prtype, col->mbminmaxlen, + ind_field->prefix_len, len, + dfield_get_data(dfield)); + dfield_set_len(dfield, len); + } } ut_ad(dtuple_check_typed(entry)); No bundle (reason: useless for push emails).