> GetModuleFileName() doesn't solve our problem here. We already know
> what we think is the right path, but we have to be sure that we are
> calling a matching version binary. For example, initdb wants
> to call a postgres that is the right version, as does pg_ctl.
But do we really care about people who put 7.5 initdb.exe in the same
directory as, say, 7.6 postgres.exe?
> We have had mismatches reported in the past, and with relocatable installs
it is
> even more likely.
Exactly my point. The mismatches occur because we *think* we know the right
path under *nix, and so we grab the version string to make certain. Under
win32, there would be no such ambiguity, except if people mix versions in
the same directory; which certainly doesn't appear worth the cost to protect
against.
> The version check is centralized in one place, exec.c, and I don't want
> to have different behaviors on Win32 and Unix if we can help it. Let's
> go with the system() into a temp file.
Ok; please allow me to continue to respectfully disagree that this is
justified :-)
Cheers,
Claudio
---
Certain disclaimers and policies apply to all email sent from Memetrics.
For the full text of these disclaimers and policies see
<a
href="http://www.memetrics.com/emailpolicy.html">http://www.memetrics.com/em
ailpolicy.html</a>