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