Thread: Order by with column ordinal and collate - fails to parse
Hi all,
I seem to be having problems constructing a query that combines the use of distinct, order by, and collate key words.
For instance:
# select distinct(value) from properties order by 1 collate "C";
ERROR: collations are not supported by type integer
LINE 1: ... distinct(value) from properties order by 1 collate "C...
^
# select distinct(value) from properties order by distinct(value) collate "C";
ERROR: syntax error at or near "distinct"
LINE 1: ...ct distinct(value) from properties order by distinct(v...
^
# select distinct(value) as foo from properties order by foo collate "C";
ERROR: column "foo" does not exist
LINE 1: ...tinct(value) as foo from properties order by foo collat...
Am I just being a numpty here? I can work around it with a subquery, but this seems like a bug to me. Particularly the first example where my ordinal field reference is treated as an integer literal. I should note that the field 'value' is of type 'text' (not integer).
Any input appreciated. Thanks :)
On 06/20/2013 07:05 AM, Tim Kane wrote: > Hi all, > > I seem to be having problems constructing a query that combines the use > of distinct, order by, and collate key words. > > For instance: > > # select distinct(value) from properties order by 1 collate "C"; > ERROR: collations are not supported by type integer > LINE 1: ... distinct(value) from properties order by 1 collate "C... > ^ How about: select distinct(value) collate "C" from properties order by 1 ; > > Am I just being a numpty here? I can work around it with a subquery, but > this seems like a bug to me. Particularly the first example where my > ordinal field reference is treated as an integer literal. I should note > that the field 'value' is of type 'text' (not integer). > > Any input appreciated. Thanks :) > -- Adrian Klaver adrian.klaver@gmail.com
Nice one. Yep, that works. Cheers..
I'll submit a bug report for this, though I'm on the fence as to wether this is actually a bug per se.. I would have reasonably expected my original syntax to have worked (as it does without any ORDER BY)..
On Thu, Jun 20, 2013 at 3:44 PM, Adrian Klaver <adrian.klaver@gmail.com> wrote:
On 06/20/2013 07:05 AM, Tim Kane wrote:How about:Hi all,
I seem to be having problems constructing a query that combines the use
of distinct, order by, and collate key words.
For instance:
# select distinct(value) from properties order by 1 collate "C";
ERROR: collations are not supported by type integer
LINE 1: ... distinct(value) from properties order by 1 collate "C...
^
select distinct(value) collate "C" from properties order by 1 ;--
Am I just being a numpty here? I can work around it with a subquery, but
this seems like a bug to me. Particularly the first example where my
ordinal field reference is treated as an integer literal. I should note
that the field 'value' is of type 'text' (not integer).
Any input appreciated. Thanks :)
Adrian Klaver
adrian.klaver@gmail.com