Hi,

I found some improvements in Client Applications in /src/bin/scripts when I
resumed development of progress monitor for cluster command.

Attached patch gives the following query a semicolon for readability.

  s/SELECT pg_catalog.set_config ('search_path', '', false)/
    SELECT pg_catalog.set_config ('search_path', '', false);/

  s/RESET search_path/RESET search_path;/


For example,
Client application vacuumdb's results using the patch are following:

  # Not patched #

  $ vacuumdb -e -Zt 'pg_am(amname)'

  SELECT pg_catalog.set_config ('search_path', '', false)
  vacuumdb: vacuuming database "postgres"
  RESET search_path
  SELECT c.relname, ns.nspname
  FROM pg_catalog.pg_class c, pg_catalog.pg_namespace ns
  WHERE c.relnamespace OPERATOR (pg_catalog. =) Ns.oid
  AND c.oid OPERATOR (pg_catalog. =) 'Pg_am' :: pg_catalog.regclass;
  SELECT pg_catalog.set_config ('search_path', '', false)
  ANALYZE pg_catalog.pg_am (amname);

  # Patched #

  $ vacuumdb -e -Zt 'pg_am(amname)'

  SELECT pg_catalog.set_config ('search_path', '', false);
  vacuumdb: vacuuming database "postgres"
  RESET search_path;
  SELECT c.relname, ns.nspname
  FROM pg_catalog.pg_class c, pg_catalog.pg_namespace ns
  WHERE c.relnamespace OPERATOR (pg_catalog. =) Ns.oid
  AND c.oid OPERATOR (pg_catalog. =) 'Pg_am' :: pg_catalog.regclass;
  SELECT pg_catalog.set_config ('search_path', '', false);
  ANALYZE pg_catalog.pg_am (amname);


I tested "make check-world" and "make installcheck-world" on 777e6ddf1
and are fine.

Regards,
Tatsuro Yamada
NTT Open Source Software Center

diff --git a/src/bin/scripts/common.c b/src/bin/scripts/common.c
index db2b9f0d68..a80089ccde 100644
--- a/src/bin/scripts/common.c
+++ b/src/bin/scripts/common.c
@@ -335,7 +335,7 @@ appendQualifiedRelation(PQExpBuffer buf, const char *spec,
 	appendStringLiteralConn(&sql, table, conn);
 	appendPQExpBufferStr(&sql, "::pg_catalog.regclass;");
 
-	executeCommand(conn, "RESET search_path", progname, echo);
+	executeCommand(conn, "RESET search_path;", progname, echo);
 
 	/*
 	 * One row is a typical result, as is a nonexistent relation ERROR.
diff --git a/src/include/fe_utils/connect.h b/src/include/fe_utils/connect.h
index fa293d2458..d62f5a3724 100644
--- a/src/include/fe_utils/connect.h
+++ b/src/include/fe_utils/connect.h
@@ -23,6 +23,6 @@
  * might work with the old server, skip this.
  */
 #define ALWAYS_SECURE_SEARCH_PATH_SQL \
-	"SELECT pg_catalog.set_config('search_path', '', false)"
+	"SELECT pg_catalog.set_config('search_path', '', false);"
 
 #endif							/* CONNECT_H */

Reply via email to