| From: | Alvaro Herrera <alvherre(at)kurilemu(dot)de> | 
|---|---|
| To: | Richard Guo <guofenglinux(at)gmail(dot)com> | 
| Cc: | Евгений Горбанев <gorbanyoves(at)basealt(dot)ru>, pgsql-hackers(at)lists(dot)postgresql(dot)org | 
| Subject: | Re: Assert failure in base_yyparse | 
| Date: | 2025-05-09 09:44:24 | 
| Message-ID: | 202505090944.r3xezoufcxcg@alvherre.pgsql | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
On 2025-Apr-14, Richard Guo wrote:
> It seems what happens is that internally in gram.y (~line 14274), the
> DefElem for the not-null option is assigned the name "is_not_null".
> As a result, this allows users to explicitly use "is_not_null" as the
> option name.  However, the value provided for the is_not_null option
> in this way might not be a Boolean as expected, which triggers the
> assertion.
> 
> I kind of doubt we should allow the use of the "is_not_null" keyword
> in the xmltable function.
> 
> Hi Álvaro, what do you think about this?
Hello Richard, sorry that I failed to notice this earlier.
I agree that blocking the index from using the option name that xmltable
parsing uses internally is okay.  Maybe we can rename it to something
like "__pg__is_not_null" or something like that, which would reduce the
chances of troubling people; the existing name sounds too much like a
valid name that users could want to use.
Also, maybe rather than just "syntax error" we could say something like
"option name XYZ cannot be used in XMLTABLE".
I wonder if we have any other names used by the parser that can cause
this kind of problem.  In a quick look through gram.y I didn't find any
other place that would fabricate a name and also accept arbitrary
user-specified names to use, so this seems to be the only place affected
by this particular bug.
-- 
Álvaro Herrera        Breisgau, Deutschland  —  https://www.EnterpriseDB.com/
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Aya Iwata (Fujitsu) | 2025-05-09 10:08:26 | RE: [WIP]Vertical Clustered Index (columnar store extension) - take2 | 
| Previous Message | Sutou Kouhei | 2025-05-09 09:41:37 | Re: Make COPY format extendable: Extract COPY TO format implementations |