Tom Lane wrote: > Bruce Momjian <[EMAIL PROTECTED]> writes: > > Let me jump in --- there is the issue of how to prevent the backend from > > running the query through the lexer/parser. The cleanest idea presented > > was: > > [snip] > > That's the same idea that was being discussed in this thread. I was > trying to remind people of the existence of prior discussion with > different (and IMHO better) ideas. > > > The interesting thing I missed at first viewing was that there is a > > semicolon after the first line. This allows the backend to go into a > > COPY-like mode where the client can pass lines to the backend bypassing > > the lexer/parser. > > What I don't like about this scheme is that it requires mods on both the > backend and client sides, to solve a problem that could be solved as > well or better (and definitely more simply) on the client side alone. > People are being misled by considering only psql, which is so stupid > that it might actually not need any change to be used with a COPY-based > function definition mode. I doubt that is true of any other client. > For a client that actually understands it's doing a function definition, > this is *not* simpler nor better. Instead of running a > string-literal-quotify transformation on the function text (which you > must admit is trivial), the client has to support switching into the > COPY protocol. That's not simpler. Add in any meaningful error > recovery (what do you do if the backend doesn't switch into COPY mode?) > and it's substantially more complex.
I was assuming when someone executes a COPY FROM STDIN in psql, that the backend returns something saying, "I am in COPY FROM STDIN mode, pass all text to me until I say stop". If that's how it works, wouldn't psql work with no changes. I am concerned about psql having to identify when you are creating a function using the STDIN format. How would it know? -- Bruce Momjian | http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]