]> granicus.if.org Git - postgresql/commit
Replace SYSTEMQUOTEs with Windows-specific wrapper functions.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 5 May 2014 13:07:40 +0000 (16:07 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 5 May 2014 13:07:40 +0000 (16:07 +0300)
commita692ee5870f0f442565b4c4bff367094599e9bdf
treef682a4b38ca62109bc9be80642708637ab17ed15
parentd69ffd6f035fe24483247bf9b2335d7474eaf31a
Replace SYSTEMQUOTEs with Windows-specific wrapper functions.

It's easy to forget using SYSTEMQUOTEs when constructing command strings
for system() or popen(). Even if we fix all the places missing it now, it is
bound to be forgotten again in the future. Introduce wrapper functions that
do the the extra quoting for you, and get rid of SYSTEMQUOTEs in all the
callers.

We previosly used SYSTEMQUOTEs in all the hard-coded command strings, and
this doesn't change the behavior of those. But user-supplied commands, like
archive_command, restore_command, COPY TO/FROM PROGRAM calls, as well as
pgbench's \shell, will now gain an extra pair of quotes. That is desirable,
but if you have existing scripts or config files that include an extra
pair of quotes, those might need to be adjusted.

Reviewed by Amit Kapila and Tom Lane
18 files changed:
configure.in
contrib/pg_upgrade/check.c
contrib/pg_upgrade/controldata.c
contrib/pg_upgrade/exec.c
src/bin/initdb/initdb.c
src/bin/pg_ctl/pg_ctl.c
src/bin/pg_dump/pg_dumpall.c
src/bin/psql/command.c
src/include/port.h
src/interfaces/ecpg/test/pg_regress_ecpg.c
src/interfaces/libpq/Makefile
src/interfaces/libpq/bcc32.mak
src/interfaces/libpq/win32.mak
src/port/system.c [new file with mode: 0644]
src/test/isolation/isolation_main.c
src/test/regress/pg_regress.c
src/test/regress/pg_regress_main.c
src/tools/msvc/Mkvcbuild.pm