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
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 |