Tom Lane <[EMAIL PROTECTED]> 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



---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to [EMAIL PROTECTED] so that your
       message can get through to the mailing list cleanly

Reply via email to