From: Tatiana A. Nurnberg Date: May 29 2009 3:00pm Subject: bzr commit into mysql-6.0-bugteam branch (azundris:3324) Bug#39200 List-Archive: http://lists.mysql.com/commits/75268 X-Bug: 39200 Message-Id: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6165873377384676444==" --===============6165873377384676444== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///misc/mysql/forest/39200k/60-39200k/ based on revid:davi.arnaut@stripped 3324 Tatiana A. Nurnberg 2009-05-29 [merge] Bug#39200: optimize table does not recognize ROW_FORMAT=COMPRESSED When doing ALTER TABLE, we forgot to point out that we actually have ROW_FORMAT information (from the original table), so we dropped to "sensible defaults". This affects both ALTER TABLE and OPTIMIZE TABLE which may fall back on ALTER TABLE for InnoDB. We now flag that we do indeed know the row-type, thereby preserving compression-type etc. @ mysql-test/suite/maria/r/maria3.result test updated and extended after clearing with monty. @ mysql-test/suite/maria/t/maria3.test test updated and extended after clearing with monty. @ sql/sql_table.cc In mysql_alter_table() flag that we have row-type info from old table. In compare_tables(), change whether row type has actually changed, rather than rely on the flag (which will always be set now). modified: mysql-test/suite/maria/r/maria3.result mysql-test/suite/maria/t/maria3.test sql/sql_table.cc === modified file 'mysql-test/suite/maria/r/maria3.result' --- a/mysql-test/suite/maria/r/maria3.result 2009-02-23 14:53:18 +0000 +++ b/mysql-test/suite/maria/r/maria3.result 2009-05-29 14:59:42 +0000 @@ -123,7 +123,7 @@ show create table t1; Table Create Table t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL -) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 ROW_FORMAT=PAGE TRANSACTIONAL=0 +) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 ROW_FORMAT=DYNAMIC TRANSACTIONAL=0 alter table t1 row_format=DYNAMIC; show create table t1; Table Create Table @@ -151,6 +151,27 @@ t1 CREATE TABLE `t1` ( `a` int(11) DEFAULT NULL ) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 ROW_FORMAT=DYNAMIC drop table t1; +create table t1 (a int) transactional=0 row_format=FIXED; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 ROW_FORMAT=FIXED TRANSACTIONAL=0 +alter table t1 transactional=1; +Warnings: +Note 1478 Row format set to PAGE because of TRANSACTIONAL=1 option +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 ROW_FORMAT=PAGE TRANSACTIONAL=1 +alter table t1 transactional=0; +show create table t1; +Table Create Table +t1 CREATE TABLE `t1` ( + `a` int(11) DEFAULT NULL +) ENGINE=MARIA DEFAULT CHARSET=latin1 PAGE_CHECKSUM=0 ROW_FORMAT=FIXED TRANSACTIONAL=0 +drop table t1; create table `t1` ( t1_name varchar(255) default null, t1_id int(10) unsigned not null auto_increment, === modified file 'mysql-test/suite/maria/t/maria3.test' --- a/mysql-test/suite/maria/t/maria3.test 2009-02-13 16:30:54 +0000 +++ b/mysql-test/suite/maria/t/maria3.test 2009-05-29 14:59:42 +0000 @@ -109,6 +109,18 @@ alter table t1 row_format=DYNAMIC; show create table t1; drop table t1; +# +# MySQL Bug#39200: optimize table does not recognize ROW_FORMAT=COMPRESSED +# + +create table t1 (a int) transactional=0 row_format=FIXED; +show create table t1; +alter table t1 transactional=1; +show create table t1; +alter table t1 transactional=0; +show create table t1; +drop table t1; + # CHECK TABLE was reporting # "Size of datafile is: 0 Should be: 16384" # === modified file 'sql/sql_table.cc' --- a/sql/sql_table.cc 2009-05-25 10:10:18 +0000 +++ b/sql/sql_table.cc 2009-05-29 14:59:42 +0000 @@ -5417,7 +5417,7 @@ compare_tables(THD *thd, create_info->used_fields & HA_CREATE_USED_ENGINE || create_info->used_fields & HA_CREATE_USED_CHARSET || create_info->used_fields & HA_CREATE_USED_DEFAULT_CHARSET || - create_info->used_fields & HA_CREATE_USED_ROW_FORMAT || + (table->s->row_type != create_info->row_type) || create_info->used_fields & HA_CREATE_USED_PAGE_CHECKSUM || create_info->used_fields & HA_CREATE_USED_TRANSACTIONAL || (alter_info->flags & (ALTER_RECREATE | ALTER_FOREIGN_KEY)) || @@ -6903,7 +6903,10 @@ view_err: } if (create_info->row_type == ROW_TYPE_NOT_USED) + { create_info->row_type= table->s->row_type; + create_info->used_fields |= HA_CREATE_USED_ROW_FORMAT; + } DBUG_PRINT("info", ("old type: %s new type: %s", ha_resolve_storage_engine_name(old_db_type), --===============6165873377384676444== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/azundris@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: azundris@stripped # target_branch: file:///misc/mysql/forest/39200k/60-39200k/ # testament_sha1: bd5374fec881961f988e7a9e3257be216d2ad2dc # timestamp: 2009-05-29 17:00:57 +0200 # source_branch: file:///misc/mysql/forest/39200k/51-39200k/ # base_revision_id: davi.arnaut@stripped\ # 3zcun6oq0cxsbon1 # # Begin bundle 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 yne5XYTXZgpaZAuMH8KWk/hoTFUymyXZqilT+fatP+X6GLP1trM3rM5NWVVoFzuwgw8nX1qpm73Y 1HKXtgdoaRJreHK1Cl8mT5slDqIblxm6CZBDS9YyXLlKVd9HtwaVPewSapqh1/LLBnSlSGDo4/DQ 0/cu+nO2jR4NLy+L3vis0N53NY0n24blo3osvh63S9ZJtfFrcF6zi69N8zZa97Y53OjC92+1p0Ov lkznYs+LH0wbcKa2teeCUTXL2Cipj23Fzg079VEs8p2tZrcXcLM4WVaNEeprXEcbsEUxaEy6ToOD tTmvU7HejF4NHY1tLQpgwHQ7nPmnrdb6/9Hveh7zam9ScHk7pLkalltD8GtqfBPGfNfpXKWin0nr 98xwmFQUcU8Eq5HtTTc63qnc1tXmn827czPg9HsUoppntSz6JwTDmS9aOxZKMEc5cmvDz+S83U+S avwXTejXJ8HiS9aOKVLakfLokuaGHxL+rm73nEd2o+Sa01ansfLQR585qk5tVWLN2+F7jTtbVnJ6 m1xtL49vwalzZNaRSVucYySMyN7e7+Lxm6WmR2c2Tyu8tCOTIopWmfP2vnfNb59sOjJHimw97gkm w8KkuT1Xk7U/efRG1/u1pvvkaSiKUSknJZld+i1pTvVOxY+Krk3rNyaM8nvmh56ZseG6T6Skk1L7 Tx7PwfWqutaqtbSi9r1jAwe5yL/JadrNpa8mheyTNZf1r39BLl5ko/tadS9cuXzrFLypaUFyrlJi Mh96/BIQ2CCoUqKiStKR5HKW99zCcInUPmrMDuOyPop1smbduTgtvFkVRLLJj4qV+Vb1PWvfslPB ntlaJ1euWeyakXsIwB1Sk2X0pSqPGUGNJ9ys5pQxPvmxthS5SPpsvTw3Tm47XLJr700P30tS6GDg j1Izm9qpR6PR7SZPYxTvRxa4nyezMvvaNC9Ss2aUYHqR3p4XT7XU6nH1J3oqc0RufXNzzeb11D7N 9kvh2eD1Sfh16r6W/wnRGpdPrKYBuPxjufqYC+QsnI2zAW0aLkiR2BTgKZiVlI5SN0nizrLJviU6 h9zw+fVGVIpNe15ti7CXsr1zdlhp+zBiUvSLYpmOE4PB4aW6U9dycU7JMmOtmpDRiZzWPKdSaXij jtO5Ta6OiJZS5cl704o5UTRDjguj6C/K7kxtTpL9Kr7mC5PnbGMFpdNeVzrm5J+2ePFpZpsTWdBp g61PZSxNba3aidzSsZ43PJcdynnzUditgvZs2ZfDlRsXLR82NzxLzzlxVPYmq9N8OSWS1r2tY00M V8uLlHHa6qlqGg5qa0cJSev9sv7Op0VG9Q2z3JHBd9GHp8ei5Mmf6pcdEy+SYPxYJ2O8i+ZItSM3 uWL2pJ3K8+ux8Oia0z8Z1y+XEyYOpZ3FNKy5dY/O5hLkc1m8ks8P1z64cv1TSm6R8mptG5pFMP6h /4u5IpwoSEBdpK8A --===============6165873377384676444==--