Re: CASE control block broken by a single line comment - Mailing list pgsql-hackers

From Erik Wienhold
Subject Re: CASE control block broken by a single line comment
Date
Msg-id 32m73i437tpy3nvxp6i6mai2xjfd2jym22kfp6nyf7eh5nejmp@rpons2jwdkz6
Whole thread Raw
In response to Re: CASE control block broken by a single line comment  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: CASE control block broken by a single line comment
List pgsql-hackers
On 2024-04-09 00:54 +0200, Tom Lane wrote:
> I poked at this and found that the failures occur when the patched
> code decides to trim an expression like "_r.v" to just "_r", naturally
> breaking the semantics completely.  That happens because when
> plpgsql_yylex recognizes a compound token, it doesn't bother to
> adjust the token length to include the additional word(s).

Thanks Tom!  I haven't had the time to look at your patch.

I'm surprised that the lexer handles compound tokens.  I'd expect to
find that in the parser, especially because of using the context-aware
plpgsql_ns_lookup to determine if we have a T_DATUM or T_{WORD,CWORD}.

Is this done by the lexer to allow push-back of those compound tokens
and maybe even to also simplify some parser rules?

-- 
Erik



pgsql-hackers by date:

Previous
From: Dmitry Koval
Date:
Subject: Re: Add SPLIT PARTITION/MERGE PARTITIONS commands
Next
From: Bruce Momjian
Date:
Subject: Re: Typos in the code and README