Re: WIP: Covering + unique indexes.

Поиск
Список
Период
Сортировка
От Alexander Korotkov
Тема Re: WIP: Covering + unique indexes.
Дата
Msg-id CAPpHfdv4=byzf+rH5DvzAS3odmej36KZFcvZ_f+1yc4KctBoMQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: WIP: Covering + unique indexes.  (Peter Geoghegan <pg@bowt.ie>)
Ответы Re: WIP: Covering + unique indexes.  (Peter Geoghegan <pg@bowt.ie>)
Список pgsql-hackers
On Fri, Apr 6, 2018 at 8:22 PM, Peter Geoghegan <pg@bowt.ie> wrote:
On Fri, Apr 6, 2018 at 10:20 AM, Teodor Sigaev <teodor@sigaev.ru> wrote:
> As far I can see, there is no any on-disk representation differece for
> *existing* indexes. So, pg_upgrade is not need here and there isn't any new
> code to support "on-fly" modification. Am I right?

Yes.

I'm going to look at this again today, and will post something within
12 hours. Please hold off on committing until then.

Thank you.

Thinking about that again, I found that we should relax our requirements to
"minus infinity" items, because pg_upgraded indexes doesn't have any
special bits set for those items. 

What do you think about applying following patch on the top of v14?

diff --git a/src/backend/access/nbtree/nbtsearch.c b/src/backend/access/nbtree/nbtsearch.c
index 44605fb5a4..53dc47ff82 100644
--- a/src/backend/access/nbtree/nbtsearch.c
+++ b/src/backend/access/nbtree/nbtsearch.c
@@ -2000,8 +2000,12 @@ _bt_check_natts(Relation index, Page page, OffsetNumber offnum)
    }
    else if (!P_ISLEAF(opaque) && offnum == P_FIRSTDATAKEY(opaque))
    {
-       /* Leftmost tuples on non-leaf pages have no attributes */
-       return (BTreeTupGetNAtts(itup, index) == 0);
+       /*
+        * Leftmost tuples on non-leaf pages have no attributes, or haven't
+        * INDEX_ALT_TID_MASK set in pg_upgraded indexes.
+        */
+       return (BTreeTupGetNAtts(itup, index) == 0 ||
+               ((itup->t_info & INDEX_ALT_TID_MASK) == 0));
    }
    else
    {

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company 

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

Предыдущее
От: Tomas Vondra
Дата:
Сообщение: Re: [HACKERS] [PATCH] Incremental sort
Следующее
От: Alexander Korotkov
Дата:
Сообщение: Re: pgsql: New files for MERGE