Robert Haas <robertmh...@gmail.com> writes: > The trouble is that we have no mechanism for conditional logic in > upgrade scripts, so if the system catalog structure should change in a > way that causes the hook and unhook mechanism to require different > logic depending on which PG major version is in use, we're hosed.
Well, actually, we *do* have such a mechanism (plpgsql), we just don't want to use it unless we have to. I wouldn't feel too bad about saying "upgrading tsearch2 directly from 9.0 to 9.4 requires that you have plpgsql installed when you issue the CREATE EXTENSION command". I grant all your points about abstraction being a good thing. But there are only so many hours in the day, and writing (and then maintaining) thousands of lines of C code on the grounds that maybe that will let somebody avoid writing some ugly code someday is not going to get to the top of my to-do list anytime in the foreseeable future. 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