On 8/7/07, Heikki Linnakangas <[EMAIL PROTECTED]> 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
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 ?