Re: Overloaded && operator from intarray module prevents index usage.

Поиск
Список
Период
Сортировка
От Thomas Kellerer
Тема Re: Overloaded && operator from intarray module prevents index usage.
Дата
Msg-id 95eb0be2-6020-3197-ecdb-8850f691ffa5@gmx.net
обсуждение исходный текст
Ответ на Re: Overloaded && operator from intarray module prevents index usage.  (Andrew Gierth <andrew@tao11.riddles.org.uk>)
Список pgsql-general
Andrew Gierth schrieb am 28.02.2019 um 10:29:
> [intarray woes]
> 
>  Thomas> Is this expected behaviour? Is this caused by the Postgres core
>  Thomas> (e.g. the optimizer to taking the opclass into account) or is
>  Thomas> it a "problem" in the way the intarray module defines its
>  Thomas> operators?
> 
> It's basically a conflict between intarray (which is historically older)
> and the built-in array indexing support.
> 
> The reason it happens is that the operator resolution logic matches an
> (integer[] && integer[]) operator in preference to (anyarray && anyarray)
> regardless of their relative position on the search_path. This
> resolution happens before anything is known about any indexes that might
> be applicable. Then later, at planning time, an index is chosen based on
> the operator, not the reverse.

That makes sense, thanks. 



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

Предыдущее
От: Andrew Gierth
Дата:
Сообщение: Re: Overloaded && operator from intarray module prevents index usage.
Следующее
От: Morris de Oryx
Дата:
Сообщение: Re: crosstab function