postgresql/src/backend
Tom Lane b19255ca66 Throw a more on-point error for functions depending on columns.
ALTER COLUMN TYPE wasn't expecting to find any pg_proc objects
depending on the column whose type is to be altered.  That indeed
wasn't possible when this code was written, but it is possible
since we introduced new-style SQL function bodies.

It's about as difficult to fix this case as it is to fix dependent
views, and we've been punting on those for years, so I don't feel
too awful about punting for functions too.  (I sure wouldn't risk
back-patching such code.)  So just throw a more user-facing error.
Also, adjust some of the existing comments to reflect that these
are all pretty much the same issue.

(This patch also fixes it so we will tolerate finding such a
dependency during ALTER COLUMN SET EXPRESSION; in that, we need
not do anything to the function, so no error is wanted.  That
problem is new in HEAD.)

Per bug #18449 from Alexander Lakhin.  Back-patch to v14 where
we added new-style SQL functions.

Discussion: https://postgr.es/m/18449-f8248467aaa294d5@postgresql.org
2024-04-28 14:34:21 -04:00
..
access Use the correct PG_DETOAST_DATUM macro in BRIN 2024-04-14 18:24:38 +02:00
archive Redesign archive modules 2023-02-17 14:26:42 +09:00
backup Skip .DS_Store files in server side utils 2024-02-13 13:47:12 +01:00
bootstrap Fix CREATE INDEX progress reporting for multi-level partitioning. 2023-03-25 15:34:03 -04:00
catalog Fix type-checking of RECORD-returning functions in FROM, redux. 2024-04-15 12:56:56 -04:00
commands Throw a more on-point error for functions depending on columns. 2024-04-28 14:34:21 -04:00
executor Fix bogus coding in ExecAppendAsyncEventWait(). 2024-04-04 17:25:00 +09:00
foreign Expand some more uses of "deleg" to "delegation" or "delegated". 2023-05-21 10:55:18 -04:00
jit Fix illegal attribute propagation in LLVM JIT. 2024-04-10 10:46:15 +12:00
lib Fix ILIST_DEBUG build 2023-01-18 10:26:15 -08:00
libpq Disconnect if socket cannot be put into non-blocking mode 2024-03-12 10:18:44 +02:00
main Remove obsolete defense against strxfrm() bugs. 2023-04-20 13:20:14 +12:00
nodes Use a safer outfuncs/readfuncs representation for BitStrings. 2024-02-13 12:18:25 -05:00
optimizer Ensure generated join clauses for child rels have correct relids. 2024-04-16 11:03:43 -04:00
parser Fix type-checking of RECORD-returning functions in FROM, redux. 2024-04-15 12:56:56 -04:00
partitioning Fix incorrect pruning of NULL partition for boolean IS NOT clauses 2024-02-20 12:50:09 +13:00
po Translation updates 2024-02-05 14:45:29 +01:00
port Close socket in case of errors in setting non-blocking 2024-01-17 11:24:11 +01:00
postmaster Avoid deadlock during orphan temp table removal. 2024-04-02 14:59:04 -04:00
regex Pre-beta mechanical code beautification. 2023-05-19 17:24:48 -04:00
replication Fix the missing table sync due to improper invalidation handling. 2024-04-25 10:52:34 +05:30
rewrite Make INSERT-from-multiple-VALUES-rows handle domain target columns. 2024-03-14 14:57:16 -04:00
snowball Fix the install rule for snowball_create.sql. 2023-05-23 11:15:57 -04:00
statistics Fix incorrectly reported stats kind in "can't happen" ERROR 2024-03-05 16:17:53 +13:00
storage freespace: Don't return blocks past the end of the main fork. 2024-04-13 08:35:06 -07:00
tcop Be more rigorous about local variables in PostgresMain(). 2023-07-10 12:14:34 -04:00
tsearch Limit to_tsvector_byid's initial array allocation to something sane. 2023-09-25 11:50:28 -04:00
utils Detect more overflows in timestamp[tz]_pl_interval. 2024-04-28 13:42:13 -04:00
.gitignore
Makefile Fix make headerscheck 2024-04-27 11:38:41 +07:00
common.mk Blind attempt to fix LLVM dependency in the backend 2022-09-15 10:53:48 +07:00
meson.build Add win32ver data to meson-built postgres.exe. 2023-06-12 07:40:38 -07:00
nls.mk Add missing gettext triggers 2023-05-10 13:51:51 +02:00