On Monday 09 December 2002 17:03, Tom Lane wrote:
> Ian Barwick <barwick@gmx.net> writes:
> > To avoid voodoo with PostgreSQL version numbers
> > a check is made whether pg_relcheck exists and
> > the appropriate query (either 7.3 or pre 7.3)
> > executed.
>
> I would think that looking at version number (select version())
> would be a much cleaner approach. Or do you think that direct
> examination of pg_class is a version-independent operation?
No, but I was hoping it will remain stable for long enough
for what is basically a temporary work around until a revised version of
DBD::Pg can be produced. It doesn't make any more assumptions
about pg_class than are made elsewhere in the current Pg.pm.
> This inquiry into pg_relcheck's existence is already arguably wrong
> in 7.3 (since it's not taking account of which schema pg_relcheck
> might be found in) and it can only go downhill in future versions.
Doh. Knew I had to be missing something obvious. (Of course,
anyone using current DBD::Pg with 7.3 as is will have to take
extra care with system tables and schema namespaces anyway.)
So out with the candle wax and pins ;-). Am I right
in thinking that the string returned by SELECT version()
starts with the word "PostgreSQL" followed by: a space; a single digit indicating the major version number; a full
stop/ decimal point; a single digit indicating the minor version number;
and either "interim release" number (e.g. ".1" in the case of 7.3.1), or
"devel", "rc1" etc. ?
And that this has been true since 6.x and will continue for the forseeable
future (i.e. far far longer than the intended lifespan of attached patch)?
Ian Barwick
barwick@gmx.net
Attached: revised patch