From 3b5548a3d524e3b37d49f79f707d2119ecdfa303 Mon Sep 17 00:00:00 2001
From: Robert Haas <rhaas@postgresql.org>
Date: Fri, 8 Jun 2012 08:46:39 -0400
Subject: [PATCH] When using libpq URI syntax, error out on invalid parameter
 names.

Dan Farina
---
 src/interfaces/libpq/fe-connect.c      | 8 +++++---
 src/interfaces/libpq/test/expected.out | 8 ++++----
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c
index 960811f233e..33daaec7be4 100644
--- a/src/interfaces/libpq/fe-connect.c
+++ b/src/interfaces/libpq/fe-connect.c
@@ -4874,9 +4874,11 @@ conninfo_uri_parse_params(char *params,
 				return false;
 			}
 
-			fprintf(stderr,
-					libpq_gettext("WARNING: ignoring unrecognized URI query parameter: %s\n"),
-					keyword);
+			printfPQExpBuffer(errorMessage,
+							  libpq_gettext(
+								  "invalid URI query parameter \"%s\"\n"),
+							  keyword);
+			return false;
 		}
 		if (malloced)
 		{
diff --git a/src/interfaces/libpq/test/expected.out b/src/interfaces/libpq/test/expected.out
index 6d5077d7623..cc22a96890a 100644
--- a/src/interfaces/libpq/test/expected.out
+++ b/src/interfaces/libpq/test/expected.out
@@ -59,8 +59,8 @@ trying postgresql://host/db?u%73er=someotheruser&port=12345
 user='someotheruser' dbname='db' host='host' port='12345' (inet)
 
 trying postgresql://host/db?u%7aer=someotheruser&port=12345
-WARNING: ignoring unrecognized URI query parameter: uzer
-dbname='db' host='host' port='12345' (inet)
+uri-regress: invalid URI query parameter "uzer"
+
 
 trying postgresql://host:12345?user=uri-user
 user='uri-user' host='host' port='12345' (inet)
@@ -102,8 +102,8 @@ trying postgres://?host=/path/to/socket/dir
 host='/path/to/socket/dir' (local)
 
 trying postgresql://host?uzer=
-WARNING: ignoring unrecognized URI query parameter: uzer
-host='host' (inet)
+uri-regress: invalid URI query parameter "uzer"
+
 
 trying postgre://
 uri-regress: missing "=" after "postgre://" in connection info string
-- 
GitLab