Re: Free indexed_tlist memory explicitly within set_plan_refs()

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: Free indexed_tlist memory explicitly within set_plan_refs()
Дата
Msg-id 20150724100839.GC5106@alap3.anarazel.de
обсуждение исходный текст
Ответ на Re: Free indexed_tlist memory explicitly within set_plan_refs()  (Peter Geoghegan <pg@heroku.com>)
Ответы Re: Free indexed_tlist memory explicitly within set_plan_refs()  (Peter Geoghegan <pg@heroku.com>)
Список pgsql-hackers
On 2015-05-28 18:31:56 -0700, Peter Geoghegan wrote:
> Subject: [PATCH 3/3] Fix bug in unique index inference
> 
> ON CONFLICT unique index inference had a thinko that could affect cases
> where the user-supplied inference clause required that an attribute
> match a particular (user named) collation and/or opclass.
> 
> Firstly, infer_collation_opclass_match() matched on opclass and/or
> collation.  Secondly, the attribute had to be in the list of attributes
> or expressions known to be in the definition of the index under
> consideration.  The second step wasn't correct though, because having
> some match doesn't necessarily mean that the second step found the same
> index attribute as the (collation/opclass wise) match from the first
> step.

Yes, makes sense.

> +        else
> +        {
> +            Node       *nattExpr = list_nth(idxExprs, (natt - 1) - nplain);
> +
> +            /*
> +             * Note that unlike routines like match_index_to_operand(), we're
> +             * unconcerned about RelabelType.  An exact match is required.
> +             */
> +            if (equal(elem->expr, nattExpr))
> +                return true;

Why is that?

Regads,

Andres



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

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: Free indexed_tlist memory explicitly within set_plan_refs()
Следующее
От: Andrew Gierth
Дата:
Сообщение: Re: GSets: Fix bug involving GROUPING and HAVING together