]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Fix PQdescribePrepared with more than 7498 params
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 15 Jun 2026 08:28:45 +0000 (11:28 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 15 Jun 2026 08:35:41 +0000 (11:35 +0300)
If a query has more than 7498 params, the ParameterDescription message
exceeds the 30000 byte limit on messages that are not specifically
marked as possibly being longer than that (VALID_LONG_MESSAGE_TYPE).
To fix, add ParameterDescription to the list.

Author: Ning Sun <classicning@gmail.com>
Discussion: https://www.postgresql.org/message-id/dbfb4b65-0aa8-470a-8b87-b6496160b28a@gmail.com
Backpatch-through: 14

src/interfaces/libpq/fe-protocol3.c

index db6fd71ad4d3dc815fad4a54bde7765cf2921821..bedd4b5585f2509aaca637b586fa558c3c4a400e 100644 (file)
@@ -42,7 +42,8 @@
         (id) == PqMsg_FunctionCallResponse || \
         (id) == PqMsg_NoticeResponse || \
         (id) == PqMsg_NotificationResponse || \
-        (id) == PqMsg_RowDescription)
+        (id) == PqMsg_RowDescription || \
+        (id) == PqMsg_ParameterDescription)
 
 
 static void handleSyncLoss(PGconn *conn, char id, int msgLength);