Thread: guc

guc

From
Liam Stewart
Date:
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

Re: guc

From
Bruce Momjian
Date:
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

Re: guc

From
Bruce Momjian
Date:
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