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.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.058 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.