Re: why two dashes in extension load files

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "David E(dot) Wheeler" <david(at)kineticode(dot)com>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: why two dashes in extension load files
Date: 2011-02-15 04:18:52
Message-ID: 27849.1297743532@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

"David E. Wheeler" <david(at)kineticode(dot)com> writes:
> On Feb 14, 2011, at 5:03 PM, Tom Lane wrote:
>>> Are we deparsing the names of the SQL files to infer the set of
>>> version numbers we have to worry about? It seems to me that if
>>> there's a list of known version numbers somewhere, we can use dash as
>>> the separator without any special restricton.

>> The list of known version numbers is inferred from the available files,
>> not vice versa. IMO that's a feature not a bug. A manually maintained
>> list would just be one more thing to forget to update.

> Yes, but the truth is that the extension name, at least, is known from the control file.

Yeah, I think it's true in the current code base that we always know the
extension name we are interested in. However, that's no protection if
we allow extensions to contain the separator substring. Consider
foo--bar--baz.sql
Is this an update script for foo (from version bar to version baz),
or is it an install script for some other extension named foo--bar?

Also, I think it'd be better if we didn't assume that we will always
know the extension name when trying to make sense of a script name.
That's the sort of assumption that will bite you on the rear eventually.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David E. Wheeler 2011-02-15 04:25:23 Re: why two dashes in extension load files
Previous Message David E. Wheeler 2011-02-15 04:03:07 Re: tsearch Parser Hacking