Re: BUG #15733: An insert destined at partition created after acolumn has been dropped from the parent table fails

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема Re: BUG #15733: An insert destined at partition created after acolumn has been dropped from the parent table fails
Дата
Msg-id 20190404104818.GM7693@paquier.xyz
обсуждение исходный текст
Ответ на Re: BUG #15733: An insert destined at partition created after acolumn has been dropped from the parent table fails  (Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>)
Ответы Re: BUG #15733: An insert destined at partition created after acolumn has been dropped from the parent table fails  (Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>)
Список pgsql-bugs
On Thu, Apr 04, 2019 at 07:31:09PM +0900, Amit Langote wrote:
> The problem seems to be present only in PG 11; not in PG 10 and HEAD, as
> Michael already said.
>
> It seems to have been introduced by 34295b87f in PG 11, wherein the
> decision of when to add a tuple to an intermediate parent's dedicated
> tuple routing slot is mistakenly getting mixed with the decision of
> whether tuple conversion is required between the parent of the previous
> level and the current parent.  We didn't catch that error back then,
> because we only tried up to 2 levels of partitioning, whereas the test
> case presented here uses 3 levels of partitioning.  In the reported test
> case, the 1st level needs tuple conversion (between partitioned and
> partitioned_2), but the next level does not (between partitioned_2 and
> partitioned_2_1), so the slot used when routing through partitioned_2_1 to
> the last level doesn't contain a tuple to extract the partition key from,
> hence the error.

Perhaps it would make sense to have this test case on HEAD as well?
It seems to me that there is little point in having a completely new
set of relations to test this issue knowing that multi-level
partitioning is already tested in the same file.  Why not extending
the part close to "more tests for certain multi-level partitioning
scenarios" in insert.sql with a mlparted111 or such a thing?  This
way, we have a three-layer partitioning and the error can be equally
triggered.
--
Michael

Вложения

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

Предыдущее
От: Amit Langote
Дата:
Сообщение: Re: BUG #15733: An insert destined at partition created after acolumn has been dropped from the parent table fails
Следующее
От: PG Bug reporting form
Дата:
Сообщение: BUG #15735: postgis extension missing