*** pgsql/src/bin/scripts/clusterdb.c 2009/02/25 13:03:07 1.24 --- pgsql/src/bin/scripts/clusterdb.c 2009/02/26 16:02:38 1.25 *************** *** 4,10 **** * * Portions Copyright (c) 2002-2009, PostgreSQL Global Development Group * ! * $PostgreSQL: pgsql/src/bin/scripts/clusterdb.c,v 1.23 2009/01/01 17:23:55 momjian Exp $ * *------------------------------------------------------------------------- */ --- 4,10 ---- * * Portions Copyright (c) 2002-2009, PostgreSQL Global Development Group * ! * $PostgreSQL: pgsql/src/bin/scripts/clusterdb.c,v 1.24 2009/02/25 13:03:07 petere Exp $ * *------------------------------------------------------------------------- */ *************** *** 16,25 **** static void cluster_one_database(const char *dbname, bool verbose, const char *table, const char *host, const char *port, ! const char *username, bool password, const char *progname, bool echo); static void cluster_all_databases(bool verbose, const char *host, const char *port, ! const char *username, bool password, const char *progname, bool echo, bool quiet); static void help(const char *progname); --- 16,25 ---- static void cluster_one_database(const char *dbname, bool verbose, const char *table, const char *host, const char *port, ! const char *username, enum trivalue prompt_password, const char *progname, bool echo); static void cluster_all_databases(bool verbose, const char *host, const char *port, ! const char *username, enum trivalue prompt_password, const char *progname, bool echo, bool quiet); static void help(const char *progname); *************** main(int argc, char *argv[]) *** 32,37 **** --- 32,38 ---- {"host", required_argument, NULL, 'h'}, {"port", required_argument, NULL, 'p'}, {"username", required_argument, NULL, 'U'}, + {"no-password", no_argument, NULL, 'w'}, {"password", no_argument, NULL, 'W'}, {"echo", no_argument, NULL, 'e'}, {"quiet", no_argument, NULL, 'q'}, *************** main(int argc, char *argv[]) *** 50,56 **** char *host = NULL; char *port = NULL; char *username = NULL; ! bool password = false; bool echo = false; bool quiet = false; bool alldb = false; --- 51,57 ---- char *host = NULL; char *port = NULL; char *username = NULL; ! enum trivalue prompt_password = TRI_DEFAULT; bool echo = false; bool quiet = false; bool alldb = false; *************** main(int argc, char *argv[]) *** 62,68 **** handle_help_version_opts(argc, argv, "clusterdb", help); ! while ((c = getopt_long(argc, argv, "h:p:U:Weqd:at:v", long_options, &optindex)) != -1) { switch (c) { --- 63,69 ---- handle_help_version_opts(argc, argv, "clusterdb", help); ! while ((c = getopt_long(argc, argv, "h:p:U:wWeqd:at:v", long_options, &optindex)) != -1) { switch (c) { *************** main(int argc, char *argv[]) *** 75,82 **** case 'U': username = optarg; break; case 'W': ! password = true; break; case 'e': echo = true; --- 76,86 ---- case 'U': username = optarg; break; + case 'w': + prompt_password = TRI_NO; + break; case 'W': ! prompt_password = TRI_YES; break; case 'e': echo = true; *************** main(int argc, char *argv[]) *** 133,139 **** exit(1); } ! cluster_all_databases(verbose, host, port, username, password, progname, echo, quiet); } else --- 137,143 ---- exit(1); } ! cluster_all_databases(verbose, host, port, username, prompt_password, progname, echo, quiet); } else *************** main(int argc, char *argv[]) *** 149,155 **** } cluster_one_database(dbname, verbose, table, ! host, port, username, password, progname, echo); } --- 153,159 ---- } cluster_one_database(dbname, verbose, table, ! host, port, username, prompt_password, progname, echo); } *************** main(int argc, char *argv[]) *** 160,166 **** static void cluster_one_database(const char *dbname, bool verbose, const char *table, const char *host, const char *port, ! const char *username, bool password, const char *progname, bool echo) { PQExpBufferData sql; --- 164,170 ---- static void cluster_one_database(const char *dbname, bool verbose, const char *table, const char *host, const char *port, ! const char *username, enum trivalue prompt_password, const char *progname, bool echo) { PQExpBufferData sql; *************** cluster_one_database(const char *dbname, *** 176,182 **** appendPQExpBuffer(&sql, " %s", fmtId(table)); appendPQExpBuffer(&sql, ";\n"); ! conn = connectDatabase(dbname, host, port, username, password, progname); if (!executeMaintenanceCommand(conn, sql.data, echo)) { if (table) --- 180,186 ---- appendPQExpBuffer(&sql, " %s", fmtId(table)); appendPQExpBuffer(&sql, ";\n"); ! conn = connectDatabase(dbname, host, port, username, prompt_password, progname); if (!executeMaintenanceCommand(conn, sql.data, echo)) { if (table) *************** cluster_one_database(const char *dbname, *** 195,208 **** static void cluster_all_databases(bool verbose, const char *host, const char *port, ! const char *username, bool password, const char *progname, bool echo, bool quiet) { PGconn *conn; PGresult *result; int i; ! conn = connectDatabase("postgres", host, port, username, password, progname); result = executeQuery(conn, "SELECT datname FROM pg_database WHERE datallowconn ORDER BY 1;", progname, echo); PQfinish(conn); --- 199,212 ---- static void cluster_all_databases(bool verbose, const char *host, const char *port, ! const char *username, enum trivalue prompt_password, const char *progname, bool echo, bool quiet) { PGconn *conn; PGresult *result; int i; ! conn = connectDatabase("postgres", host, port, username, prompt_password, progname); result = executeQuery(conn, "SELECT datname FROM pg_database WHERE datallowconn ORDER BY 1;", progname, echo); PQfinish(conn); *************** cluster_all_databases(bool verbose, cons *** 217,223 **** } cluster_one_database(dbname, verbose, NULL, ! host, port, username, password, progname, echo); } --- 221,227 ---- } cluster_one_database(dbname, verbose, NULL, ! host, port, username, prompt_password, progname, echo); } *************** help(const char *progname) *** 244,249 **** --- 248,254 ---- printf(_(" -h, --host=HOSTNAME database server host or socket directory\n")); printf(_(" -p, --port=PORT database server port\n")); printf(_(" -U, --username=USERNAME user name to connect as\n")); + printf(_(" -w, --no-password never prompt for password\n")); printf(_(" -W, --password force password prompt\n")); printf(_("\nRead the description of the SQL command CLUSTER for details.\n")); printf(_("\nReport bugs to .\n"));