Обсуждение: 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 ---