]> granicus.if.org Git - postgresql/commitdiff
Fix script to handle autocommit = 'off' by prepending autocommit 'on' to
authorBruce Momjian <bruce@momjian.us>
Wed, 16 Oct 2002 03:24:09 +0000 (03:24 +0000)
committerBruce Momjian <bruce@momjian.us>
Wed, 16 Oct 2002 03:24:09 +0000 (03:24 +0000)
the start of the psql commandline.  This is better than adding BEGIN/END
because it handles multiple queries well, and allows the return code for
psql to return the proper value.

src/bin/scripts/clusterdb
src/bin/scripts/createdb
src/bin/scripts/createlang.sh
src/bin/scripts/createuser
src/bin/scripts/dropdb
src/bin/scripts/droplang
src/bin/scripts/dropuser
src/bin/scripts/vacuumdb

index d948dc52069f2cd1f03679a884304e6193933d14..c2b8b4e143c50d16715dfcc1db5df1d6515dbfec 100644 (file)
@@ -11,7 +11,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/clusterdb,v 1.4 2002/09/27 17:51:10 momjian Exp $
+#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/clusterdb,v 1.5 2002/10/16 03:24:09 momjian Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -176,7 +176,7 @@ do
                idx=`echo $tabs | cut -d: -f3`
                query="$query CLUSTER $idx ON $nspc.$tab;"
        done
-       ${PATHNAME}psql $PSQLOPT $ECHOOPT -c "$query" -d $db
+       ${PATHNAME}psql $PSQLOPT $ECHOOPT -c "SET autocommit = 'on';$query" -d $db
        if [ "$?" -ne 0 ]
        then
                echo "$CMDNAME: While clustering $db, the following failed: $query" 1>&2
index bd68f4c37aaf548a6ebbcc8a4151837fc4c42b3f..ad837191200c399f567fd83bb0e544c923b41700 100644 (file)
@@ -12,7 +12,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createdb,v 1.25 2002/09/03 21:45:43 petere Exp $
+#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createdb,v 1.26 2002/10/16 03:24:09 momjian Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -189,7 +189,7 @@ withstring=
 [ "$TEMPLATE" ] &&   withstring="$withstring TEMPLATE = \"$TEMPLATE\""
 [ "$withstring" ] && withstring=" WITH$withstring"
 
-${PATHNAME}psql $PSQLOPT -d template1 -c "CREATE DATABASE \"$dbname\"$withstring"
+${PATHNAME}psql $PSQLOPT -d template1 -c "SET autocommit = 'on';CREATE DATABASE \"$dbname\"$withstring"
 if [ "$?" -ne 0 ]; then
        echo "$CMDNAME: database creation failed" 1>&2
        exit 1
@@ -200,7 +200,7 @@ fi
 
 dbcomment=`echo "$dbcomment" | sed "s/'/\\\\\'/g"`
 
-${PATHNAME}psql $PSQLOPT -d "$dbname" -c "COMMENT ON DATABASE \"$dbname\" IS '$dbcomment'"
+${PATHNAME}psql $PSQLOPT -d "$dbname" -c "SET autocommit = 'on';COMMENT ON DATABASE \"$dbname\" IS '$dbcomment'"
 if [ "$?" -ne 0 ]; then
        echo "$CMDNAME: comment creation failed (database was created)" 1>&2
        exit 1
index b84680aab792ebe383709372f801cafdc3a7a82f..0c408553c68da79f8b6760b139820b0fb951470c 100644 (file)
@@ -7,7 +7,7 @@
 # Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
 # Portions Copyright (c) 1994, Regents of the University of California
 #
-# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createlang.sh,v 1.39 2002/09/24 23:14:25 tgl Exp $
+# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createlang.sh,v 1.40 2002/10/16 03:24:09 momjian Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -270,7 +270,7 @@ fi
 # Create the call handler and the language
 # ----------
 if [ "$handlerexists" = no ]; then
-       sqlcmd="CREATE FUNCTION \"$handler\" () RETURNS LANGUAGE_HANDLER AS '$PGLIB/${object}' LANGUAGE C;"
+       sqlcmd="SET autocommit = 'on';CREATE FUNCTION \"$handler\" () RETURNS LANGUAGE_HANDLER AS '$PGLIB/${object}' LANGUAGE C;"
        if [ "$showsql" = yes ]; then
                echo "$sqlcmd"
        fi
@@ -281,7 +281,7 @@ if [ "$handlerexists" = no ]; then
        fi
 fi
 
-sqlcmd="CREATE ${trusted}LANGUAGE \"$langname\" HANDLER \"$handler\";"
+sqlcmd="SET autocommit = 'on';CREATE ${trusted}LANGUAGE \"$langname\" HANDLER \"$handler\";"
 if [ "$showsql" = yes ]; then
        echo "$sqlcmd"
 fi
@@ -297,7 +297,7 @@ fi
 # seems best to disable public USAGE for an untrusted one.
 # ----------
 if test -z "$trusted"; then
-    sqlcmd="REVOKE ALL ON LANGUAGE \"$langname\" FROM PUBLIC;"
+    sqlcmd="SET autocommit = 'on';REVOKE ALL ON LANGUAGE \"$langname\" FROM PUBLIC;"
     if [ "$showsql" = yes ]; then
         echo "$sqlcmd"
     fi
index 04bbe135e59440c5af21bb04f7393ebc3748b8d4..83b48e5599aea609ec0c2d0d0708e246a15e98a5 100644 (file)
@@ -9,7 +9,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createuser,v 1.26 2002/06/20 20:29:42 momjian Exp $
+#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/createuser,v 1.27 2002/10/16 03:24:09 momjian Exp $
 #
 # Note - this should NOT be setuid.
 #
@@ -253,7 +253,7 @@ SUBQUERY=
 [ "$CanAddUser" = t ] &&  QUERY="$QUERY CREATEUSER"
 [ "$CanAddUser" = f ] &&  QUERY="$QUERY NOCREATEUSER"
 
-${PATHNAME}psql -c "$QUERY" -d template1 $PSQLOPT
+${PATHNAME}psql -c "SET autocommit = 'on';$QUERY" -d template1 $PSQLOPT
 if [ "$?" -ne 0 ]; then
        echo "$CMDNAME: creation of user \"$NewUser\" failed" 1>&2
        exit 1
index 8c3d9cbb090a0e050d4a7137bfa9dbc01b7754bf..9ad1b40ebaba292b23baa18e57016f5b99cda3b3 100644 (file)
@@ -11,7 +11,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/dropdb,v 1.16 2002/06/20 20:29:42 momjian Exp $
+#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/dropdb,v 1.17 2002/10/16 03:24:09 momjian Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -138,7 +138,7 @@ fi
 
 dbname=`echo "$dbname" | sed 's/\"/\\\"/g'`
 
-${PATHNAME}psql $PSQLOPT -d template1 -c "DROP DATABASE \"$dbname\""
+${PATHNAME}psql $PSQLOPT -d template1 -c "SET autocommit = 'on';DROP DATABASE \"$dbname\""
 if [ "$?" -ne 0 ]; then
        echo "$CMDNAME: database removal failed" 1>&2
        exit 1
index 6970c936b7e70a348617eb56e331e187fc09575f..f4b2d4748ce444e0b3bbea4db5b0b0a5fb9cbb80 100644 (file)
@@ -7,7 +7,7 @@
 # Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
 # Portions Copyright (c) 1994, Regents of the University of California
 #
-# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/droplang,v 1.24 2002/08/10 16:57:32 petere Exp $
+# $Header: /cvsroot/pgsql/src/bin/scripts/Attic/droplang,v 1.25 2002/10/16 03:24:09 momjian Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -229,7 +229,7 @@ fi
 # ----------
 # Drop the language
 # ----------
-sqlcmd="DROP LANGUAGE \"$langname\";"
+sqlcmd="SET autocommit = 'on';DROP LANGUAGE \"$langname\";"
 if [ "$showsql" = yes ]; then
        echo "$sqlcmd"
 fi
@@ -256,7 +256,7 @@ if [ "$?" -ne 0 ]; then
        exit 1
 fi
 
-sqlcmd="DROP FUNCTION \"$handler\" ();"
+sqlcmd="SET autocommit = 'on';DROP FUNCTION \"$handler\" ();"
 if [ "$showsql" = yes ]; then
        echo "$sqlcmd"
 fi
index 71b072c89553fee10ea468b89030bfa787f9e0a3..907a9152d0c3564bb58e526caf51dbd6ca33b07b 100644 (file)
@@ -9,7 +9,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/dropuser,v 1.18 2002/06/20 20:29:42 momjian Exp $
+#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/dropuser,v 1.19 2002/10/16 03:24:09 momjian Exp $
 #
 # Note - this should NOT be setuid.
 #
@@ -148,7 +148,7 @@ fi
 
 DelUser=`echo "$DelUser" | sed 's/\"/\\\"/g'`
 
-${PATHNAME}psql $PSQLOPT -d template1 -c "DROP USER \"$DelUser\""
+${PATHNAME}psql $PSQLOPT -d template1 -c "SET autocommit = 'on';DROP USER \"$DelUser\""
 
 if [ "$?" -ne 0 ]; then
        echo "$CMDNAME: deletion of user \"$DelUser\" failed" 1>&2
index d1c5afc2dd262b41f3543bf4606f87f5de74bc3c..8ff52e6de61f298fb2e0cd8297a228774353ed5a 100644 (file)
@@ -12,7 +12,7 @@
 #
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/vacuumdb,v 1.23 2002/08/10 16:57:32 petere Exp $
+#    $Header: /cvsroot/pgsql/src/bin/scripts/Attic/vacuumdb,v 1.24 2002/10/16 03:24:09 momjian Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -169,7 +169,7 @@ fi
 for db in $dbname
 do
         [ "$alldb" -a "$quiet" -ne 1 ] && echo "Vacuuming $db"
-       ${PATHNAME}psql $PSQLOPT $ECHOOPT -c "VACUUM $full $verbose $analyze $table" -d $db
+       ${PATHNAME}psql $PSQLOPT $ECHOOPT -c "SET autocommit = 'on';VACUUM $full $verbose $analyze $table" -d $db
        if [ "$?" -ne 0 ]; then
            echo "$CMDNAME: vacuum $table $db failed" 1>&2
            exit 1