Re: defer statement logging until after parse - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: defer statement logging until after parse
Date
Msg-id 200403122023.i2CKNXV28714@candle.pha.pa.us
Whole thread Raw
In response to Re: defer statement logging until after parse  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-patches
Tom Lane wrote:
> Andrew Dunstan <andrew@dunslane.net> writes:
> > Tom Lane wrote:
> >> Has any of this discussion taken into account the fact that a
> >> querystring may contain multiple commands?
>
> > What does the parser do if one of the statements has an error and the
> > others are OK?
>
> The whole thing is rejected.  This is just an instance of the general
> rule that processing of the entire querystring is abandoned at the first
> error.
>
> The current definition of log_statement has no problem because we print
> the whole string, once, before parsing starts.  If you put a printout
> into the per-parse-tree loop then I think you are going to get multiple
> printouts of the same string.  You could add some state to prevent more
> than one printout per querystring, but even then you'll get complaints
> "I asked for DDL only, why did it print this SELECT?".  ISTM the only
> way to make it "work" without obvious implementation artifacts is to
> actually break down the string into individual commands, which is more
> work than I think this feature is worth.

I think it is acceptable to print the entire query string once if one
part of it has a DDL or mod statement.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-patches by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: defer statement logging until after parse
Next
From: Andrew Dunstan
Date:
Subject: Re: defer statement logging until after parse