From 10980c45f1d3cbbbe8c0df8f739fc83ce89233b2 Mon Sep 17 00:00:00 2001 From: Jelte Fennema-Nio Date: Thu, 23 Oct 2025 15:16:05 +0200 Subject: [PATCH v4 1/5] Add test for libpq its default protocol version We did not test libpq its default protocol version. Defaults are important so we should test them. --- .../modules/libpq_pipeline/libpq_pipeline.c | 33 ++++++++++++++++--- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/src/test/modules/libpq_pipeline/libpq_pipeline.c b/src/test/modules/libpq_pipeline/libpq_pipeline.c index 03371721460..dea94db6ea1 100644 --- a/src/test/modules/libpq_pipeline/libpq_pipeline.c +++ b/src/test/modules/libpq_pipeline/libpq_pipeline.c @@ -1328,7 +1328,7 @@ test_protocol_version(PGconn *conn) int nopts; PQconninfoOption *opts = PQconninfo(conn); int protocol_version; - int max_protocol_version_index; + int max_protocol_version_index = -1; int i; /* @@ -1351,14 +1351,37 @@ test_protocol_version(PGconn *conn) { keywords[i] = opt->keyword; vals[i] = opt->val; + if (strcmp(opt->keyword, "max_protocol_version") == 0) + { + max_protocol_version_index = i; + } + i++; } } - max_protocol_version_index = i; - keywords[i] = "max_protocol_version"; /* value is filled in below */ - i++; - keywords[i] = vals[i] = NULL; + if (max_protocol_version_index == -1) + { + max_protocol_version_index = i; + keywords[i] = "max_protocol_version"; /* value is filled in below */ + i++; + } + + /* + * Test default protocol_version + */ + vals[max_protocol_version_index] = ""; + conn = PQconnectdbParams(keywords, vals, false); + + if (PQstatus(conn) != CONNECTION_OK) + pg_fatal("Connection to database failed: %s", + PQerrorMessage(conn)); + + protocol_version = PQfullProtocolVersion(conn); + if (protocol_version != 30000) + pg_fatal("expected 30000, got %d", protocol_version); + + PQfinish(conn); /* * Test max_protocol_version=3.0 -- 2.34.1