Re: contrib loose ends: 9.0 to 9.1 incompatibilities
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: pgsql-hackers@postgresql.org
Date: 2011-02-16T17:31:30Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@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