1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-16 06:01:02 +03:00

Fix bad interaction between NOTIFY processing and V3 extended query

protocol, per report from Igor Shevchenko.  NOTIFY thought it could
do its thing if transaction blockState is TBLOCK_DEFAULT, but in
reality it had better check the low-level transaction state is
TRANS_DEFAULT as well.  Formerly it was not possible to wait for the
client in a state where the first is true and the second is not ...
but now we can have such a state.  Minor cleanup in StartTransaction()
as well.
This commit is contained in:
Tom Lane
2003-10-16 16:50:41 +00:00
parent 839cea8814
commit 90b2202975
4 changed files with 37 additions and 24 deletions

View File

@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.372 2003/10/09 02:40:18 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.373 2003/10/16 16:50:41 tgl Exp $
*
* NOTES
* this is the "main" module of the postgres backend and
@ -2660,7 +2660,7 @@ PostgresMain(int argc, char *argv[], const char *username)
if (!IsUnderPostmaster)
{
puts("\nPOSTGRES backend interactive interface ");
puts("$Revision: 1.372 $ $Date: 2003/10/09 02:40:18 $\n");
puts("$Revision: 1.373 $ $Date: 2003/10/16 16:50:41 $\n");
}
/*
@ -2796,7 +2796,7 @@ PostgresMain(int argc, char *argv[], const char *username)
{
pgstat_report_tabstat();
if (IsTransactionBlock())
if (IsTransactionOrTransactionBlock())
{
set_ps_display("idle in transaction");
pgstat_report_activity("<IDLE> in transaction");