Re: ALTER EXTENSION ... UPGRADE;

Dimitri Fontaine <dimitri@2ndquadrant.fr>

From: Dimitri Fontaine <dimitri@2ndQuadrant.fr>
To: "David E. Wheeler" <david@kineticode.com>
Cc: Dimitri Fontaine <dimitri@2ndQuadrant.fr>, Tom Lane <tgl@sss.pgh.pa.us>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2010-12-10T22:32:09Z
Lists: pgsql-hackers
"David E. Wheeler" <david@kineticode.com> writes:
> On Dec 10, 2010, at 1:50 PM, Dimitri Fontaine wrote:
>> I don't think we can safely design around one part version numbers here,
>> because I'm yet to see that happening in any extension I've had my hands
>> on, which means a few already, as you can imagine.
>
> Why not? Simplest thing, to my mind, is to have
>
>   upgrade/foo-1.12.sql
>   upgrade/foo-1.13.sql
>   upgrade/foo-1.15.sql

Since when is 1.12 a one part version number? :)

> Since you know the existing version number, you just run all that come
> after. For example, if the current version is 1.12, then you know to
> run foo-1.13.sql and foo-1.15.sql.

I don't think imposing what version numbers must look like and what the
separators in the file names should be is a good idea.

>>  version = '13'
>>  script  = 'foo.sql'
>>  upgrade = 'foo_upgrade.%v.13.sql'
>
> I think that's way more complicated than necessary.

It's just moving the complexity from the rules for the user to obey to
having them explain us by which rules they're playing. I personally very
much prefer the later, as you can imagine.

Regards,
-- 
Dimitri Fontaine
http://2ndQuadrant.fr     PostgreSQL : Expertise, Formation et Support