Re: ALTER TABLE...SET WITHOUT CLUSTER - Mailing list pgsql-patches

From Christopher Kings-Lynne
Subject Re: ALTER TABLE...SET WITHOUT CLUSTER
Date
Msg-id 40595B98.9010401@familyhealth.com.au
Whole thread Raw
In response to ALTER TABLE...SET WITHOUT CLUSTER  (Christopher Kings-Lynne <chriskl@familyhealth.com.au>)
Responses Re: ALTER TABLE...SET WITHOUT CLUSTER  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-patches
> This patch imlements the TODO that calls for the ability to turn off all
> clustering on a table.
>
> Syntax is ALTER TABLE ... SET WITHOUT CLUSTER;
>
> Doc patch plus regression test is included.

OK, I have a problem here.  This is the new grammar that I added:

/* ALTER TABLE <name> SET WITHOUT CLUSTER */
| ALTER TABLE relation_expr SET WITHOUT CLUSTER
         {
                 AlterTableStmt *n = makeNode(AlterTableStmt);
                 n->subtype = 'L';
                 n->relation = $3;
                 n->name = NULL;
                 $$ = (Node *)n;
         }

Now, I have to change that relation_expr to qualified_name.  However,
this causes shift/reduce errors. (Due to ALTER TABLE relation_expr SET
WITHOUT OIDS.)

Even changing the syntax to "qualified_name DROP CLUSTER" doesn't work
due to the existence of "relation_expr DROP ...".

What's the solution?  I can't figure it out...

Chris


pgsql-patches by date:

Previous
From: Christopher Kings-Lynne
Date:
Subject: Re: ALTER TABLE...SET WITHOUT CLUSTER
Next
From: Fabien COELHO
Date:
Subject: syntax error position "CREATE FUNCTION" bug fix