Re: note about syntax for fillfactor patch - Mailing list pgsql-hackers

From ITAGAKI Takahiro
Subject Re: note about syntax for fillfactor patch
Date
Msg-id 20060703092340.5661.ITAGAKI.TAKAHIRO@oss.ntt.co.jp
Whole thread Raw
In response to note about syntax for fillfactor patch  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: note about syntax for fillfactor patch  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Tom Lane <tgl@sss.pgh.pa.us> wrote:

> I propose that we change the syntax to be
> 
>     WITH OIDS
>     | WITHOUT OIDS
>     | WITH (definition)
>     | /*EMPTY*/
> 
> and say that if you want to specify both OIDS and another option you
> have to write "oids" or "oids=false" in the definition list.

Yeah, it sounds good. However, the syntax "oids=false" is not available
for a limitation of the current parser; it can recognize only numerics or
strings as a value. So oids=0/1 or oids='false'/'true' are ok, but
false/true literals are syntax error.


# CREATE TABLE test1 (i int) WITH (oids=0);
CREATE TABLE
# CREATE TABLE test2 (i int) WITH (oids=false);
ERROR:  syntax error at or near "false"
LINE 1: CREATE TABLE test2 (i int) WITH (oids=false);                                             ^
# CREATE TABLE test3 (i int) with (oids='false');
ERROR:  oids requires a boolean value (*) We can resolve this by adding a T_String handler to defGetBoolean().


Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center




pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: odd 7.4 build failure on new sparc machine
Next
From: Tom Lane
Date:
Subject: Re: note about syntax for fillfactor patch