aboutsummaryrefslogtreecommitdiff
path: root/src/backend/utils/adt/pgstatfuncs.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2023-03-27 15:04:02 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2023-03-27 15:04:15 -0400
commita3c9d35ae168864bf7999b06e27dabe65a0915e9 (patch)
tree0fe8f6625223a0c382dbd809a22f55e80069d3e7 /src/backend/utils/adt/pgstatfuncs.c
parentc87aff065c33e1a3c9bf0350f9160e84bfce1c36 (diff)
downloadpostgresql-a3c9d35ae168864bf7999b06e27dabe65a0915e9.tar.gz
postgresql-a3c9d35ae168864bf7999b06e27dabe65a0915e9.zip
Reject attempts to alter composite types used in indexes.
find_composite_type_dependencies() ignored indexes, which is a poor decision because an expression index could have a stored column of a composite (or other container) type even when the underlying table does not. Teach it to detect such cases and error out. We have to work a bit harder than for other relations because the pg_depend entry won't identify the specific index column of concern, but it's not much new code. This does not address bug #17872's original complaint that dropping a column in such a type might lead to violations of the uniqueness property that a unique index is supposed to ensure. That seems of much less concern to me because it won't lead to crashes. Per bug #17872 from Alexander Lakhin. Back-patch to all supported branches. Discussion: https://postgr.es/m/17872-d0fbb799dc3fd85d@postgresql.org
Diffstat (limited to 'src/backend/utils/adt/pgstatfuncs.c')
0 files changed, 0 insertions, 0 deletions