From 6cfa6cb95eb65badf5c02d9b7214ae0a2301a68f Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Sat, 10 Jan 1998 05:19:22 +0000
Subject: [PATCH] Fix CLUSTER.

---
 src/backend/commands/cluster.c | 5 ++++-
 src/man/cluster.l              | 6 +++++-
 src/tools/RELEASE_CHANGES      | 1 +
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/cluster.c b/src/backend/commands/cluster.c
index b77b1780f3f..9b2df76761e 100644
--- a/src/backend/commands/cluster.c
+++ b/src/backend/commands/cluster.c
@@ -14,7 +14,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/commands/cluster.c,v 1.21 1998/01/05 16:38:42 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/commands/cluster.c,v 1.22 1998/01/10 05:19:03 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -177,6 +177,9 @@ cluster(char oldrelname[], char oldindexname[])
 	/* Destroy old heap (along with its index) and rename new. */
 	heap_destroy_with_catalog(oldrelname);
 
+	CommitTransactionCommand();
+	StartTransactionCommand();
+
 	renamerel(NewHeapName, saveoldrelname);
 	TypeRename(NewHeapName, saveoldrelname);
 
diff --git a/src/man/cluster.l b/src/man/cluster.l
index 86d50d832c7..e53901382d1 100644
--- a/src/man/cluster.l
+++ b/src/man/cluster.l
@@ -1,6 +1,6 @@
 .\" This is -*-nroff-*-
 .\" XXX standard disclaimer belongs here....
-.\" $Header: /cvsroot/pgsql/src/man/Attic/cluster.l,v 1.2 1996/12/11 00:27:07 momjian Exp $
+.\" $Header: /cvsroot/pgsql/src/man/Attic/cluster.l,v 1.3 1998/01/10 05:19:14 momjian Exp $
 .TH CLUSTER SQL 01/23/93 PostgreSQL PostgreSQL
 .SH NAME
 cluster \(em give storage clustering advice to Postgres
@@ -21,6 +21,10 @@ information.  The clustering is static.  In other words, if the class is
 updated, it may become unclustered.  No attempt is made to keep new
 instances or updated tuples clustered.  If desired, the user can
 recluster manually by issuing the command again.
+.PP
+The table is actually copied to temporary table in index order,
+then renamed back to the original name.  For this reason, all
+grant permissions and other indexes are lost when cluster is performed.
 .SH EXAMPLE
 .nf
 /*
diff --git a/src/tools/RELEASE_CHANGES b/src/tools/RELEASE_CHANGES
index 5977cfdf6d8..b6d87221bc5 100644
--- a/src/tools/RELEASE_CHANGES
+++ b/src/tools/RELEASE_CHANGES
@@ -8,3 +8,4 @@ doc/TODO
 doc/bug.template
 make new /mirgration file
 update include/version.h after release
+update backend/parser/scan.l for non-flex sites
-- 
GitLab