Re: Version numbers on libpq.dll

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Magnus Hagander <mha(at)sollentuna(dot)net>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL Win32 port list <pgsql-hackers-win32(at)postgresql(dot)org>, Dave Page <dpage(at)vale-housing(dot)co(dot)uk>
Subject: Re: Version numbers on libpq.dll
Date: 2004-12-13 18:58:19
Message-ID: 200412131858.iBDIwJL04580@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers-win32

Magnus Hagander wrote:
> >We allow installs of various versions of PostgreSQL on Unix
> >because each
> >install directory is self-contained. Are you saying the use
> >of SYSTEM32
> >to store the DLL has broken that for Win32?
>
> Yes, unless the version number is always increased and the file is
> backwards compatible API-wise. As long as that is true, we are safe.

OK, so how do they get multiple libpq.dll's in that directory? Is a
number added to the end of the file name or are both libraries bundled
in the same file?

> >Logically I have no problem with having the libpq.rc file
> >updated before
> >release but the way it works I am sure there is going to be major
> >breakage as people forget to do this. In fact it should be updated for
> >every new version of the installer or you might not get the new
> >libpq.dll, and that seems unmanagable.
>
> No. It only needs a new version number when it's *changed*. A new
> version of the installer does not change libpq.dll, it just packages it
> up.

> Now, if it's changed and it's not updated then yes, there will be
> breakage.

Right, but my point is that libpq almost always changes between versions
of the installer, even during beta. It might be an API change or just
new code in the functions but it changes quite frequently.

Also, the installer builds are not released to match the beta releases.
What if you do two installer builds during the same beta and libpq
changes? You need those changes to be installed.

The idea that someone is going to update that version string every time
there is a change to libpq isn't going to happen reliably if at all.
Maybe that value should be set by the installer to be the number of days
since 1970.

I think you are best forcing an install based on the version string in
libpq.rc as it is updated now and not allowing beta1 and beta4 to run on
the same machine. I think our dynamic load machanism enforces a similar
limitation with Unix unless people are very particular in how they set
up their shared library search paths or use rpath.

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

In response to

Browse pgsql-hackers-win32 by date

  From Date Subject
Next Message Magnus Hagander 2004-12-13 19:07:23 Re: Version numbers on libpq.dll
Previous Message Magnus Hagander 2004-12-13 18:42:29 Re: Version numbers on libpq.dll