Обсуждение: bug with distinct?
I dont' know if this a bug or I am just out of my mind, but since it
works with other RDBMS's I decided to ask, so here it goes:
I am trying to do the following:
SELECT distinct 'mod_type' ,currval('mytable_idmytable_seq') from
mytable;
and I get the message:
ERROR: Unable to identify an ordering operator '<' for type 'unknown'
Use an explicit ordering operator or modify the query
Thinking it could be because of the currval I tried the following:
SELECT distinct 'mod_type', idmytable from mytable
getting the same result.
Am I doing something wrong? Is there a way to do this? Is this a bug?
Thanx
P.S. If someone is wondering what the heck I am trying to do.... I
pretend to insert into a log table, the mod_type for 'mytable' (in this
case insert) and the new inserted row for 'mytable'.
Cheers
Alfonso Peniche writes:
> SELECT distinct 'mod_type' ,currval('mytable_idmytable_seq') from
> mytable;
>
> and I get the message:
>
> ERROR: Unable to identify an ordering operator '<' for type 'unknown'
> Use an explicit ordering operator or modify the query
Use 'mod_type'::text.
--
Peter Eisentraut peter_e@gmx.net http://yi.org/peter-e/
Alfonso Peniche <alfonso@iteso.mx> writes:
> SELECT distinct 'mod_type' ,currval('mytable_idmytable_seq') from
> mytable;
> ERROR: Unable to identify an ordering operator '<' for type 'unknown'
> Use an explicit ordering operator or modify the query
You need to give the literal an explicit type, eg,
SELECT distinct 'mod_type'::text, currval('mytable_idmytable_seq') from
mytable;
7.1 will default to assuming that you meant 'text' in this scenario,
but older releases are pickier.
regards, tom lane
Quoting Tom Lane <tgl@sss.pgh.pa.us>: > Alfonso Peniche <alfonso@iteso.mx> writes: > > SELECT distinct \'mod_type\' ,currval(\'mytable_idmytable_seq\') from > > mytable; > > ERROR: Unable to identify an ordering operator \'<\' for type \'unknown\' > > Use an explicit ordering operator or modify the query > > You need to give the literal an explicit type, eg, > > SELECT distinct \'mod_type\'::text, currval(\'mytable_idmytable_seq\') > from > mytable; > > 7.1 will default to assuming that you meant \'text\' in this scenario, > but older releases are pickier. > > regards, tom lane > Thanx, it woeks great now. Cheers ---