don't mark indexes invalid unnecessarily

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема don't mark indexes invalid unnecessarily
Дата
Msg-id 20181203225019.2vvdef2ybnkxt364@alvherre.pgsql
обсуждение исходный текст
Ответы Re: don't mark indexes invalid unnecessarily  (Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>)
Список pgsql-hackers
While working on FKs pointing to partitioned tables, I noticed that in
PG11 we fail to produce a working dump in the case of a partitioned
table that doesn't have partitions.

The attached patch fixes that.  In doing so, it breaks a test ... and
analyzing that, it turns out that the test was broken, it wasn't testing
what it was supposed to be testing.  I patched it so that it continues
to work (and now it tests the correct thing).  To be precise, the test
was doing this:

 create table parted_conflict (a int, b text) partition by range (a);
 create table parted_conflict_1 partition of parted_conflict for values from (0) to (1000) partition by range (a);
 create unique index on only parted_conflict_1 (a);
 create unique index on only parted_conflict (a);
 alter index parted_conflict_a_idx attach partition parted_conflict_1_a_idx;
 create table parted_conflict_1_1 partition of parted_conflict_1 for values from (0) to (500);

with the expectation that the partition would not have a proper index on
which to run an INSERT INTO parted_conflict_1 ON CONFLICT (a), expecting
that partition parted_conflict_1_1 would not have the index.  But in
reality parted_conflict_1_1 does have the index (and it only fails
because the index in its parent is marked invalid).  So the patch moves
the CREATE TABLE parted_conflict_1_1 to before the indexes creation, so
that the partition really does not have the index, and then it gets the
expected error.

If you were to run the pg_upgrade test with my fks-to-partitioned-tables
patch, it will fail because of a PK on an partitionless partitioned
table being marked invalid after restore; but if you run it after
applying this patch, it should work (it works for me).

-- 
Álvaro Herrera                            39°50'S 73°21'W

Вложения

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

Предыдущее
От: Thomas Munro
Дата:
Сообщение: Re: [PATCH v19] GSSAPI encryption support
Следующее
От: Nikita Glukhov
Дата:
Сообщение: Re: jsonpath