On Tue, Jul 20, 2010 at 10:00 AM, David Christensen <da...@endpoint.com> 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 (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers