Skip site navigation (1) Skip section navigation (2)

Re: HOT patch - version 11

From: Heikki Linnakangas <heikki(at)enterprisedb(dot)com>
To: Pavan Deolasee <pavan(dot)deolasee(at)gmail(dot)com>
Cc: PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org>
Subject: Re: HOT patch - version 11
Date: 2007-08-01 20:09:06
Message-ID: 46B0E862.1030003@enterprisedb.com (view raw or flat)
Thread:
Lists: pgsql-hackerspgsql-patches
Pavan Deolasee wrote:
> Please see the attached version 11 of HOT patch

Thanks!

One wrinkle in the patch is how the ResultRelInfo-struct is passed to
heap_update, and on to heap_check_idxupdate, to check any indexed
columns have changed. I think that's a modularity violation, heap_update
really shouldn't have to deal with ResultRelInfo, that belongs in the
executor. When we add support for expression and partial indexes,
heap_check_idxupdate will need even more executor machinery to be able
to evaluate expressions.


In heap_page_prune_defrag, it would be better to do the test for
BufferIsLockedForCleanup right after acquiring the lock. The longer the
delay between those steps, the bigger the chances that someone pins the
page and starts to wait for the buffer lock, making us think that we
didn't get the cleanup lock, though we actually did. Maybe a nicer
solution would be to have another version of ConditionalLockBuffer with
three different return values: didn't get lock, got exclusive lock, or
got cleanup lock.


It's not necessary to WAL-log the unused-array that
PageRepairFragmentation returns. In replay, a call to
PageRepairFragmentation will come to the same conclusion about which
line pointers are not used. It would also be better if we didn't emit a
separate WAL record for defraging a page, if we also prune it at the
same time. I'm not that worried about WAL usage in general, but that
seems simple enough to fix.

-- 
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

In response to

Responses

pgsql-hackers by date

Next:From: Ron MayerDate: 2007-08-01 21:21:12
Subject: Re: default_text_search_config and expression indexes
Previous:From: Erik JonesDate: 2007-08-01 19:49:20
Subject: Re: stats_block_level

pgsql-patches by date

Next:From: Pavel AjtkulovDate: 2007-08-01 20:18:22
Subject: strpos() && KMP
Previous:From: Alvaro HerreraDate: 2007-08-01 18:57:33
Subject: Re: enable logging of start time/cookie for all backendprocesses

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group