Bug #35558 Wrong server metadata blows up the client
| Submitted: | 25 Mar 2008 19:06 | Modified: | 21 Jan 2009 16:15 |
|---|---|---|---|
| Reporter: | Andrey Hristov | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Data Types | Severity: | S2 (Serious) |
| Version: | 5.0.67, 5.1.28 | OS: | Any |
| Assigned to: | Sergei Glukhov | CPU Architecture: | Any |
[25 Mar 2008 19:06]
Andrey Hristov
[25 Mar 2008 21:17]
Valeriy Kravchuk
Thank you for a problem report. I need some more details (character sets used etc), as I can not repeat this on 5.1.23 on Windows: C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -uroot -proot -P3310 -T test Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.1.23-rc-community-debug MySQL Community Server - Debug (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> create table format_test(a float); Query OK, 0 rows affected (0.17 sec) mysql> insert into format_test values (1.33); Query OK, 1 row affected (0.03 sec) mysql> select format(a, 2) from format_test; Field 1: `format(a, 2)` Catalog: `def` Database: `` Table: `` Org_table: `` Type: VAR_STRING Collation: utf8_general_ci (33) Length: 15 Max_length: 4 Decimals: 31 Flags: +--------------+ | format(a, 2) | +--------------+ | 1.33 | +--------------+ 1 row in set (0.06 sec) So, it can be a recent regression.
[25 Apr 2008 23:00]
Bugs System
No feedback was provided for this bug for over a month, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open".
[10 Oct 2008 16:25]
John Heinig
I have the exact same issues with MySQL Server 5.0.67 and 5.0.45 on Windows. The character set is latin1. DB Engine is InnoDB. If there are any other details you need I can provide them. C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql --user=root --password --debu g-info Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 16 Server version: 5.0.67-community-nt MySQL Community Edition (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> use test Database changed mysql> create table format_test(a float); Query OK, 0 rows affected (0.14 sec) mysql> insert into format_test values (1.33); Query OK, 1 row affected (0.08 sec) mysql> select format(a, 2) from format_test; Field 1: `format(a, 2)` Catalog: `def` Database: `` Table: `` Org_table: `` Type: VAR_STRING Collation: latin1_swedish_ci (8) Length: 1431655771 Max_length: 4 Decimals: 2 Flags: +--------------+ | format(a, 2) | +--------------+ | 1.33 | +--------------+ 1 row in set (0.00 sec) mysql>
[10 Oct 2008 16:46]
Valeriy Kravchuk
Verified just as described with 5.0.66a and 5.1.28 on Windows:
C:\Program Files\MySQL\MySQL Server 5.0\bin>mysql -uroot -proot -P3308 -T test
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 5.0.66a-enterprise-gpl-nt MySQL Enterprise Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> set names latin1;
Query OK, 0 rows affected (0.03 sec)
mysql> create table format_test(a float);
Query OK, 0 rows affected (0.14 sec)
mysql> insert into format_test values (1.33);
Query OK, 1 row affected (0.05 sec)
mysql> select format(a, 2) from format_test;
Field 1: `format(a, 2)`
Catalog: `def`
Database: ``
Table: ``
Org_table: ``
Type: VAR_STRING
Collation: latin1_swedish_ci (8)
Length: 1431655771
Max_length: 4
Decimals: 2
Flags:
+--------------+
| format(a, 2) |
+--------------+
| 1.33 |
+--------------+
1 row in set (0.00 sec)
mysql> show variables like 'char%';
Field 1: `Variable_name`
Catalog: `def`
Database: ``
Table: `VARIABLES`
Org_table: ``
Type: VAR_STRING
Collation: latin1_swedish_ci (8)
Length: 80
Max_length: 24
Decimals: 0
Flags: NOT_NULL
Field 2: `Value`
Catalog: `def`
Database: ``
Table: `VARIABLES`
Org_table: ``
Type: VAR_STRING
Collation: latin1_swedish_ci (8)
Length: 512
Max_length: 55
Decimals: 0
Flags: NOT_NULL
+--------------------------+----------------------------------------------------
-----+
| Variable_name | Value
|
+--------------------------+----------------------------------------------------
-----+
| character_set_client | latin1
|
| character_set_connection | latin1
|
| character_set_database | utf8
|
| character_set_filesystem | binary
|
| character_set_results | latin1
|
| character_set_server | utf8
|
| character_set_system | utf8
|
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.0\share\chars
ets\ |
+--------------------------+----------------------------------------------------
-----+
8 rows in set (0.00 sec)
So, it depends on latin1, really.
[5 Dec 2008 12:33]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/60731 2732 Sergey Glukhov 2008-12-05 bug#35558 Wrong server metadata blows up the client the problem: FORMAT func max_length value was calculated incorrectly the fix: correct calculation of max_length
[8 Dec 2008 14:09]
Alexander Barkov
http://lists.mysql.com/commits/60731 is ok to push.
[9 Dec 2008 10:01]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/61021 2738 Sergey Glukhov 2008-12-09 bug#35558 Wrong server metadata blows up the client the problem: FORMAT func max_length value was calculated incorrectly the fix: correct calculation of max_length
[6 Jan 2009 13:57]
Bugs System
Pushed into 5.0.76 (revid:joro@sun.com-20090105160414-8q9j4bi1klkfwiup) (version source revid:azundris@mysql.com-20081230114734-nmsc37ak330zlygn) (merge vers: 5.0.76) (pib:6)
[8 Jan 2009 21:27]
Paul DuBois
Noted in 5.0.76 changelog. The max_length metadata value was calculated incorrectly for the FORMAT() function, which could cause incorrect result set metadata to be sent to clients. Setting report to NDI pending push into 5.1.x/6.0.x.
[15 Jan 2009 6:39]
Bugs System
Pushed into 5.1.31 (revid:joro@sun.com-20090115053147-tx1oapthnzgvs1ro) (version source revid:azundris@mysql.com-20081230114838-cn52tu180wcrvh0h) (merge vers: 5.1.31) (pib:6)
[15 Jan 2009 16:22]
Paul DuBois
Noted in 5.1.31 changelog. Setting report to NDI pending push into 6.0.x.
[19 Jan 2009 11:25]
Bugs System
Pushed into 5.1.31-ndb-6.2.17 (revid:tomas.ulin@sun.com-20090119095303-uwwvxiibtr38djii) (version source revid:tomas.ulin@sun.com-20090115073240-1wanl85vlvw2she1) (merge vers: 5.1.31-ndb-6.2.17) (pib:6)
[19 Jan 2009 13:03]
Bugs System
Pushed into 5.1.31-ndb-6.3.21 (revid:tomas.ulin@sun.com-20090119104956-guxz190n2kh31fxl) (version source revid:tomas.ulin@sun.com-20090119104956-guxz190n2kh31fxl) (merge vers: 5.1.31-ndb-6.3.21) (pib:6)
[19 Jan 2009 15:43]
Jon Stephens
Setting status back to NDI pending merge to 6.0 tree.
[19 Jan 2009 16:09]
Bugs System
Pushed into 5.1.31-ndb-6.4.1 (revid:tomas.ulin@sun.com-20090119144033-4aylstx5czzz88i5) (version source revid:tomas.ulin@sun.com-20090119144033-4aylstx5czzz88i5) (merge vers: 5.1.31-ndb-6.4.1) (pib:6)
[20 Jan 2009 18:56]
Bugs System
Pushed into 6.0.10-alpha (revid:joro@sun.com-20090119171328-2hemf2ndc1dxl0et) (version source revid:azundris@mysql.com-20081230114916-c290n83z25wkt6e4) (merge vers: 6.0.9-alpha) (pib:6)
[21 Jan 2009 16:15]
Paul DuBois
Noted in 6.0.10 changelog.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.073 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.