Thread: guc
I was playing around with adding a couple new SET commands (REAL_FORMAT and DOUBLE_PRECISION_FORMAT as per todo list item) and I ended up playing with GUC a bit. I've cleaned it up a bit - most of the changes should be fairly self-explanitory from the patch. Some of the configuration options handled in variable.c (so far, server_encoding and seed) have been moved into guc.c and are handled by GUC. Moving them in required adding a couple of fields to config_generic and friends - a read_only field and a display_proc field (hook for custom SHOW messages). I've removed GetConfigOption() and replaced it with ShowConfigOption() which does an elog(NOTICE) instead of returning a string. When setting REAL_FORMAT and DOUBLE_PRECISION_FORMAT, the printf-style format string should be checked for certain things: - field width of "*" is not allowed - precision of ".*" is not allowed - all conversion specifiers except "s" and "n" are allowed - only one conversion specification other than %% and variations is allowed Does this seem reasonable to people? I haven't written a function to check those yet.. will do soon. This patch isn't complete yet so don't append it to the pending patches list, Bruce. Liam -- Liam Stewart :: Red Hat Canada, Ltd. :: liams@redhat.com
Attachment
Thread has been saved for the 7.3 release: http://candle.pha.pa.us/cgi-bin/pgpatches2 --------------------------------------------------------------------------- Liam Stewart wrote: > > I was playing around with adding a couple new SET commands (REAL_FORMAT > and DOUBLE_PRECISION_FORMAT as per todo list item) and I ended up > playing with GUC a bit. > > I've cleaned it up a bit - most of the changes should be fairly > self-explanitory from the patch. Some of the configuration options > handled in variable.c (so far, server_encoding and seed) have been moved > into guc.c and are handled by GUC. Moving them in required adding a > couple of fields to config_generic and friends - a read_only field and a > display_proc field (hook for custom SHOW messages). I've removed > GetConfigOption() and replaced it with ShowConfigOption() which does an > elog(NOTICE) instead of returning a string. > > When setting REAL_FORMAT and DOUBLE_PRECISION_FORMAT, the printf-style > format string should be checked for certain things: > > - field width of "*" is not allowed > - precision of ".*" is not allowed > - all conversion specifiers except "s" and "n" are allowed > - only one conversion specification other than %% and variations is > allowed > > Does this seem reasonable to people? I haven't written a function to > check those yet.. will do soon. > > This patch isn't complete yet so don't append it to the pending patches > list, Bruce. > > Liam > > -- > Liam Stewart :: Red Hat Canada, Ltd. :: liams@redhat.com [ Attachment, skipping... ] > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026
This patch was rejected. Please continue discussion on the hackers list. --------------------------------------------------------------------------- Liam Stewart wrote: > > I was playing around with adding a couple new SET commands (REAL_FORMAT > and DOUBLE_PRECISION_FORMAT as per todo list item) and I ended up > playing with GUC a bit. > > I've cleaned it up a bit - most of the changes should be fairly > self-explanitory from the patch. Some of the configuration options > handled in variable.c (so far, server_encoding and seed) have been moved > into guc.c and are handled by GUC. Moving them in required adding a > couple of fields to config_generic and friends - a read_only field and a > display_proc field (hook for custom SHOW messages). I've removed > GetConfigOption() and replaced it with ShowConfigOption() which does an > elog(NOTICE) instead of returning a string. > > When setting REAL_FORMAT and DOUBLE_PRECISION_FORMAT, the printf-style > format string should be checked for certain things: > > - field width of "*" is not allowed > - precision of ".*" is not allowed > - all conversion specifiers except "s" and "n" are allowed > - only one conversion specification other than %% and variations is > allowed > > Does this seem reasonable to people? I haven't written a function to > check those yet.. will do soon. > > This patch isn't complete yet so don't append it to the pending patches > list, Bruce. > > Liam > > -- > Liam Stewart :: Red Hat Canada, Ltd. :: liams@redhat.com [ Attachment, skipping... ] > > ---------------------------(end of broadcast)--------------------------- > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026