Thread: ignore_killed_tuples is always true

ignore_killed_tuples is always true

From
ITAGAKI Takahiro
Date:
I found IndexScanDesc->ignore_killed_tuples is always true.
Is this still needed?

Also, I cannot understand why gistgetmulti calls gistnext with
ignore_killed_tuples = false. We can always ignore LP_DELETEed tuples, right?

---
ITAGAKI Takahiro
NTT Cyber Space Laboratories

Attachment

Re: ignore_killed_tuples is always true

From
Tom Lane
Date:
ITAGAKI Takahiro <itagaki.takahiro@lab.ntt.co.jp> writes:
> I found IndexScanDesc->ignore_killed_tuples is always true.
> Is this still needed?

What is the point of removing it?  You cannot argue that saving
one if-test per tuple is a worthwhile speedup.

            regards, tom lane

Re: ignore_killed_tuples is always true

From
Jaime Casanova
Date:
On 2/10/06, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> ITAGAKI Takahiro <itagaki.takahiro@lab.ntt.co.jp> writes:
> > I found IndexScanDesc->ignore_killed_tuples is always true.
> > Is this still needed?
>
> What is the point of removing it?  You cannot argue that saving
> one if-test per tuple is a worthwhile speedup.
>
>             regards, tom lane
>

to clean code?

--
regards,
Jaime Casanova
(DBA: DataBase Aniquilator ;)

Re: ignore_killed_tuples is always true

From
Tom Lane
Date:
Jaime Casanova <systemguards@gmail.com> writes:
> On 2/10/06, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> What is the point of removing it?  You cannot argue that saving
>> one if-test per tuple is a worthwhile speedup.

> to clean code?

It's not saving any noticeable amount of code, and what it is doing
is removing functionality we might want someday.  It's not hard to
imagine pgstattuple or VACUUM or other maintenance operations wanting
to look at killed index entries.

            regards, tom lane

Re: ignore_killed_tuples is always true

From
ITAGAKI Takahiro
Date:
Tom Lane <tgl@sss.pgh.pa.us> wrote:
> It's not saving any noticeable amount of code, and what it is doing
> is removing functionality we might want someday.  It's not hard to
> imagine pgstattuple or VACUUM or other maintenance operations wanting
> to look at killed index entries.

I suggested it not for performance, but for simplicity of code. So if we
still need it, I agree to leave it.

Moreover, LP_DELETEed tuples might be useful for Bitmap NOT And/Or join,
not only maintenance operations. Union-side of bitmap should not contain
LP_DELETEed tuples, and Except-side should do.

---
ITAGAKI Takahiro
NTT Cyber Space Laboratories