From: | Xing Guo <higuoxing(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Aleksander Alekseev <aleksander(at)timescale(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Junwang Zhao <zhjwpku(at)gmail(dot)com> |
Subject: | Re: Don't pass NULL pointer to strcmp(). |
Date: | 2023-11-02 02:09:27 |
Message-ID: | CACpMh+AW5dEE7LoCBkpYAKX+tg4NJE8PhkLP1_nJEjyjEJ8Scg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Thank you Tom!
Your comment
"NULL doesn't have semantics that are visibly different from an empty
string" is exactly what I want to confirm :-)
On 11/2/23, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> I wrote:
>> Hmm ... if we're doing it ourselves, I suppose we've got to consider
>> it supported :-(. But I'm still wondering how many seldom-used
>> code paths didn't get the message. An example here is that this
>> could lead to GetConfigOptionResetString returning NULL, which
>> I think is outside its admittedly-vague API spec.
>
> After digging around for a bit, I think part of the problem is a lack
> of a clearly defined spec for what should happen with NULL string GUCs.
> In the attached v3, I attempted to remedy that by adding a comment in
> guc_tables.h (which is maybe not the best place but I didn't see a
> better one). That led me to a couple more changes beyond what you had.
>
> It's possible that some of these are unreachable --- for example,
> given that a NULL could only be the default value, I'm not sure that
> the fix in write_one_nondefault_variable is a live bug. But we ought
> to code all this stuff defensively, and most of it already was
> NULL-safe.
>
> regards, tom lane
>
>
--
Best Regards,
Xing
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2023-11-02 02:32:06 | Re: Why is DEFAULT_FDW_TUPLE_COST so insanely low? |
Previous Message | Kyotaro Horiguchi | 2023-11-02 02:03:35 | Re: Requiring recovery.signal or standby.signal when recovering with a backup_label |