2015-12-17 20:14 GMT+01:00 Pavel Stehule <pavel.steh...@gmail.com>: > > > 2015-12-17 20:03 GMT+01:00 Tom Lane <t...@sss.pgh.pa.us>: > >> Pavel Stehule <pavel.steh...@gmail.com> writes: >> > when I read a blog >> > >> http://www.depesz.com/2015/12/14/waiting-for-9-6-psql-support-multiple-c-and-f-options-and-allow-mixing-them/ >> > where is emulated dry-run mode, I though so we can implement it very >> > simply. >> >> Not one that is actually reliable. All a script would have to do is >> include its own begin/commit commands, and it would override what you >> are talking about. It's okay, in my opinion, if the -1 switch is just a >> half-baked "best effort" solution. It's not okay to provide a --dry-run >> switch that is equally full of holes, because if someone were to actually >> rely on it to not execute the script, the possibility of an override would >> amount to a security bug. >> > > My idea was enforce global transaction (-1) option and ensure > STOP_ON_ERROR mode (cannot be changed later). Any inner COMMIT or ROLLBACK > have to be disallowed (or ignored) - what can be problem :( > > and if all statements from input stream was processed, then ROLLBACK is > emitted, but result is success. > > Pavel >
or different idea - just enforce syntax check without execution. > > >> >> regards, tom lane >> > >