Tom Lane wrote:
> "Michael Paesold" <mpaesold@gmx.at> writes:
> > Or do I not understand what you mean by nested
> > comments? (There is code for ignore /* .. */ before the first keyword.)
>
> Per SQL spec, the backend thinks that /* .. */ nests:
>
> regression=# /* some /* comment */ comment */ select 1;
> ?column?
> ----------
> 1
> (1 row)
>
> As it stands, is_transact_command will get confused by this.
Ok, my patch does not solve that, but I will have a look at it. Tomorrow it
will be then, since it's already late here in Europe.
> > Any suggestion how to that? I can think of a way myself, but it may not
be
> > the best, as I don't consider C my natural language. I can try, or does
> > anyone else feel inclined to fix this?
>
> I'd split out the code that locates "the next keyword" into a separate
> function that could be called twice.
I have read this mail after making the attached patch, so I have used a
little different approach. I have moved the code to skip over whitespace and
comments into it's own function.
The code is not perfect, but it works. By not perfect I mean, it also
returns true, if you say "REINDEX TABLESPACE", but this does not exist
anyways.
Please have a look.
Regards,
Michael Paesold