Teodor Sigaev <[EMAIL PROTECTED]> writes: > Now I basically finished recovery for GiST (of course, it's need a hard > testing) > and go to concurrency. As it described in Kornaker, Mohan and Hellerstein's > paper > (http://www.sai.msu.su/~megera/postgres/gist/papers/concurrency/sigmod97-gist.pdf) > > it's need a way to get global LSN, in our case - XLogRecPtr of last changed > page. As I understand, I can't use ProcLastRecPtr because it is one-process > wide, I need value stored in shared memory.
If the method needs a truly global LSN, then it is broken --- the only way you could have such a value and have it stay good long enough to do anything with it is to block all other backends from inserting any new WAL records. Which is the very antithesis of concurrency. I think you probably misunderstood the paper. It looks to me like the proposal in the paper is to use the LSN assigned to the WAL record that represents a page split operation. Which you get from the XLogInsert --- there's no need for an extra call. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match