Thread: pg 9.1.1 - ERROR: could not find pathkey item to sort

pg 9.1.1 - ERROR: could not find pathkey item to sort

From
bricklen
Date:
Is this a bug, or due to the way I am using the RANK() function in the
following query? The error is triggered when I use (sum(y) / sum(x))
in the ORDER BY of the RANK() function.

Simple test case:


create table t (a int, b int, x numeric, y integer );
insert into t
select g,round(mod(g,4)),
round((random()*1000)::NUMERIC,2),round((random()*1000)::NUMERIC) from
generate_series(1, 100) as g;

select  a,
        b,
        (sum(y) / sum(x)) as res,
        rank() over (partition by a,b order by (sum(y) / sum(x)) desc) as rank
        --rank() over (partition by a,b order by sum(y) desc) as rank
-- no error
from t
group by a,b;


select version();
                                                   version
--------------------------------------------------------------------------------------------------------------
PostgreSQL 9.1.1 on x86_64-unknown-linux-gnu, compiled by gcc (GCC)
4.4.5 20110214 (Red Hat 4.4.5-6), 64-bit

Any other details needed?


Cheers,

Bricklen

Re: pg 9.1.1 - ERROR: could not find pathkey item to sort

From
Tom Lane
Date:
bricklen <bricklen@gmail.com> writes:
> Is this a bug,

Yes.  Thanks for the test case, will look.

            regards, tom lane

Re: pg 9.1.1 - ERROR: could not find pathkey item to sort

From
Tom Lane
Date:
I wrote:
> bricklen <bricklen@gmail.com> writes:
>> Is this a bug,

> Yes.  Thanks for the test case, will look.

Fixed, patch is at
http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=1679e9feddc94bd7372a6829db92868e55ef7177

            regards, tom lane