On 3 Dec 2008, at 06:57 AM, Heikki Linnakangas <[EMAIL PROTECTED] > wrote:

Tom Lane wrote:
Heikki Linnakangas <[EMAIL PROTECTED]> writes:
If *that* is a use case we're interested in, the incoming tuples could be accumulated in backend-private memory, and inserted into the index at commit. That would be a lot simpler, with no need to worry about concurrent inserts or vacuums.
Doesn't work --- the index would yield wrong answers for later queries
in the same transaction.

Queries would still need to check the backend-private list.


More to the point -- at least if I'm guessing right about tom's thoughts --queries would still have to check the heap. That is the backend private list would just be a proxy for buffered *index* tuples.

If we do this though it would be really nice to do it at a higher level than the indexam. If we could do it for any indexam that provides a kind of bulk insert method that would be great.

I'm just not sure how to support all the indexable operators for the various indexams on the local buffered list.

Incidentally buffering btree index inserts was originally Heikki's idea.


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

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to