Re: Few comments on commit 857f9c36 (skip full index scans )

From: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Teodor Sigaev <teodor(at)sigaev(dot)ru>
Subject: Re: Few comments on commit 857f9c36 (skip full index scans )
Date: 2018-05-29 20:05:51
Message-ID: CAD21AoDCQhFHOYabQtTePZgef0GXbEuPFu+DrWdJJZt9UyR1wg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, May 28, 2018 at 4:52 AM, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:
> Hi,
>
> Review comments on commit 857f9c36:
> 1.
> @@ -2049,6 +2055,10 @@ _bt_newroot(Relation rel, Buffer lbuf, Buffer rbuf)
> metapg = BufferGetPage(metabuf);
> metad = BTPageGetMeta(metapg);
>
> + /* upgrade metapage if needed */
> + if (metad->btm_version < BTREE_VERSION)
> + _bt_upgrademetapage(metapg);
> +
>
> The metapage upgrade should be performed under critical section.
>
> 2.
> @@ -191,6 +304,10 @@ _bt_getroot(Relation rel, int access)
> LockBuffer(metabuf, BUFFER_LOCK_UNLOCK);
> LockBuffer(metabuf, BT_WRITE);
>
> + /* upgrade metapage if needed */
> + if (metad->btm_version < BTREE_VERSION)
> + _bt_upgrademetapage(metapg);
> +
>
> Same as above.
>
> In other cases like _bt_insertonpg, the upgrade is done inside the
> critical section. It seems the above cases are missed.
>
> 3.
> + TransactionId btm_oldest_btpo_xact; /* oldest btpo_xact among of
> + * deleted pages */
>
> /among of/among all
>
> Attached patch to fix the above comments.
>

Thank you for reviewing and the patch. All changes looks good to me.

Regards,

--
Masahiko Sawada
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2018-05-29 20:38:36 Re: "column i.indnkeyatts does not exist" in pg_upgrade from 11dev to 11b1
Previous Message Pavel Stehule 2018-05-29 19:21:00 Re: behave of --create-slot option