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.

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to