Re: bug(?) : order by function limit x
От | Tom Lane |
---|---|
Тема | Re: bug(?) : order by function limit x |
Дата | |
Msg-id | 4845.1032816197@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | bug(?) : order by function limit x (pilsl@goldfisch.at) |
Ответы |
Re: bug(?) : order by function limit x
|
Список | pgsql-general |
pilsl@goldfisch.at writes: > I just face a very strange phenomena with postgres. I want to order my > output using a userdefined function and I want to limit the output. Bizarre. I tried to reproduce this using the following test: create table tanzen(releasedate timestamp with time zone, ranking integer default 3); copy tanzen from stdin; 2002-09-23 12:45:13+02 10 2002-09-14 20:15:20+02 1 2002-09-02 12:03:43+02 10 2002-08-06 16:51:51+02 9 2002-07-06 18:07:40+02 10 2002-07-01 14:18:08+02 0 2002-06-27 18:24:08+02 0 2002-06-18 10:28:13+02 1 2002-04-21 18:12:14+02 3 \. CREATE FUNCTION "rankval" (timestamp with time zone,integer) RETURNS interval AS 'select ($1+"interval"($2*86400)) - current_timestamp;' LANGUAGE 'sql'; select OID,rankval(releasedate,ranking),releasedate,ranking from tanzen order by rankval(releasedate,ranking) desc offset 0 limit 3; select OID,rankval(releasedate,ranking),releasedate,ranking from tanzen order by rankval(releasedate,ranking) desc offset 0 limit 8; (I altered the function body a tad to make it acceptable to newer releases) but this works fine for me on all versions back to and including 7.1.3. I think there must be something you haven't told us. Can you produce a self-contained example script that gets a wrong result? regards, tom lane
В списке pgsql-general по дате отправления: