| From: | Julien Rouhaud <rjuju123(at)gmail(dot)com> | 
|---|---|
| To: | Dmitry Dolgov <9erthalion6(at)gmail(dot)com> | 
| Cc: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, Sergey Shinderuk <s(dot)shinderuk(at)postgrespro(dot)ru>, Tomas Vondra <tomas(dot)vondra(at)enterprisedb(dot)com>, dean(dot)a(dot)rasheed(at)gmail(dot)com, er(at)xs4all(dot)nl, joel(at)compiler(dot)org, pgsql-hackers(at)lists(dot)postgresql(dot)org | 
| Subject: | Re: Schema variables - new implementation for Postgres 15 | 
| Date: | 2023-08-12 01:28:19 | 
| Message-ID: | 20230812012819.k5gu4r4kzdiq6r3f@jrouhaud | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
On Fri, Aug 11, 2023 at 05:55:26PM +0200, Dmitry Dolgov wrote:
>
> Another confusing example was this one at the end of set_session_variable:
>
>     +	/*
>     +	 * XXX While unlikely, an error here is possible. It wouldn't leak memory
>     +	 * as the allocated chunk has already been correctly assigned to the
>     +	 * session variable, but would contradict this function contract, which is
>     +	 * that this function should either succeed or leave the current value
>     +	 * untouched.
>     +	 */
>     +	elog(DEBUG1, "session variable \"%s.%s\" (oid:%u) has new value",
>     +		 get_namespace_name(get_session_variable_namespace(svar->varid)),
>     +		 get_session_variable_name(svar->varid),
>     +		 svar->varid);
>
> It's not clear, which exactly error you're talking about, it's the last
> instruction in the function.
FTR I think I'm the one that changed that.  The error I was talking about is
elog() itself (in case of OOM for instance), or even one of the get_* call, if
running with log_level <= DEBUG1.  It's clearly really unlikely but still
possible, thus this comment which also tries to explain why this elog() is not
done earlier.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Jeff Davis | 2023-08-12 02:35:22 | CREATE FUNCTION ... SEARCH { DEFAULT | SYSTEM | SESSION } | 
| Previous Message | Andres Freund | 2023-08-12 00:46:42 | Re: run pgindent on a regular basis / scripted manner |