CVSROOT:        /cvsroot
Module name:    pgsql-server
Changes by:     [EMAIL PROTECTED]       03/08/10 16:48:08

Modified files:
        src/backend/access/nbtree: nbtpage.c 
        src/backend/storage/buffer: bufmgr.c 
        src/include/storage: bufmgr.h 

Log message:
        Repair potential deadlock created by recent changes to recycle btree
        index pages: when _bt_getbuf asks the FSM for a free index page, it is
        possible (and, in some cases, even moderately likely) that the answer
        will be the same page that _bt_split is trying to split.  _bt_getbuf
        already knew that the returned page might not be free, but it wasn't
        prepared for the possibility that even trying to lock the page could
        be problematic.  Fix by doing a conditional rather than unconditional
        grab of the page lock.


---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
      joining column's datatypes do not match

Reply via email to