Re: Comment in src/backend/commands/vacuumlazy.c

From: Amit Langote <amitlangote09(at)gmail(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Comment in src/backend/commands/vacuumlazy.c
Date: 2014-04-01 03:44:52
Message-ID: CA+HiwqEXOENER=n-Czg9DBEE9d5yNGfvO_zYOiHxHz6fStOJLw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Mar 31, 2014 at 11:44 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> On Mon, Mar 24, 2014 at 12:28 AM, Amit Langote <amitlangote09(at)gmail(dot)com> wrote:
>> Hi,
>>
>> Note the following comment in src/backend/commands/vacuumlazy.c:lazy_scan_heap()
>>
>> 1088 /* If no indexes, make log report that lazy_vacuum_heap
>> would've made */
>> 1089 if (vacuumed_pages)
>> 1090 ereport(elevel,
>>
>> Just wondering if it would read better as:
>>
>> 1088 /* Make the log report that lazy_vacuum_heap would've made
>> had there been no indexes */
>>
>> Is that correct?
>
> No. Your rewrite means the opposite of what the comment means now.
> vacuumed_pages will be non-zero only if the relation does NOT have
> indexes.
>

You are correct. It does sound opposite of what is actually happening:

Somewhere in c:lazy_scan_heap(),

941 /*
942 * If there are no indexes then we can vacuum the page right now
943 * instead of doing a second scan.
944 */
945 if (nindexes == 0 &&
946 vacrelstats->num_dead_tuples > 0)
947 {
948 /* Remove tuples from heap */
949 lazy_vacuum_page(onerel, blkno, buf, 0, vacrelstats, &vmbuffer);
950 has_dead_tuples = false;
951
952 /*
953 * Forget the now-vacuumed tuples, and press on, but be careful
954 * not to reset latestRemovedXid since we want that value to be
955 * valid.
956 */
957 vacrelstats->num_dead_tuples = 0;
958 vacuumed_pages++;
959 }

Sorry about the noise.

--
Amit

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2014-04-01 04:14:57 Re: Patch to add support of "IF NOT EXISTS" to others "CREATE" statements
Previous Message Tom Lane 2014-04-01 02:54:00 Re: BUG #9518: temporary login failure - "missing pg_hba entry"