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 <br...@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 +