summaryrefslogtreecommitdiff
path: root/src/backend/parser
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2002-11-15 03:09:39 +0000
committerBruce Momjian <bruce@momjian.us>2002-11-15 03:09:39 +0000
commit8bc717cb8878ff2baee4e29553736fab57248436 (patch)
tree69fb91e37bc3cd3d19e9aa529e3f03002ddf3719 /src/backend/parser
parent5b7eb4dd45359e040cd7175f1b3cfc5ea28ad138 (diff)
downloadpostgresql-8bc717cb8878ff2baee4e29553736fab57248436.tar.gz
New version attached. The following is implemented:
- CLUSTER ALL clusters all the tables that have some index with indisclustered set and the calling user owns. - CLUSTER tablename clusters the named table, using the index with indisclustered set. If no index has the bit set, throws elog(ERROR). - The multi-relation version (CLUSTER ALL) uses a multitransaction approach, similar to what VACUUM does. Alvaro Herrera
Diffstat (limited to 'src/backend/parser')
-rw-r--r--src/backend/parser/gram.y18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index b3ca71013c..2eef0c0490 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -11,7 +11,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.378 2002/11/15 02:50:08 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 2.379 2002/11/15 03:09:35 momjian Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -3761,6 +3761,8 @@ CreateConversionStmt:
*
* QUERY:
* cluster <index_name> on <qualified_name>
+ * cluster <qualified_name>
+ * cluster ALL
*
*****************************************************************************/
@@ -3772,6 +3774,20 @@ ClusterStmt:
n->indexname = $2;
$$ = (Node*)n;
}
+ | CLUSTER qualified_name
+ {
+ ClusterStmt *n = makeNode(ClusterStmt);
+ n->relation = $2;
+ n->indexname = NULL;
+ $$ = (Node*)n;
+ }
+ | CLUSTER ALL
+ {
+ ClusterStmt *n = makeNode(ClusterStmt);
+ n->relation = NULL;
+ n->indexname = NULL;
+ $$ = (Node*)n;
+ }
;
/*****************************************************************************