Re: [PATCH] add CLUSTER table USING index (take 2)
От | Holger Schurig |
---|---|
Тема | Re: [PATCH] add CLUSTER table USING index (take 2) |
Дата | |
Msg-id | 200703292127.19379.holgerschurig@gmx.de обсуждение исходный текст |
Ответ на | Re: [PATCH] add CLUSTER table USING index (take 2) (Heikki Linnakangas <heikki@enterprisedb.com>) |
Ответы |
Re: [PATCH] add CLUSTER table USING index (take 2)
|
Список | pgsql-patches |
> We still need to document the old syntax, especially if we don't change > the example as well. I agree that the example should be re-written. But I'm not sure if I need to have a paragraph about the old syntax. There are two reasons: - I haven't seen any other SQL command where an old syntax was documented - I thought I could come away without writing doc. After all, I'm not a native english speaker. That's a point where I could need some help ... (maybe my english is good enought, but it's not worth to make a "take 4" to "take 17" patch just for english grammar, typos, subtle meanings, whatever. > > Index: src/src/backend/parser/gram.y > > =================================================================== > > *** src.orig/src/backend/parser/gram.y 2007-03-28 22:58:48.000000000 +0200 > > --- src/src/backend/parser/gram.y 2007-03-28 22:59:15.000000000 +0200 > > *************** > > *** 209,215 **** > > > > %type <str> relation_name copy_file_name > > database_name access_method_clause access_method attr_name > > ! index_name name file_name > > > > %type <list> func_name handler_name qual_Op qual_all_Op subquery_Op > > opt_class opt_validator > > --- 209,215 ---- > > > > %type <str> relation_name copy_file_name > > database_name access_method_clause access_method attr_name > > ! index_name name file_name opt_cluster_using > > > > %type <list> func_name handler_name qual_Op qual_all_Op subquery_Op > > opt_class opt_validator > > Is the placement of opt_cluster_using completely arbitrary? I'm not very > familiar with the parser, it really looks like those type-definitions > are in random order. I thought so. As you can see in the above patch, there are things like opt_validator in the next "%type <list>" section. There are many other "%type <str>" section in gram.y, but I haven't found a structure yet. For example, some tokens are named "OptSchemaName", some are named "opt_encoding". Let's look at this one. It's used in line 1090, defined in 1218. Before and after the usage there is "transaction_mode_list" and "Colid_or_Sconst". Before and after the definition is "zone_value" and again "ColId_or_Sconst". But neither of this three is defined at the same "%type <str>" as "opt_encoding" is.
В списке pgsql-patches по дате отправления: