Robert Haas <robertmh...@gmail.com> writes: > Yeah. I think there should be a way to tell a PL to flush any > internal caches it is maintaining, some variant of DISCARD. But that > would require a bunch of code that nobody's written yet.
That mechanism already exists, so far as the core code is concerned: register a syscache inval callback. But you're right, getting plpgsql to actually do anything about changes in composite types would require a bunch of code that nobody's written yet. If you'll pardon my bashing on a long-deceased horse, this would be noticeably easier if we stopped using the PLPGSQL_DTYPE_ROW code paths for composite-type variables. That mechanism was really designed for cases like "SELECT ... INTO a,b,c" where the row contents are fully determined by the function text. It's practically impossible to make it cope with dynamic changes; at the very least you have to recompile the whole function. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers