Re: GIN code managing entry insertion not able to differentiate fresh and old indexes

From: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
To: Bruce Momjian <bruce(at)momjian(dot)us>
Cc: PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: GIN code managing entry insertion not able to differentiate fresh and old indexes
Date: 2015-03-21 11:13:00
Message-ID: CAB7nPqTKPoh653onAfS9cVX82HghAdegwQ+uw4bYyvty9W1rkg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sat, Mar 21, 2015 at 7:27 AM, Bruce Momjian wrote:
> On Thu, Nov 20, 2014 at 05:22:02PM +0900, Michael Paquier wrote:
>> While playing with the GIN code for an upcoming patch, I noticed that
>> when inserting a new entry in a new index, this code path is not able
>> to make the difference if the index is in a build state or not.
>> Basically, when entering in ginEntryInsert(at)gininsert(dot)c GinBtree built
>> via ginPrepareEntryScan does not have its flag isBuild set up
>> properly. I think that it should be set as follows to let this code
>> path be aware that index is in build state:
>> btree.isBuild = (buildStats != NULL);
>>
>> Note that the entry insertion code does nothing with isBuild yet, so
>> it does not really impact back-branches. However, if in the future we
>> fix a bug in this area and need to make distinction between a fresh
>> index and an old one well there will be problems. For those reasons,
>> this correctness fix should be perhaps master-only for now (perhaps
>> even 9.4 stuff as well).
>
> Where did we leave this?

I recall Heikki mentioning me that the code paths where
ginPrepareEntryScan is called do not make use of isBuild, so it does
not matter much now to not fix it... But *if* there is a new feature
implemented in gin that makes use of the flag isBuild there will be
problems, so I am of the opinion to push a fix for correctness.
--
Michael

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Julien Tachoires 2015-03-21 12:19:37 Re: patch : Allow toast tables to be moved to a different tablespace
Previous Message Andres Freund 2015-03-21 10:04:22 Re: PATCH: pgbench - merging transaction logs