From e70ddddbfdb6d7513f902658540b003a5f989b3c Mon Sep 17 00:00:00 2001
From: Jelte Fennema-Nio <postgres@jeltef.nl>
Date: Wed, 14 Aug 2024 18:25:16 +0200
Subject: [PATCH v17 5/8] Use latest protocol version in libpq_pipeline tests

To be able to test new protocol features added by future commits, we
start requesting the latest protocol version in our libpq_pipeline test.
---
 src/test/modules/libpq_pipeline/libpq_pipeline.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/src/test/modules/libpq_pipeline/libpq_pipeline.c b/src/test/modules/libpq_pipeline/libpq_pipeline.c
index 7ff18e91e66..5f840323a32 100644
--- a/src/test/modules/libpq_pipeline/libpq_pipeline.c
+++ b/src/test/modules/libpq_pipeline/libpq_pipeline.c
@@ -2163,7 +2163,6 @@ print_test_list(void)
 int
 main(int argc, char **argv)
 {
-	const char *conninfo = "";
 	PGconn	   *conn;
 	FILE	   *trace;
 	char	   *testname;
@@ -2171,6 +2170,13 @@ main(int argc, char **argv)
 	PGresult   *res;
 	int			c;
 
+	/*
+	 * dbname = "" because we use expand_dbname, so it's a no-op unless the
+	 * user provides something else
+	 */
+	char	   *conn_keywords[3] = {"dbname", "max_protocol_version"};
+	char	   *conn_values[3] = {"", "latest"};
+
 	while ((c = getopt(argc, argv, "r:t:")) != -1)
 	{
 		switch (c)
@@ -2208,14 +2214,17 @@ main(int argc, char **argv)
 		exit(0);
 	}
 
+	/* We use expand_dbname to parse the user-provided conninfo string */
 	if (optind < argc)
 	{
-		conninfo = pg_strdup(argv[optind]);
+		conn_values[0] = pg_strdup(argv[optind]);
 		optind++;
 	}
 
 	/* Make a connection to the database */
-	conn = PQconnectdb(conninfo);
+	conn = PQconnectdbParams((const char *const *) &conn_keywords,
+							 (const char *const *) &conn_values,
+							 1);
 	if (PQstatus(conn) != CONNECTION_OK)
 	{
 		fprintf(stderr, "Connection to database failed: %s\n",
-- 
2.43.0

