diff options
author | Bruce Momjian | 2002-10-16 03:24:09 +0000 |
---|---|---|
committer | Bruce Momjian | 2002-10-16 03:24:09 +0000 |
commit | ad8d390185b8840a4540269d2bae2d76a5cf8ed0 (patch) | |
tree | d93f9b64350e50f1d92bd0c1f62390ebcf416e08 | |
parent | 11e5fc943ce70f72ffdc88ba9b9cbd5a395a8b8d (diff) |
Fix script to handle autocommit = 'off' by prepending autocommit 'on' to
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.
-rw-r--r-- | src/bin/scripts/clusterdb | 2 | ||||
-rw-r--r-- | src/bin/scripts/createdb | 4 | ||||
-rw-r--r-- | src/bin/scripts/createlang.sh | 6 | ||||
-rw-r--r-- | src/bin/scripts/createuser | 2 | ||||
-rw-r--r-- | src/bin/scripts/dropdb | 2 | ||||
-rw-r--r-- | src/bin/scripts/droplang | 4 | ||||
-rw-r--r-- | src/bin/scripts/dropuser | 2 | ||||
-rw-r--r-- | src/bin/scripts/vacuumdb | 2 |
8 files changed, 12 insertions, 12 deletions
diff --git a/src/bin/scripts/clusterdb b/src/bin/scripts/clusterdb index e0e9991969..75dfee9446 100644 --- a/src/bin/scripts/clusterdb +++ b/src/bin/scripts/clusterdb @@ -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 diff --git a/src/bin/scripts/createdb b/src/bin/scripts/createdb index 52d996bdf6..adfda5b293 100644 --- a/src/bin/scripts/createdb +++ b/src/bin/scripts/createdb @@ -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 diff --git a/src/bin/scripts/createlang.sh b/src/bin/scripts/createlang.sh index 77630a4564..a3540e461f 100644 --- a/src/bin/scripts/createlang.sh +++ b/src/bin/scripts/createlang.sh @@ -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 diff --git a/src/bin/scripts/createuser b/src/bin/scripts/createuser index e848fc5e96..e8f0d091fc 100644 --- a/src/bin/scripts/createuser +++ b/src/bin/scripts/createuser @@ -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 diff --git a/src/bin/scripts/dropdb b/src/bin/scripts/dropdb index 9e28ba7444..3a525a0491 100644 --- a/src/bin/scripts/dropdb +++ b/src/bin/scripts/dropdb @@ -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 diff --git a/src/bin/scripts/droplang b/src/bin/scripts/droplang index 889e8a8c60..a027fb5e1b 100644 --- a/src/bin/scripts/droplang +++ b/src/bin/scripts/droplang @@ -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 diff --git a/src/bin/scripts/dropuser b/src/bin/scripts/dropuser index 82269f6a47..956501070c 100644 --- a/src/bin/scripts/dropuser +++ b/src/bin/scripts/dropuser @@ -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 diff --git a/src/bin/scripts/vacuumdb b/src/bin/scripts/vacuumdb index 27ff1cc1d5..12513991b4 100644 --- a/src/bin/scripts/vacuumdb +++ b/src/bin/scripts/vacuumdb @@ -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 |