Revision b759bb6714f03e91071b8fe6d29c28a1f87ea4bb authored by Tom Lane on 16 September 2022, 17:23:01 UTC, committed by Tom Lane on 16 September 2022, 17:23:01 UTC
Treat arguments declared as RECORD as if that were a polymorphic type (which it is, sort of), in that we substitute the actual argument type while forming the function cache lookup key. This allows the specific composite type to be known in some cases where it was not before, at the cost of making a separate function cache entry for each named composite type that's passed to the function during a session. The particular symptom discussed in bug #17610 could be solved in other more-efficient ways, but only at the cost of considerable development work, and there are other cases where we'd still fail without this. Per bug #17610 from Martin Jurča. Back-patch to v11 where we first allowed plpgsql functions to be declared as taking type RECORD. Discussion: https://postgr.es/m/17610-fb1eef75bf6c2364@postgresql.org
1 parent c946425
File | Mode | Size |
---|---|---|
config | ||
contrib | ||
doc | ||
src | ||
.cirrus.yml | -rw-r--r-- | 17.7 KB |
.dir-locals.el | -rw-r--r-- | 730 bytes |
.editorconfig | -rw-r--r-- | 183 bytes |
.git-blame-ignore-revs | -rw-r--r-- | 9.5 KB |
.gitattributes | -rw-r--r-- | 1.4 KB |
.gitignore | -rw-r--r-- | 504 bytes |
COPYRIGHT | -rw-r--r-- | 1.2 KB |
GNUmakefile.in | -rw-r--r-- | 4.1 KB |
HISTORY | -rw-r--r-- | 277 bytes |
Makefile | -rw-r--r-- | 1.8 KB |
README | -rw-r--r-- | 1.2 KB |
README.git | -rw-r--r-- | 721 bytes |
aclocal.m4 | -rw-r--r-- | 397 bytes |
configure | -rwxr-xr-x | 581.6 KB |
configure.ac | -rw-r--r-- | 86.5 KB |
Computing file changes ...