Re: Improve documentation for current_setting function
Hello Bruce, > How do you like the attached patch, which clarifies this? >>in which case a missing parameter returns >>! NULL. not always. It can be NULL or empty string. It depends if the current session is new or after finished transaction which makes 'local' changes to setting Take into account these steps: https://www.postgresql.org/message-id/15646-0d3caee9f6266f60%40postgresql.org From my user point of view. if the boot value before transaction was NULL then after transaction it MUST stay NULL and not empty string. This will be consistent with that if I open new parallel session it will return NULL. Also I see NULL value (if setting was not defined) is useful. Also this: set_config( 'my.name', NULL ) must set 'my.name' to NULL or must issue warning about NULL is turned into empty string. Personally I dislike that NULL is converted to empty string. This looks ugly. =( -- Best regards, Eugen Konkov
Re: Improve documentation for current_setting function
On Wed, Feb 20, 2019 at 12:59:45PM +, PG Doc comments form wrote: > The following documentation comment has been logged on the website: > > Page: https://www.postgresql.org/docs/11/functions-admin.html > Description: > > Hi. > > Doc is not clear about what is returned if current_setting( > 'app.not_existent', true ) is called. > > Does it return empty string '', because return type is 'text' or it return > NULL, because 'app.not_existent' does not exist Testing shows: SELECT current_setting('asdf', true); current_setting - \pset null (null) SELECT current_setting('asdf', true); current_setting - --> (null) How do you like the attached patch, which clarifies this? -- Bruce Momjian http://momjian.us EnterpriseDB http://enterprisedb.com + As you are, so once was I. As I am, so you will be. + + Ancient Roman grave inscription + diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml new file mode 100644 index 86ff4e5..f638c6d *** a/doc/src/sgml/func.sgml --- b/doc/src/sgml/func.sgml *** SELECT current_setting('datestyle'); *** 18722,18728 If there is no setting named setting_name, current_setting throws an error unless missing_ok is supplied and is ! true. --- 18722,18729 If there is no setting named setting_name, current_setting throws an error unless missing_ok is supplied and is ! true, in which case a missing parameter returns ! NULL.
Improve documentation for current_setting function
The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/11/functions-admin.html Description: Hi. Doc is not clear about what is returned if current_setting( 'app.not_existent', true ) is called. Does it return empty string '', because return type is 'text' or it return NULL, because 'app.not_existent' does not exist Thank you.