BUG #5734: autovacuum_enabled input should be validated, standardized.

Lists: pgsql-bugs
From: "Mark Stosberg" <mark(at)summersault(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #5734: autovacuum_enabled input should be validated, standardized.
Date: 2010-10-30 14:04:11
Message-ID: 201010301404.o9UE4BbT045931@wwwmaster.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs


The following bug has been logged online:

Bug reference: 5734
Logged by: Mark Stosberg
Email address: mark(at)summersault(dot)com
PostgreSQL version: 9.0.1
Operating system: FreeBSD
Description: autovacuum_enabled input should be validated,
standardized.
Details:

The "autovacuum_enabled" storage parameter claims to be a boolean type:
http://www.postgresql.org/docs/9.0/static/sql-createtable.html#SQL-CREATETAB
LE-STORAGE-PARAMETERS
... but it fails to behave a normal boolean.

Normally, you could set a boolean with a value of false, 'off' or 'f',
but you would always get back a value of 'f' With this value, there is
no translation.

I think this kind of boolean should be handled like a standard
PostgreSQL boolean.

I noticed because the Slony code base has a hardcoded check for
"autovacuum_enabled=off", when a false value could also be stored as
autovacuum_enabled=f

We should be able to rely on this value being always returned as
"autovacuum_enabled='f'" just a normal boolean would.

Mark


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Mark Stosberg" <mark(at)summersault(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #5734: autovacuum_enabled input should be validated, standardized.
Date: 2010-10-30 16:07:43
Message-ID: 26579.1288454863@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

"Mark Stosberg" <mark(at)summersault(dot)com> writes:
> The "autovacuum_enabled" storage parameter claims to be a boolean type:
> http://www.postgresql.org/docs/9.0/static/sql-createtable.html#SQL-CREATETAB
> LE-STORAGE-PARAMETERS
> ... but it fails to behave a normal boolean.

The parsing is the same as every other boolean parameter. What I think
you are complaining about is not that, but that we don't rewrite the
source string into some standard format. That seems rather impractical
though.

regards, tom lane