SET WITHOUT CLUSTER patch

From: Christopher Kings-Lynne <chriskl(at)familyhealth(dot)com(dot)au>
To: Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: SET WITHOUT CLUSTER patch
Date: 2004-03-19 05:26:10
Message-ID: 405A8472.90203@familyhealth.com.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

I have done a patch for turning off clustering on a table entirely.
Unforunately, of the three syntaxes I can think of, all cause
shift/reduce errors:

SET WITHOUT CLUSTER;
DROP CLUSTER
CLUSTER ON NONE;

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

Attachment Content-Type Size
nocluster.txt text/plain 7.7 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2004-03-19 06:12:38 Re: SET WITHOUT CLUSTER patch
Previous Message Larry Rosenman 2004-03-19 05:03:40 Re: UnixWare/CVS Tip/initdb.c needs to use threads