Re: Creating a VIEW with a POINT column

Поиск
Список
Период
Сортировка
От Jan Urbański
Тема Re: Creating a VIEW with a POINT column
Дата
Msg-id 4863105F.2080202@students.mimuw.edu.pl
обсуждение исходный текст
Ответ на Re: Creating a VIEW with a POINT column  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Tom Lane wrote:
> Jan Urbański <j.urbanski@students.mimuw.edu.pl> writes:
>> OK, there might have been a mental shortcut there. "Can't be compared" 
>> was supposed to mean "can't decide whether one value of that type is 
>> bigger than another". Doing DISTINCT without an equality operator is 
>> nonsense. Doing it without a comparision operator is only very slow.
> 
> Well, you're still missing my point, which is how do you decide which
> operator is "equality"?  It was already pointed out upthread that
> ignoring the type's operators and using bitwise comparison is a pretty
> sucky alternative.  The only infrastructure in Postgres that can
> identify which operators have which semantics is index opclasses.

All right, I get it. You get the equality operator from the index 
opclass for the type, I didn't understand fully how it worked.

> I see two possible TODO items in this discussion.  One is that type
> "point" is sorely lacking in opclass support.  The other is that it
> might be interesting to support DISTINCT in cases where only a hash
> opclass, not a btree opclass, is available --- which would lead to
> a hash-aggregation-like implementation instead of sort-and-uniq.

Same thing for GROUP BY. One last remark: unless something is done about 
it in 8.4, maybe it is worthwhile to change the error message (which 
clearly confused Nick) and add some documentation about why you can't 
use DISTINCT with types without a btree index opclass?

-- 
Jan Urbanski
GPG key ID: E583D7D2

ouden estin


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Creating a VIEW with a POINT column
Следующее
От: "Robert Haas"
Дата:
Сообщение: Re: Planner creating ineffective plans on LEFT OUTER joins