Tom Lane wrote:
"Magnus Hagander" <[EMAIL PROTECTED]> writes:
Oh. Hmm ... wouldn't it be easier and safer to launch "psql <script"
as a subprocess?
I'd say no. Executing processes from the installer environment can be a
headache (we've had enough problems with initdb already..). And you have
to go through all the weirdness with the commandline quoting etc on
win32... It's a lot easier to execute a SQL script line-by-line. Which
also lets us trap the errors easier etc.
I was about to mention trapping errors as being a likely weak spot of custom-script-execution code. And have you duplicated psql's rather extensive logic for determining where SQL commands end? I'll get a bit annoyed if you come back later and tell us not to use dollar quoting in contrib scripts, or something like that.
However, the COPY->INSERT change alone is below my threshold of pain, so I won't complain too hard. I just wanted to be sure you'd really thought about the implications of rolling your own script executor.
Not to mention someone putting a \ command in the install script. I understand the difficulties, but ISTM that getting "psql -f scriptfile" working could be a Good Thing (tm). OTOH, should the installer be running the contrib install scripts, or should this be left as a job for the administrator? Maybe we're trying to do too much.
---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]