'AS' column-alias beign ignored on outer select

Started by Markus Wollnyover 20 years ago4 messagesgeneral
Jump to latest
#1Markus Wollny
Markus.Wollny@computec.de

Hi!

Is this the expected behaviour?

select ID
, USK_RATING AS USK
from (
select ID
, USK_RATING
from MAIN_SONY_PS2_GAME
where ID = 101400
limit 1
)
as PRODUCT_LIST
limit 1;

id | usk_rating
--------+------------
101400 |
(1 row)

Note the column-header being labeled 'usk_rating', not 'usk'. Obviously
the 'AS' column alias of the outer select is being ignored in the
resultset.

select ID
, USK
from (
select ID
, USK_RATING AS USK
from MAIN_SONY_PS2_GAME
where ID = 101400
limit 1
)
as PRODUCT_LIST
limit 1;

id | usk
--------+-----
101400 |
(1 row)

If the column alias is being declared in the subselect, the column alias
is working.

select version();
version
----------------------------------------------------------------------
PostgreSQL 8.1.0 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.2

Is this working as expected or is this a bug?

Kind regards

Markus

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Markus Wollny (#1)
Re: 'AS' column-alias beign ignored on outer select

"Markus Wollny" <Markus.Wollny@computec.de> writes:

Is this the expected behaviour?

No, it's a bug introduced in 8.1. It's fixed in CVS tip.

regards, tom lane

#3Thomas F.O'Connell
tfo@sitening.com
In reply to: Markus Wollny (#1)
Re: 'AS' column-alias beign ignored on outer select

On Dec 2, 2005, at 6:00 AM, Markus Wollny wrote:

Hi!

Is this the expected behaviour?

select ID
, USK_RATING AS USK
from (
select ID
, USK_RATING
from MAIN_SONY_PS2_GAME
where ID = 101400
limit 1
)
as PRODUCT_LIST
limit 1;

id | usk_rating
--------+------------
101400 |
(1 row)

Note the column-header being labeled 'usk_rating', not 'usk'.
Obviously
the 'AS' column alias of the outer select is being ignored in the
resultset.

select ID
, USK
from (
select ID
, USK_RATING AS USK
from MAIN_SONY_PS2_GAME
where ID = 101400
limit 1
)
as PRODUCT_LIST
limit 1;

id | usk
--------+-----
101400 |
(1 row)

If the column alias is being declared in the subselect, the column
alias
is working.

select version();
version
----------------------------------------------------------------------
PostgreSQL 8.1.0 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.2

Is this working as expected or is this a bug?

I have to say, this looks like a regression. I can't reproduce it in
an 8.0.3 database. The interesting thing is that the bug seems to be
related to the limit clause of the inner query. Hackers?

--
Thomas F. O'Connell
Database Architecture and Programming
Co-Founder
Sitening, LLC

http://www.sitening.com/
110 30th Avenue North, Suite 6
Nashville, TN 37203-6320
615-260-0005 (cell)
615-469-5150 (office)
615-469-5151 (fax)

#4Thomas F.O'Connell
tfo@sitening.com
In reply to: Thomas F.O'Connell (#3)
Re: 'AS' column-alias beign ignored on outer select

On Dec 28, 2005, at 10:03 PM, Thomas F. O'Connell wrote:

[snip]

If the column alias is being declared in the subselect, the column
alias
is working.

select version();
version
---------------------------------------------------------------------
-
PostgreSQL 8.1.0 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.2

Is this working as expected or is this a bug?

I have to say, this looks like a regression. I can't reproduce it
in an 8.0.3 database. The interesting thing is that the bug seems
to be related to the limit clause of the inner query. Hackers?

Whoops. Just saw Tom's reply. Ignore noise. Threaded mail must've
missed the reply.

--
Thomas F. O'Connell
Database Architecture and Programming
Co-Founder
Sitening, LLC

http://www.sitening.com/
110 30th Avenue North, Suite 6
Nashville, TN 37203-6320
615-260-0005 (cell)
615-469-5150 (office)
615-469-5151 (fax)