Hi all,
It looks like Postgres has a restriction in DISTINCT ON queries where the DISTINCT ON expressions must match the left
sideof the ORDER BY list. The issue is that if a DISTINCT ON ... has multiple instances of a particular expression,
thischeck doesn't seem to fire correctly.
For example, this query returns an error (but I guess it shouldn't):
SELECT DISTINCT ON ('1'::varchar, '1'::varchar) a FROM (SELECT 1 AS a) AS a ORDER BY '1'::varchar, '1'::varchar,
'2'::varchar;
And this query doesn't return an error (but I guess it should):
SELECT DISTINCT ON ('1'::varchar, '2'::varchar, '1'::varchar) a FROM (SELECT 1 AS a) AS a ORDER BY '1'::varchar,
'2'::varchar,'2'::varchar;
Am I misunderstanding something or is there a bug?
Thanks for the help
Emmanuel
--
Emmanuel Cecchet
Aster Data
Web: http://www.asterdata.com