From:
"David E(dot) Wheeler" <david(at)kineticode(dot)com>
To:
Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
Cc:
Itagaki Takahiro <itagaki(dot)takahiro(at)gmail(dot)com>,
PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject:
Re: ALTER EXTENSION UPGRADE, v3
Date:
2011-02-02 18:07:59
Message-ID:
E4008D70-2ED2-414C-B683-B802FC247005@kineticode.com (view raw or flat )
Thread:
2011-02-01 18:21:03 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-02 10:35:16 from Itagaki Takahiro <itagaki(dot)takahiro(at)gmail(dot)com>
2011-02-02 11:29:10 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-02 13:12:51 from Itagaki Takahiro <itagaki(dot)takahiro(at)gmail(dot)com>
2011-02-02 14:45:45 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-02 16:50:59 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-02 17:03:07 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-02 17:09:59 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-02 17:19:14 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-02 17:31:54 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-02 18:04:26 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-02 18:07:59 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-02 18:22:33 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-02 18:29:28 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-03 08:21:28 from Anssi Kääriäinen <anssi(dot)kaariainen(at)thl(dot)fi>
2011-02-03 08:46:18 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-03 14:53:04 from "Ross J(dot) Reedstrom" <reedstrm(at)rice(dot)edu>
2011-02-03 15:30:31 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-03 15:31:08 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-03 16:25:50 from "Ross J(dot) Reedstrom" <reedstrm(at)rice(dot)edu>
2011-02-03 16:29:49 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-03 16:53:50 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-03 17:15:36 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-03 16:55:35 from Florian Pflug <fgp(at)phlo(dot)org>
2011-02-03 17:38:36 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-03 17:50:08 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-03 18:07:31 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-03 18:10:12 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-03 18:47:37 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-03 19:02:18 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-03 19:03:20 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-03 19:14:50 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-03 18:27:01 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-03 17:54:57 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-03 18:05:57 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-03 19:35:02 from Josh Berkus <josh(at)agliodbs(dot)com>
2011-02-03 19:52:40 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-03 23:29:14 from Josh Berkus <josh(at)agliodbs(dot)com>
2011-02-03 19:56:46 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-03 19:57:32 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-03 21:24:51 from Josh Berkus <josh(at)agliodbs(dot)com>
2011-02-04 09:04:15 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-04 14:53:15 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-04 15:13:44 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-04 15:48:52 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-04 16:48:08 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-04 16:54:48 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-04 17:01:53 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-04 17:02:39 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-10 18:26:06 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-10 18:52:19 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-10 19:31:09 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-10 19:35:29 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-10 20:02:50 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-10 20:07:28 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-10 20:46:24 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-10 20:58:03 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-10 20:58:54 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-10 21:17:51 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-10 21:22:09 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-10 21:24:13 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-10 21:35:20 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-10 21:49:49 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-10 20:44:50 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-10 22:17:11 from David Christensen <david(at)endpoint(dot)com>
2011-02-10 22:41:35 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-10 19:02:33 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-10 19:42:35 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-10 20:06:05 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-10 20:33:20 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-10 20:40:23 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-10 21:14:05 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-10 21:21:08 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-10 20:52:29 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-10 21:19:10 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-10 21:22:22 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-10 21:32:07 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-10 21:38:15 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-10 21:39:41 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-10 21:41:47 from Aidan Van Dyk <aidan(at)highrise(dot)ca>
2011-02-10 21:11:38 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-10 22:58:56 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-10 23:50:00 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 00:02:31 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-11 00:11:04 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 00:13:54 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-11 03:05:18 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 05:04:41 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-11 05:15:35 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 05:24:31 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-11 13:18:40 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-11 14:00:56 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-11 14:13:15 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-11 15:16:01 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 09:38:32 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-11 11:14:38 from Anssi Kääriäinen <anssi(dot)kaariainen(at)thl(dot)fi>
2011-02-11 15:37:57 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 16:22:24 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-11 16:46:17 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 17:04:04 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-11 00:38:43 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-11 09:44:32 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-11 09:24:15 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-11 16:39:19 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 16:56:19 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-11 17:06:28 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 17:35:27 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-11 18:06:12 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 18:09:08 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-11 18:09:08 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-11 19:16:52 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-11 17:35:34 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 18:07:19 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-11 18:10:13 from Josh Berkus <josh(at)agliodbs(dot)com>
2011-02-11 18:19:47 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 18:20:44 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-11 18:30:50 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 18:38:21 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-11 18:58:05 from Aidan Van Dyk <aidan(at)highrise(dot)ca>
2011-02-11 19:18:25 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-11 19:19:33 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 19:35:53 from Aidan Van Dyk <aidan(at)highrise(dot)ca>
2011-02-11 19:49:39 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 20:05:14 from Aidan Van Dyk <aidan(at)highrise(dot)ca>
2011-02-11 20:31:18 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-11 20:28:05 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-11 20:38:28 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 20:55:18 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-17 13:59:23 from Peter Eisentraut <peter_e(at)gmx(dot)net>
2011-02-17 16:03:15 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 19:12:35 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-12 01:14:04 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 19:50:50 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-11 19:52:52 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-11 20:07:00 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 20:15:55 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 20:18:33 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-11 20:23:47 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 20:40:08 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-11 20:46:53 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 20:52:37 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-11 20:36:07 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-11 18:49:27 from Kääriäinen Anssi <anssi(dot)kaariainen(at)thl(dot)fi>
2011-02-11 19:15:59 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 20:49:17 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-12 01:55:57 from marcin mank <marcin(dot)mank(at)gmail(dot)com>
2011-02-12 03:29:36 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-11 20:18:11 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-03 18:21:34 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-02 18:14:35 from Aidan Van Dyk <aidan(at)highrise(dot)ca>
2011-02-02 18:28:33 from "David E(dot) Wheeler" <david(at)kineticode(dot)com>
2011-02-02 18:39:49 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
2011-02-02 23:42:56 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-02 22:23:58 from Robert Haas <robertmhaas(at)gmail(dot)com>
2011-02-03 08:28:51 from Anssi Kääriäinen <anssi(dot)kaariainen(at)thl(dot)fi>
2011-02-03 09:05:22 from Žiga Kranjec <ziga(at)ljudmila(dot)org>
2011-02-03 16:34:07 from Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
2011-02-03 08:56:50 from Dimitri Fontaine <dimitri(at)2ndQuadrant(dot)fr>
Lists:
pgsql-hackers
On Feb 2, 2011, at 10:04 AM, Dimitri Fontaine wrote:
> "David E. Wheeler" <david(at)kineticode(dot)com> writes:
>> They are identical except for the extra line in the second one. If I
>> had, say 15 different versions of an extension, then I'd have 15
>> upgrade scripts. That's fine. But in your plan, the script to upgrade
>> from version 1 to version 15 would have all the same code as the v14
>> script, plus any additional. The v14 script would have everything in
>> v13. v13 would have everything in v12. With no support for the
>> equivalent of psql's \i, that's extremely redundant and a huge PITA to
>> maintain. Hence my hate.
>
> That's easy enough to manage in your Makefile, really:
>
> upgrade.null-v15.sql: upgrade.v14.sql upgrade.v15.sql
> cat upgrade.v14.sql upgrade.v15.sql > $@
Sure, if you know Make really well. But then I need to add a line to the Makefile for every bloody upgrade script. Gross.
> There's a difference between what you maintain and what you ship.
Yes.
>> My proposal would also have 15 upgrade scripts, but each one would
>> only upgrade from the previous one. So to upgrade from v1 to v15,
>> UPGRADE EXTENSION would run all of them. So v15 would only need to
>> have deltas from v14. V14 would need only deltas from v13. Etc.
>
> What if you can reuse the later script for upgrading from any previous
> version, like when the extension only contains CREATE OR REPLACE
> statements (functions only extension, like adminpack).
I don't understand the question.
> I don't see benefits in your proposal.
The benefit is reduced redundancy.
> It all comes down to the benefits. I don't see any in your proposal.
> That might be just me though.
Could be.
Best,
David
In response to
Responses
pgsql-hackers by date
Next :From: Mladen GogalaDate: 2011-02-02 18:11:33
Subject : Re: [HACKERS] Slow count(*) again...
Previous :From : Dimitri FontaineDate : 2011-02-02 18:04:26
Subject : Re: ALTER EXTENSION UPGRADE, v3