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