Re: HOT patch, missing things

From: "Pavan Deolasee" <pavan(dot)deolasee(at)gmail(dot)com>
To: "Heikki Linnakangas" <heikki(at)enterprisedb(dot)com>
Cc: "Pavan Deolasee" <pavan(at)enterprisedb(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: HOT patch, missing things
Date: 2007-08-09 07:48:10
Message-ID: 2e78013d0708090048w4142e912seba3db54a74ebb35@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 8/7/07, Heikki Linnakangas <heikki(at)enterprisedb(dot)com> wrote:
>
> There's three things clearly missing in the patch:
>
> 1. HOT updates on tables with expression or partial indexes. Hasn't been
> done yet because it should be pretty straightforward and we've had more
> important things to do. Though not critical, should be finished before
> release in my opinion.
>
>

I started with this. ISTM to support partial indexes, we must check
the old and new tuple against partiality match.

HOT update is feasible iff

- old and new tuples, both match the partiality condition OR
- old and new tuples, both don't match the condition

In either case, we either had an index entry which can serve for
the new tuple OR we did not have an index entry for the old tuple,
but neither the new tuple needs it.

Of course, we still need to apply all other criteria to finally decide
whether to do HOT or COLD update.

For functional index, we should apply the function to the old and new
tuple and compare the outcome. If the results are same, HOT update
is feasible.

We still need to think about the best way to do this without any
modularity invasion and least possible overhead, but can anybody
see any issue with the broader approach ?

Thanks,
Pavan

--
Pavan Deolasee
EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message tomas 2007-08-09 09:36:40 Re: default_text_search_config and expression indexes
Previous Message Adrian Maier 2007-08-09 07:47:21 Compilation of pg 7.4.17 fails on HP-UX