Re: ERROR: could not identify an equality operator for type box

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
Cc: Oleg Bartunov <oleg(at)sai(dot)msu(dot)su>, Pgsql Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: ERROR: could not identify an equality operator for type box
Date: 2010-12-04 00:38:04
Message-ID: 15957.1291423084@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Itagaki Takahiro 2010-12-04 00:44:25 Re: pg_execute_from_file review
Previous Message Josh Berkus 2010-12-04 00:11:12 Re: Patch to add a primary key using an existing index