Обсуждение: GUC parameters accepts values in both octal and hexadecimal formats
Hi Hackers,
The Server GUC parameters accepts values in both Octal and hexadecimal formats also.
postgres=# set max_parallel_workers_per_gather='0x10';
postgres=# show max_parallel_workers_per_gather;
max_parallel_workers_per_gather
---------------------------------
16
postgres=# set max_parallel_workers_per_gather='010';
postgres=# show max_parallel_workers_per_gather;
max_parallel_workers_per_gather
---------------------------------
8
I can check that this behavior exists for quite some time, but I am not able to find any documentation related to it? Can some one point me to relevant section where it is available? If not exists, is it fine to add it?
Regards,
Haribabu Kommi
Fujitsu Australia
On Tue, Jan 8, 2019 at 05:08:41PM +1100, Haribabu Kommi wrote: > Hi Hackers, > > The Server GUC parameters accepts values in both Octal and hexadecimal formats > also. > > postgres=# set max_parallel_workers_per_gather='0x10'; > postgres=# show max_parallel_workers_per_gather; > max_parallel_workers_per_gather > --------------------------------- > 16 > > postgres=# set max_parallel_workers_per_gather='010'; > postgres=# show max_parallel_workers_per_gather; > max_parallel_workers_per_gather > --------------------------------- > 8 > > I can check that this behavior exists for quite some time, but I am not able to > find any documentation related to it? Can some one point me to relevant section > where it is available? If not exists, is it fine to add it? Well, we call strtol() in guc.c, and the strtol() manual page says: The string may begin with an arbitrary amount of white space (as determined by isspace(3)) followed by a single optional '+' or '-' sign. If base is zero or 16, the string may then include a "0x" prefix, and the number will be read in base 16; otherwise, a zero base is taken as 10 (decimal) unless the next character is '0', in which case it is taken as 8 (octal). so it looks like the behavior is just a side-effect of our strtol call. I am not sure it is worth documenting though. -- Bruce Momjian <bruce@momjian.us> 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 +