Re: ALTER EXTENSION UPGRADE, v3

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Dimitri Fontaine <dimitri(at)2ndquadrant(dot)fr>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "David E(dot) Wheeler" <david(at)kineticode(dot)com>, Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: ALTER EXTENSION UPGRADE, v3
Date: 2011-02-10 21:21:08
Message-ID: AANLkTikPgp0ewcHULUaBqKaZYOqEqF-3xvVJ9stpb_si@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Feb 10, 2011 at 4:14 PM, Dimitri Fontaine
<dimitri(at)2ndquadrant(dot)fr> wrote:
> Robert Haas <robertmhaas(at)gmail(dot)com> writes:
>> No, you have to get *those other module authors* to make *their*
>> extensions not relocatable so that you can depend on them.
>
> Just tell me exactly in which world an extension's author is setting up
> the dependencies in the 'required' property and yet fails to realise
> that those dependencies mean his extension is not relocatable?  And
> will refuse to fix the problem when bugs are filled?

No, the problem is this. I write an extension called foo. By
default, it installs in schema foo.

You write an extension called bar. By default, it installs in schema
bar. It also depends on foo.

Now Alice wants to install foo and bar. But she already has a schema
called foo, so she installs the extension foo in foo2. Now she tries
to install bar, but it doesn't work, because it is looking for objects
in schema foo, and on this system they are in foo2.

There's no way for you, as the author of bar, to fix this problem,
other than to persuade me, as the author of foo, that I should make my
extension not relocatable. I might not want to do that.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2011-02-10 21:22:09 Re: ALTER EXTENSION UPGRADE, v3
Previous Message Dimitri Fontaine 2011-02-10 21:19:10 Re: ALTER EXTENSION UPGRADE, v3