Bug #25106 | A USING clause in combination with a VIEW results in column aliases ignored | ||
---|---|---|---|
Submitted: | 15 Dec 2006 21:31 | Modified: | 24 Jan 2007 21:25 |
Reporter: | Chris Dalla Piazza | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Views | Severity: | S3 (Non-critical) |
Version: | 5.0.34-BK, 5.0.27 | OS: | Linux (Linux, Windows XP) |
Assigned to: | Georgi Kodinov | CPU Architecture: | Any |
Tags: | Q1 |
[15 Dec 2006 21:31]
Chris Dalla Piazza
[18 Dec 2006 21:47]
Valeriy Kravchuk
Thank you for a bug report. Verified just as described with 5.0.34-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 Server version: 5.0.34-debug Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> CREATE TABLE tblTest (ID INTEGER, Name VARCHAR(50)); CRQuery OK, 0 rows affected (0.02 sec) E Amysql> CREATE TABLE tblTest2 (Test_ID INTEGER); CQuery OK, 0 rows affected (0.02 sec) mysql> CREATE VIEW test (Test_ID, Description) AS SELECT ID, Name FROM tblTest; Query OK, 0 rows affected (0.04 sec) mysql> SELECT Description AS Name -> FROM test -> LEFT JOIN tblTest2 -> USING (Test_ID); Empty set (0.03 sec) mysql> create table tv1 SELECT Description AS Name FROM test LEFT JOIN tblTest2 USING (Test_ID); Query OK, 0 rows affected (0.04 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc tv1; +-------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+-------+ | Description | varchar(50) | YES | | NULL | | +-------------+-------------+------+-----+---------+-------+ 1 row in set (0.01 sec) mysql> create table tv2 SELECT Description AS Name FROM test LEFT JOIN tblTest2 ON test.Test_ID = tblTest2.Test_ID; Query OK, 0 rows affected (0.02 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc tv2; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | Name | varchar(50) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 1 row in set (0.01 sec)
[8 Jan 2007 15:21]
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/17733 ChangeSet@1.2367, 2007-01-08 17:20:52+02:00, gkodinov@macbook.local +3 -0 BUG#25106: A USING clause in combination with a VIEW results in column aliases ignored When making a new Item on resolving column reference to a JOIN USING column the user defined alias was lost. Made the code to preserve the alias by setting it into the new Item before replacing.
[11 Jan 2007 17:10]
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/17960 ChangeSet@1.2367, 2007-01-11 19:10:01+02:00, gkodinov@macbook.gmz +3 -0 BUG#25106: A USING clause in combination with a VIEW results in column aliases ignored When a column reference to a column in JOIN USING is resolved and a new Item is created for this column the user defined name was lost. This fix preserves the alias by setting the name of the new Item to the original alias.
[15 Jan 2007 8:06]
Sergei Glukhov
Fixed in 5.0.34, 5.1.15-beta
[24 Jan 2007 21:25]
Paul DuBois
Noted in 5.0.34, 5.1.15 changelogs.