From: Date: March 5 2009 12:34pm Subject: bzr commit into mysql-5.1-bugteam branch (Sergey.Glukhov:2832) Bug#41030 List-Archive: http://lists.mysql.com/commits/68362 X-Bug: 41030 Message-Id: <0KG100EOU6T4YO50@fe-emea-09.sun.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Boundary_(ID_BzA+shZ+xHbl7u8574ZWqg)" --Boundary_(ID_BzA+shZ+xHbl7u8574ZWqg) MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7BIT Content-disposition: inline #At file:///home/gluh/MySQL/mysql-5.1-bugteam/ based on revid:sergey.glukhov@stripped 2832 Sergey Glukhov 2009-03-05 Bug#41030 Wrong meta data (incorrect fieldlen) set user variable max length on fix_length_and_dec() stage using real value length. @ mysql-test/r/variables.result test result @ mysql-test/t/variables.test test case @ sql/item_func.cc set user variable max length on fix_length_and_dec() stage using real value length. modified: mysql-test/r/variables.result mysql-test/t/variables.test sql/item_func.cc === modified file 'mysql-test/r/variables.result' --- a/mysql-test/r/variables.result 2009-02-27 15:07:27 +0000 +++ b/mysql-test/r/variables.result 2009-03-05 11:34:02 +0000 @@ -1389,3 +1389,8 @@ SET @@session.thread_stack= 7; ERROR HY000: Variable 'thread_stack' is a read only variable SET @@global.thread_stack= 7; ERROR HY000: Variable 'thread_stack' is a read only variable +select @@storage_engine; +Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr +def @@storage_engine 253 6 6 N 1 31 8 +@@storage_engine +MyISAM === modified file 'mysql-test/t/variables.test' --- a/mysql-test/t/variables.test 2009-02-27 08:24:57 +0000 +++ b/mysql-test/t/variables.test 2009-03-05 11:34:02 +0000 @@ -1121,3 +1121,10 @@ SET @@session.thread_stack= 7; --error ER_INCORRECT_GLOBAL_LOCAL_VAR SET @@global.thread_stack= 7; # + +# +# Bug#41030 Wrong meta data (incorrect fieldlen) +# +--enable_metadata +select @@storage_engine; +--disable_metadata === modified file 'sql/item_func.cc' --- a/sql/item_func.cc 2009-02-12 10:10:07 +0000 +++ b/sql/item_func.cc 2009-03-05 11:34:02 +0000 @@ -4837,7 +4837,10 @@ bool Item_func_get_system_var::is_writte void Item_func_get_system_var::fix_length_and_dec() { + char *cptr; + int well_formed_error; maybe_null=0; + max_length= 0; if (var->check_type(var_type)) { @@ -4867,8 +4870,14 @@ void Item_func_get_system_var::fix_lengt break; case SHOW_CHAR: case SHOW_CHAR_PTR: + pthread_mutex_lock(&LOCK_global_system_variables); + cptr= var->show_type() == SHOW_CHAR_PTR ? + *(char**) var->value_ptr(current_thd, var_type, &component) : + (char*) var->value_ptr(current_thd, var_type, &component); + if (cptr) + max_length= strlen(cptr) * system_charset_info->mbmaxlen; + pthread_mutex_unlock(&LOCK_global_system_variables); collation.set(system_charset_info, DERIVATION_SYSCONST); - max_length= MAX_BLOB_WIDTH; decimals=NOT_FIXED_DEC; break; case SHOW_BOOL: --Boundary_(ID_BzA+shZ+xHbl7u8574ZWqg) MIME-version: 1.0 Content-type: text/bzr-bundle; name="bzr/sergey.glukhov@stripped"; charset=us-ascii Content-transfer-encoding: 7BIT Content-disposition: inline; filename="bzr/sergey.glukhov@stripped" # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: sergey.glukhov@stripped # target_branch: file:///home/gluh/MySQL/mysql-5.1-bugteam/ # testament_sha1: 22630ade250e9a225edd56bb28e42c926f6fa17b # timestamp: 2009-03-05 15:34:11 +0400 # source_branch: bzr+ssh://sgluhov@stripped/bzrroot\ # /server/mysql-5.1-bugteam/ # base_revision_id: sergey.glukhov@stripped\ # kyzqy8aax2jqxc9l # # Begin bundle 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 adLOiGGbjBdFq/+LuSKcKEgsQhttgA== --Boundary_(ID_BzA+shZ+xHbl7u8574ZWqg)--