summaryrefslogtreecommitdiff
path: root/src/bin
diff options
context:
space:
mode:
authorBruce Momjian2003-03-20 18:53:18 +0000
committerBruce Momjian2003-03-20 18:53:18 +0000
commit88192135348770fa97895bba0f0a92f1ffa85783 (patch)
tree7ecca768367007b87c97cab673d4860098632ce6 /src/bin
parent432b9b0f7576253aed760a39cf894dae9bc50ece (diff)
Now that the CLUSTER ALL machinery is in place, the clusterdb script can
be simplified (I'd thought that it can even be removed). This patch does that. Alvaro Herrera
Diffstat (limited to 'src/bin')
-rw-r--r--src/bin/scripts/clusterdb30
1 files changed, 4 insertions, 26 deletions
diff --git a/src/bin/scripts/clusterdb b/src/bin/scripts/clusterdb
index 4b9b7c845e..3532953104 100644
--- a/src/bin/scripts/clusterdb
+++ b/src/bin/scripts/clusterdb
@@ -11,7 +11,7 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/clusterdb,v 1.9 2003/02/13 05:37:44 momjian Exp $
+# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/clusterdb,v 1.10 2003/03/20 18:53:18 momjian Exp $
#
#-------------------------------------------------------------------------
@@ -156,34 +156,12 @@ fi
for db in $dbname
do
[ "$alldb" ] && echo "Clustering $db"
- query="SELECT nspname, pg_class.relname, pg_class_2.relname FROM pg_class, pg_class AS pg_class_2 JOIN pg_namespace ON (pg_namespace.oid=relnamespace), pg_index WHERE pg_class.oid=pg_index.indrelid AND pg_class_2.oid=pg_index.indexrelid AND pg_index.indisclustered AND pg_class.relowner=(SELECT usesysid FROM pg_user WHERE usename=current_user)"
if [ -z "$table" ]; then
- tables=`${PATHNAME}psql $db $PSQLOPT -F: -P format=unaligned -t -c "$query"`
+ ${PATHNAME}psql $PSQLOPT $ECHOOPT -c "SET autocommit TO 'on';CLUSTER" -d $db
[ "$?" -ne 0 ] && exit 1
else
- # if tablename has a dot, use it as namespace separator
- if echo $table | grep -s '\.' 2>&1 >/dev/null
- then
- tbl=`echo $table | cut -d. -f2`
- nspc=`echo $table | cut -d. -f1`
- tables=`${PATHNAME}psql $db $PSQLOPT -F: -P format=unaligned -t -c "$query AND pg_class.relname='$tbl' AND nspname='$nspc'"`
- echo $tables
- else
- tables=`${PATHNAME}psql $db $PSQLOPT -F: -P format=unaligned -t -c "$query AND pg_class.relname='$table'"`
- fi
- fi
- query=
- for tabs in $tables
- do
- nspc=`echo $tabs | cut -d: -f1`
- tab=`echo $tabs | cut -d: -f2`
- idx=`echo $tabs | cut -d: -f3`
- query="$query CLUSTER $idx ON $nspc.$tab;"
- done
- ${PATHNAME}psql $PSQLOPT $ECHOOPT -c "SET autocommit TO 'on';$query" -d $db
- if [ "$?" -ne 0 ]
- then
- echo "$CMDNAME: While clustering $db, the following failed: $query" 1>&2
+ ${PATHNAME}psql $PSQLOPT $ECHOOPT -c "SET autocommit TO 'on';CLUSTER $table" -d $db
+ [ "$?" -ne 0 ] && exit 1
fi
done