Bug #17735 | concat of group_concat returns integer values minus one | ||
---|---|---|---|
Submitted: | 27 Feb 2006 11:08 | Modified: | 27 Feb 2006 13:10 |
Reporter: | Taco van den Broek | Email Updates: | |
Status: | Can't repeat | Impact on me: | |
Category: | MySQL Server | Severity: | S2 (Serious) |
Version: | 5.0.18-nt | OS: | Windows (Windows XP) |
Assigned to: | CPU Architecture: | Any |
[27 Feb 2006 11:08]
Taco van den Broek
[27 Feb 2006 12:44]
Valeriy Kravchuk
Thank you for a problem report. Sorry, but I was not able to repeat the problem you described with 5.0.19-BK on Linux: openxs@suse:~/dbs/5.0> bin/mysql -uroot test Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 to server version: 5.0.19 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> DROP TABLE IF EXISTS `foo`; Query OK, 0 rows affected (0.00 sec) mysql> CREATE TABLE IF NOT EXISTS `foo` ( -> `foo` int(11) NOT NULL auto_increment, -> `bar` int(11) NOT NULL, -> `baz` int(11) default NULL, -> `qux` int(11) NOT NULL, -> `quux` int(11) NOT NULL, -> PRIMARY KEY (`qux`,`quux`), -> UNIQUE KEY (`foo`) -> ) ENGINE=InnoDB DEFAULT CHARSET=latin1; Query OK, 0 rows affected (0.01 sec) mysql> INSERT INTO foo (bar, baz, qux, quux) VALUES (1, null, 1, 14),(2, 1, 2, 7),(3, -> 2, 3, 4),(4, 2, 5, 6),(5, 1, 8, 13),(6, 5, 9, 10),(7, 5, 11, 12); Query OK, 7 rows affected (0.01 sec) Records: 7 Duplicates: 0 Warnings: 0 mysql> SELECT F1.foo, F2.bar, CONCAT(GROUP_CONCAT(F2.bar ORDER BY F2.qux SEPARATOR -> ':'), ':') -> FROM foo F1 LEFT JOIN foo F2 ON F2.qux < F1.qux AND F2.quux > F1.qux -> GROUP BY F1.foo; +-----+------+-----------------------------------------------------------------+ | foo | bar | CONCAT(GROUP_CONCAT(F2.bar ORDER BY F2.qux SEPARATOR ':'), ':') | +-----+------+-----------------------------------------------------------------+ | 1 | NULL | NULL | | 2 | 1 | 1: | | 3 | 1 | 1:2: | | 4 | 1 | 1:2: | | 5 | 1 | 1: | | 6 | 1 | 1:5: | | 7 | 5 | 1:5: | +-----+------+-----------------------------------------------------------------+ 7 rows in set (0.01 sec) mysql> SELECT F1.foo, CONCAT(GROUP_CONCAT(F2.bar ORDER BY F2.qux SEPARATOR ':'), ':') -> FROM foo F1 LEFT JOIN foo F2 ON F2.qux < F1.qux AND F2.quux > F1.qux -> GROUP BY F1.foo; +-----+-----------------------------------------------------------------+ | foo | CONCAT(GROUP_CONCAT(F2.bar ORDER BY F2.qux SEPARATOR ':'), ':') | +-----+-----------------------------------------------------------------+ | 1 | NULL | | 2 | 1: | | 3 | 1:2: | | 4 | 1:2: | | 5 | 1: | | 6 | 1:5: | | 7 | 1:5: | +-----+-----------------------------------------------------------------+ 7 rows in set (0.01 sec)
[27 Feb 2006 13:10]
Taco van den Broek
Thank you for checking this bug in version 5.0.19-BK on linux. I've also tested this behaviour on Mac OSX 10.4.5 with MySQL 5.0.18-standard and MySQL 5.0.18-debug. Don't know how soon a new stable version is released and if this behavior occurs in that new release, but is seems to me it should be checked a little more than just on one other operating system.