Re: [HACKERS] note about syntax for fillfactor patch
ITAGAKI Takahiro <[EMAIL PROTECTED]> writes: > # 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); > ^ Yeah, I noticed that. I think it's easily fixable though --- the production for def_arg just needs a bit of extension. regards, tom lane ---(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
Re: [HACKERS] note about syntax for fillfactor patch
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
Re: [HACKERS] note about syntax for fillfactor patch
On Sun, 2006-07-02 at 12:06 -0400, Tom Lane 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. Agreed. Much cleaner. -- Simon Riggs EnterpriseDB http://www.enterprisedb.com ---(end of broadcast)--- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq
Re: [HACKERS] note about syntax for fillfactor patch
Tom Lane wrote: > The latter seems seriously grotty: it forces the user to remember an Agreed. > 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. > > This gets rid of the hazard that someone might try to specify > conflicting oids options in the hardwired part of the syntax and > in the definition list, and lets the hardwired syntax be deprecated > and perhaps someday removed. > > Any objections? Sounds good. -- Bruce Momjian [EMAIL PROTECTED] EnterpriseDBhttp://www.enterprisedb.com + If your life is a hard drive, Christ can be your backup. + ---(end of broadcast)--- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq