Re: unnecessary code in_bt_split

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Zdenek Kotala <Zdenek(dot)Kotala(at)Sun(dot)COM>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: unnecessary code in_bt_split
Date: 2008-08-03 23:44:33
Message-ID: 15674.1217807073@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Zdenek Kotala <Zdenek(dot)Kotala(at)Sun(dot)COM> writes:
> I found that _bt_split function calls PageGetTempPage, but next call is
> _bt_page_init which clear all contents anyway. Is there any reason to call
> PageGetTempPage instead of palloc?

Not violating a perfectly good abstraction?

I agree that PageGetTempPage isn't amazingly efficient, but internal
refactoring would halve its cost; and if you have some evidence that
there's a real performance issue then we could think about adjusting
the temp-page API to allow _bt_pageinit to be combined with it. But
I have a real problem with hacking up _bt_split so that it will call
PageRestoreTempPage on something it didn't get from PageGetTempPage.

Considering the WAL and regular I/O that will be induced by a split,
I kinda doubt this is even worth worrying about anyway...

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Josh Berkus 2008-08-04 00:56:07 Re: Mini improvement: statement_cost_limit
Previous Message Zdenek Kotala 2008-08-03 21:19:01 unnecessary code in_bt_split