aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/xml.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2009-05-12 03:11:02 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2009-05-12 03:11:02 +0000
commitd4a363cdf2b426bbf6c401543b8286ad86ca9bd5 (patch)
tree6e779dda4f07d302085cf4521c8385cbd241babf /src/backend/utils/adt/xml.c
parent0ada559187d167fceb0ce438f332fd50852d0c13 (diff)
downloadpostgresql-d4a363cdf2b426bbf6c401543b8286ad86ca9bd5.tar.gz
postgresql-d4a363cdf2b426bbf6c401543b8286ad86ca9bd5.zip
Modify find_inheritance_children() and find_all_inheritors() to add the
ability to lock relations as they scan pg_inherits, and to ignore any relations that have disappeared by the time we get lock on them. This makes uses of these functions safe against concurrent DROP operations on child tables: we will effectively ignore any just-dropped child, rather than possibly throwing an error as in recent bug report from Thomas Johansson (and similar past complaints). The behavior should not change otherwise, since the code was acquiring those same locks anyway, just a little bit later. An exception is LockTableCommand(), which is still behaving unsafely; but that seems to require some more discussion before we change it.
Diffstat (limited to 'src/backend/utils/adt/xml.c')
0 files changed, 0 insertions, 0 deletions