Jaime Casanova wrote: > suppose we have something like this: > > upd_views=# create table tabla1 (col1 point);
[...] > then, this select will give an error: > > upd_views=# select col1, count(*) from tabla1 group by col1; > ERROR: could not identify an ordering operator for type point > HINT: Use an explicit ordering operator or modify the query. > upd_views=# > > i guess this is related to: > http://archives.postgresql.org/pgsql-hackers/2003-08/msg00809.php > > so, what happened with this idea? there is another way to automagicaly > identify an "equality operator" for datatypes like 'point'? I don't think that there is a connection to the message you quote. In order to (efficiently) process a GROUP BY clause, you need a total ordering on the data type that you group by, i.e. an ordering such that for any two data x and y you have either x < y or x > x or x = y. There is no reasonable total ordering on the real plain, so you will have to roll your own. How about: select point(col1[0], col1[1]), count(*) from tabla1 group by col1[0], col1[1]; Yours, Laurenz Albe ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match