pg_amcheck_no_quiet.diff

application/octet-stream

Filename: pg_amcheck_no_quiet.diff
Type: application/octet-stream
Part: 0
Message: Re: BUG #17148: About --no-strict-names option and --quiet option of pg_amcheck command

Patch

Format: unified
File+
doc/src/sgml/ref/pg_amcheck.sgml 0 12
src/bin/pg_amcheck/pg_amcheck.c 13 25
src/bin/pg_amcheck/t/002_nonesuch.pl 5 1
src/bin/pg_amcheck/t/003_check.pl 1 1
src/bin/pg_amcheck/t/005_opclass_damage.pl 1 1
diff --git a/doc/src/sgml/ref/pg_amcheck.sgml b/doc/src/sgml/ref/pg_amcheck.sgml
index 46d12110b1..d00c48d0e7 100644
--- a/doc/src/sgml/ref/pg_amcheck.sgml
+++ b/doc/src/sgml/ref/pg_amcheck.sgml
@@ -289,8 +289,6 @@ PostgreSQL documentation
        <literal>--table</literal>, <literal>--index</literal>,
        or <literal>--relation</literal> matches no objects, it is a fatal
        error. This option downgrades that error to a warning.
-       If this option is used with <literal>--quiet</literal>, the warning
-       will be suppressed as well.
       </para>
      </listitem>
     </varlistentry>
@@ -553,16 +551,6 @@ PostgreSQL documentation
      </listitem>
     </varlistentry>
 
-    <varlistentry>
-     <term><option>-q</option></term>
-     <term><option>--quiet</option></term>
-     <listitem>
-      <para>
-       Print fewer messages, and less detail regarding any server errors.
-      </para>
-     </listitem>
-    </varlistentry>
-
     <varlistentry>
      <term><option>-P</option></term>
      <term><option>--progress</option></term>
diff --git a/src/bin/pg_amcheck/pg_amcheck.c b/src/bin/pg_amcheck/pg_amcheck.c
index a86a1c0987..4498632d21 100644
--- a/src/bin/pg_amcheck/pg_amcheck.c
+++ b/src/bin/pg_amcheck/pg_amcheck.c
@@ -56,7 +56,6 @@ typedef struct AmcheckOptions
 	bool		dbpattern;
 	bool		alldb;
 	bool		echo;
-	bool		quiet;
 	bool		verbose;
 	bool		strict_names;
 	bool		show_progress;
@@ -112,7 +111,6 @@ static AmcheckOptions opts = {
 	.dbpattern = false,
 	.alldb = false,
 	.echo = false,
-	.quiet = false,
 	.verbose = false,
 	.strict_names = true,
 	.show_progress = false,
@@ -250,7 +248,6 @@ main(int argc, char *argv[])
 		{"exclude-index", required_argument, NULL, 'I'},
 		{"jobs", required_argument, NULL, 'j'},
 		{"progress", no_argument, NULL, 'P'},
-		{"quiet", no_argument, NULL, 'q'},
 		{"relation", required_argument, NULL, 'r'},
 		{"exclude-relation", required_argument, NULL, 'R'},
 		{"schema", required_argument, NULL, 's'},
@@ -294,7 +291,7 @@ main(int argc, char *argv[])
 	handle_help_version_opts(argc, argv, progname, help);
 
 	/* process command-line options */
-	while ((c = getopt_long(argc, argv, "ad:D:eh:Hi:I:j:p:Pqr:R:s:S:t:T:U:wWv",
+	while ((c = getopt_long(argc, argv, "ad:D:eh:Hi:I:j:p:Pr:R:s:S:t:T:U:wWv",
 							long_options, &optindex)) != -1)
 	{
 		char	   *endptr;
@@ -337,9 +334,6 @@ main(int argc, char *argv[])
 			case 'P':
 				opts.show_progress = true;
 				break;
-			case 'q':
-				opts.quiet = true;
-				break;
 			case 'r':
 				opts.allrel = false;
 				append_relation_pattern(&opts.include, optarg, encoding);
@@ -632,21 +626,18 @@ main(int argc, char *argv[])
 		{
 			failed = opts.strict_names;
 
-			if (!opts.quiet || failed)
-			{
-				if (pat->heap_only)
-					log_no_match("no heap tables to check matching \"%s\"",
-								 pat->pattern);
-				else if (pat->btree_only)
-					log_no_match("no btree indexes to check matching \"%s\"",
-								 pat->pattern);
-				else if (pat->rel_regex == NULL)
-					log_no_match("no relations to check in schemas matching \"%s\"",
-								 pat->pattern);
-				else
-					log_no_match("no relations to check matching \"%s\"",
-								 pat->pattern);
-			}
+			if (pat->heap_only)
+				log_no_match("no heap tables to check matching \"%s\"",
+							 pat->pattern);
+			else if (pat->btree_only)
+				log_no_match("no btree indexes to check matching \"%s\"",
+							 pat->pattern);
+			else if (pat->rel_regex == NULL)
+				log_no_match("no relations to check in schemas matching \"%s\"",
+							 pat->pattern);
+			else
+				log_no_match("no relations to check matching \"%s\"",
+							 pat->pattern);
 		}
 	}
 
@@ -744,8 +735,6 @@ main(int argc, char *argv[])
 
 		if (opts.verbose)
 			PQsetErrorVerbosity(free_slot->connection, PQERRORS_VERBOSE);
-		else if (opts.quiet)
-			PQsetErrorVerbosity(free_slot->connection, PQERRORS_TERSE);
 
 		/*
 		 * Execute the appropriate amcheck command for this relation using our
@@ -1187,7 +1176,6 @@ help(const char *progname)
 	printf(_("\nOther options:\n"));
 	printf(_("  -e, --echo                      show the commands being sent to the server\n"));
 	printf(_("  -j, --jobs=NUM                  use this many concurrent connections to the server\n"));
-	printf(_("  -q, --quiet                     don't write any messages\n"));
 	printf(_("  -P, --progress                  show progress information\n"));
 	printf(_("  -v, --verbose                   write a lot of output\n"));
 	printf(_("  -V, --version                   output version information, then exit\n"));
diff --git a/src/bin/pg_amcheck/t/002_nonesuch.pl b/src/bin/pg_amcheck/t/002_nonesuch.pl
index 5417959553..e30c1cc546 100644
--- a/src/bin/pg_amcheck/t/002_nonesuch.pl
+++ b/src/bin/pg_amcheck/t/002_nonesuch.pl
@@ -6,7 +6,7 @@ use warnings;
 
 use PostgresNode;
 use TestLib;
-use Test::More tests => 72;
+use Test::More tests => 76;
 
 # Test set-up
 my ($node, $port);
@@ -191,6 +191,10 @@ $node->command_checks_all(
 		qr/pg_amcheck: warning: no relations to check matching "postgres\.long\.dotted\.string"/,
 		qr/pg_amcheck: warning: no relations to check matching "postgres\.pg_catalog\.none"/,
 		qr/pg_amcheck: warning: no relations to check matching "postgres\.none\.pg_class"/,
+		qr/pg_amcheck: warning: no connectable databases to check matching "no_such_database"/,
+		qr/pg_amcheck: warning: no connectable databases to check matching "no\*such\*database"/,
+		qr/pg_amcheck: warning: no connectable databases to check matching "none\.none\.none"/,
+		qr/pg_amcheck: warning: no connectable databases to check matching "this\.is\.a\.really\.long\.dotted\.string"/,
 	],
 	'many unmatched patterns and one matched pattern under --no-strict-names'
 );
diff --git a/src/bin/pg_amcheck/t/003_check.pl b/src/bin/pg_amcheck/t/003_check.pl
index f3eb41ce3a..c26e5eda67 100644
--- a/src/bin/pg_amcheck/t/003_check.pl
+++ b/src/bin/pg_amcheck/t/003_check.pl
@@ -317,7 +317,7 @@ plan_to_remove_relation_file('db2', 's1.t1_btree');
 #
 
 # Standard first arguments to TestLib functions
-my @cmd = ('pg_amcheck', '--quiet', '-p', $port);
+my @cmd = ('pg_amcheck', '-p', $port);
 
 # Regular expressions to match various expected output
 my $no_output_re               = qr/^$/;
diff --git a/src/bin/pg_amcheck/t/005_opclass_damage.pl b/src/bin/pg_amcheck/t/005_opclass_damage.pl
index 806335375d..e87d81d7d4 100644
--- a/src/bin/pg_amcheck/t/005_opclass_damage.pl
+++ b/src/bin/pg_amcheck/t/005_opclass_damage.pl
@@ -34,7 +34,7 @@ $node->safe_psql(
 
 # We have not yet broken the index, so we should get no corruption
 $node->command_like(
-	[ 'pg_amcheck', '--quiet', '-p', $node->port, 'postgres' ],
+	[ 'pg_amcheck', '-p', $node->port, 'postgres' ],
 	qr/^$/,
 	'pg_amcheck all schemas, tables and indexes reports no corruption');