-
- Downloads
Ensure that a cursor has an immutable snapshot throughout its lifespan.
The old coding was using a regular snapshot, referenced elsewhere, that was subject to having its command counter updated. Fix by creating a private copy of the snapshot exclusively for the cursor. Backpatch to 8.4, which is when the bug was introduced during the snapshot management rewrite.
Showing
- src/backend/commands/portalcmds.c 11 additions, 2 deletionssrc/backend/commands/portalcmds.c
- src/backend/executor/spi.c 2 additions, 5 deletionssrc/backend/executor/spi.c
- src/backend/utils/time/snapmgr.c 2 additions, 3 deletionssrc/backend/utils/time/snapmgr.c
- src/include/utils/snapmgr.h 2 additions, 1 deletionsrc/include/utils/snapmgr.h
- src/test/regress/expected/portals.out 15 additions, 0 deletionssrc/test/regress/expected/portals.out
- src/test/regress/sql/portals.sql 12 additions, 0 deletionssrc/test/regress/sql/portals.sql
Loading
Please register or sign in to comment