aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarc G. Fournier <scrappy@hub.org>1996-09-16 05:52:51 +0000
committerMarc G. Fournier <scrappy@hub.org>1996-09-16 05:52:51 +0000
commit33dccad831a7b48f9b27cf4a45809d0af1b7fd6d (patch)
tree8deecbd950d6dfb02758a5bcf5b40ace86b8cb39 /src
parentbbebcb125e4f0593608bc4d9419ffc7933da147c (diff)
downloadpostgresql-33dccad831a7b48f9b27cf4a45809d0af1b7fd6d.tar.gz
postgresql-33dccad831a7b48f9b27cf4a45809d0af1b7fd6d.zip
enable PQ_NOTIFY_PATCH in config.h
Diffstat (limited to 'src')
-rw-r--r--src/include/config.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/include/config.h b/src/include/config.h
index d75c21961ee..ede1a8184d6 100644
--- a/src/include/config.h
+++ b/src/include/config.h
@@ -77,5 +77,20 @@ query commands and causes a SIGSEGV trying to execute commands without plan.
*/
#define FUNC_UTIL_PATCH
+/*
+
+Async notifies received while a backend is in the middle of a begin/end
+transaction block are lost by libpq when the final end command is issued.
+
+The bug is in the routine PQexec of libpq. The routine throws away any
+message from the backend when a message of type 'C' is received. This
+type of message is sent when the result of a portal query command with
+no tuples is returned. Unfortunately this is the case of the end command.
+As all async notification are sent only when the transaction is finished,
+if they are received in the middle of a transaction they are lost in the
+libpq library. I added some tracing code to PQexec and this is the output:
+
+*/
+#define PQ_NOTIFY_PATCH
#endif /* CONFIG_H */