pgsql-server: Use strdup in pg_ctl for canonicalize_path on environment
Log Message:
-----------
Use strdup in pg_ctl for canonicalize_path on environment variable.
Simplify postmaster call too.
Modified Files:
--------------
pgsql-server/src/backend/postmaster:
postmaster.c (r1.409 -> r1.410)
(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/backend/postmaster/postmaster.c.diff?r1=1.409&r2=1.410)
pgsql-server/src/bin/pg_ctl:
pg_ctl.c (r1.18 -> r1.19)
(http://developer.postgresql.org/cvsweb.cgi/pgsql-server/src/bin/pg_ctl/pg_ctl.c.diff?r1=1.18&r2=1.19)
momjian@svr1.postgresql.org (Bruce Momjian) writes:
Use strdup in pg_ctl for canonicalize_path on environment variable.
Simplify postmaster call too.
You're not doing very well with this project :-(. pg_ctl is now
actively broken, because the PGDATA value passed down to the
bootstrap backend is the one in the environment variable. The
previous coding canonicalized that, this does not.
I do not like the "simplified" postmaster.c coding either; it may
save one line but it is harder to understand.
regards, tom lane
Tom Lane wrote:
momjian@svr1.postgresql.org (Bruce Momjian) writes:
Use strdup in pg_ctl for canonicalize_path on environment variable.
Simplify postmaster call too.You're not doing very well with this project :-(. pg_ctl is now
actively broken, because the PGDATA value passed down to the
bootstrap backend is the one in the environment variable. The
previous coding canonicalized that, this does not.
I didn't think we could modify the environment variables like that
portably. Also, it is not even needed because we now do the proper
canonicalization in the postmaster.
I do not like the "simplified" postmaster.c coding either; it may
save one line but it is harder to understand.
OK, reverted that part.
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
Bruce Momjian <pgman@candle.pha.pa.us> writes:
Tom Lane wrote:
You're not doing very well with this project :-(. pg_ctl is now
actively broken, because the PGDATA value passed down to the
bootstrap backend is the one in the environment variable. The
previous coding canonicalized that, this does not.
I didn't think we could modify the environment variables like that
portably.
Possibly not, but if you think that then the correct response is to
re-assign the environment var using putenv().
regards, tom lane
Tom Lane wrote:
Bruce Momjian <pgman@candle.pha.pa.us> writes:
Tom Lane wrote:
You're not doing very well with this project :-(. pg_ctl is now
actively broken, because the PGDATA value passed down to the
bootstrap backend is the one in the environment variable. The
previous coding canonicalized that, this does not.I didn't think we could modify the environment variables like that
portably.Possibly not, but if you think that then the correct response is to
re-assign the environment var using putenv().
Yea, but we clean up the variable on input to the backend anyway.
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073