need help in understanding gist function

Started by sharath kumaralmost 19 years ago2 messages
#1sharath kumar
k.sharat@gmail.com

I need help in understanding certain things in gist ...
1. What is the functionality of gistplacetopage() function in gist.c ?Can
you please give me detail description of this function.
2. I have left and right buffers with values that I have filled. Now, how do
I write these changes(buffers) permanently into gistentry pages?

Thanks
Sharat

#2Teodor Sigaev
teodor@sigaev.ru
In reply to: sharath kumar (#1)
Re: need help in understanding gist function

1. What is the functionality of gistplacetopage() function in gist.c
?Can you please give me detail description of this function.

It tries to place index tuple on page. If page hasn't enough space,
gistplacetopage splits page on two or more pages. Number of page to be splitted
depends, basically, on quality of user-defined picksplit and distribution of
tuple's length.

2. I have left and right buffers with values that I have filled. Now,
how do I write these changes(buffers) permanently into gistentry pages?

Sorry, I don't understand your questions. Where you have left and right buffers?
Real write are produced by bgwriter process, in backend we should just mark
byffer as dirty with a help of MarkBufferDirty call.

--
Teodor Sigaev E-mail: teodor@sigaev.ru
WWW: http://www.sigaev.ru/