On Tue, Jul 20, 2010 at 10:00 AM, David Christensen <[email protected]> wrote:
> Sorry for the delays in response. This is fine; I think there are some
> semantic questions that should still be resolved at this point, particularly
> if we're moving toward supporting multiple -c and -f lines as expressed (an
> idea that I agree would be useful). Specifically:
>
> 1) Does the -1 flag with multiple files indicate a single transaction for all
> commands/files or that each command/file is run in its own transaction? I'd
> implemented this with the intent that all files were run in a single
> transaction, but it's at least a bit ambiguous, and should probably be
> documented at the very least.
I think your implementation is right. Documentation is always good.
> 2) I had a question (expressed in the comments) about how the final error
> handling status should be reported/handled. I can see this affecting a
> number of things, particularly ON_ERROR_{STOP,ROLLBACK} behavior;
> specifically, if there was an error, it sounds like it should just abort
> processing of any other queued files/commands at this point (in the case of
> ON_ERROR_STOP, at least).
Right. I think it should behave much as if you concatenated the files
and then ran psql on the result. Except with better reporting of
error locations, etc.
> 3) With the switch to multiple intermixed -c and -f flags, the internal
> representation will essentially have to change to a queue of structs; I think
> in that case, we'd want to modify the current .psqlrc handling to push a
> struct representing the .psqlrc file at the front of the queue, depending on
> the code paths that currently set this up. Are there any gotchas to this
> approach? (I'm looking essentially for odd code paths where say .psqlrc was
> not loaded before, but now would be given the proper input of -c, -f file, -f
> -.)
>
> I'll look more in-depth at the posted feedback and Mark's proposed patch.
Well, IIRC, one of -c and -f suppresses psqlrc, and the other does
not. This doesn't seem very consistent to me, but I'm not sure
there's much to be done about it at this point. I guess if you use
whichever one suppresses psqlrc even once, it's suppressed, and
otherwise it's not. :-(
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise Postgres Company
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers