Re: ERROR: could not identify an equality operator for type box - Mailing list pgsql-hackers

From Tom Lane
Subject Re: ERROR: could not identify an equality operator for type box
Date
Msg-id 15957.1291423084@sss.pgh.pa.us
Whole thread Raw
In response to Re: ERROR: could not identify an equality operator for type box  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
List pgsql-hackers
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com> writes:
> On 03.12.2010 23:53, Oleg Bartunov wrote:
>> create table qq (b box);
>> CREATE TABLE
>> select count(*), b from qq group by b;
>> ERROR: could not identify an equality operator for type box
>> What does it means ?

> GROUP BY requires b-tree sort operators. Although there is a '=' 
> operator for box, there is no b-tree opclass.

A hash opclass would do too, as of recent releases ... but box hasn't
got one of those either.

There are some semantic issues involved here, notably that box_eq is
actually equality-of-areas, and that both it and box_same use fuzzy
equality which does not work well with either hash or sort-based
semantics.  So you'd need to look at redefining the operator behavior
before you could get far.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Josh Berkus
Date:
Subject: Re: Patch to add a primary key using an existing index
Next
From: Itagaki Takahiro
Date:
Subject: Re: pg_execute_from_file review