aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/gin/ginarrayproc.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2007-01-30 22:05:13 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2007-01-30 22:05:13 +0000
commit35b039a26ca2cdcfae94c5aacd0ac4a0904b5285 (patch)
tree7feb53ff5b50878413d1e35746866633e5accb65 /src/backend/access/gin/ginarrayproc.c
parent33d78c9e48d8d096f606c169413ca3d56b9c9b2c (diff)
downloadpostgresql-35b039a26ca2cdcfae94c5aacd0ac4a0904b5285.tar.gz
postgresql-35b039a26ca2cdcfae94c5aacd0ac4a0904b5285.zip
Repair oversights in the mechanism used to store compiled plpgsql functions.
The original coding failed (tried to access deallocated memory) if there were two active call sites (fn_extra pointers) for the same function and the function definition was updated. Also, if an update of a recursive function was detected upon nested entry to the function, the existing compiled version was summarily deallocated, resulting in crash upon return to the outer instance. Problem observed while studying a bug report from Sergiy Vyshnevetskiy. Bug does not exist before 8.1 since older versions just leaked the memory of obsoleted compiled functions, rather than trying to reclaim it.
Diffstat (limited to 'src/backend/access/gin/ginarrayproc.c')
0 files changed, 0 insertions, 0 deletions