Corey Huinker <corey.huinker@gmail.com> writes: > Patch attached. Changes are thus: > - rebased > - pset.gexec_flag unconditionally set to false at end of SendQuery > - wording of documentation describing execution order of results > - rebasing allowed for undoing the re-wrap of enumerated slash commands.
I whacked this around some and committed it. The main thing that was
Hooray!
broken is that it didn't work nicely at all if you'd set FETCH_COUNT.
Mmm, yeah, I hadn't considered cursor fetches, but in the use cases (at least the ones I can imagine for this) you wouldn't want fetches.
I experimented with different approaches to that, and ultimately decided that the best answer is to disable use of ExecQueryUsingCursor for the \gexec master query. We can still let it be used for the individual generated queries, though.
Fine by me.
I didn't much like the regression test setup, either. Tests that have to be at the end of their test files aren't very nice, unless you give them their very own test file, which checking ON_ERROR_STOP didn't seem worth. To me it's far more important that the code respond to cancel_pressed (which, ahem, it wasn't) and we have no mechanism for testing that in a pg_regress script. So I just dropped that aspect of it and put the test in a more logical place in the file.
I think it was Jim that added the ON_ERROR_STOP check. I wasn't sure how to properly test that.
Thanks for finding (and fixing) the cancel_pressed issue.