"scott.marlowe" <scott.marlowe@ihs.com> writes:
> Ok, now that I've run it that way, the last couple of pages of output
> look like this:
Hm. So the "while read line" loop is iterating only once.
I was thinking to myself that something within the while loop must be
eating up stdin, so that there's nothing left for the "while read" to
read when control returns to the top of the loop. This strengthens that
theory. Now, exactly what is reading stdin?
My suspicion falls on the very-recently-added awk calls. Try changing
(echo "SET autocommit TO 'on';"; awk 'BEGIN {printf "\\set ECHO all\n"}'; cat "$inputdir/sql/$1.sql") |
to
(echo "SET autocommit TO 'on';"; awk 'BEGIN {printf "\\set ECHO all\n"}' </dev/null; cat "$inputdir/sql/$1.sql")
|
(there are two places to do this)
regards, tom lane