aboutsummaryrefslogtreecommitdiff
path: root/src/backend/tcop/postgres.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2005-09-19 17:21:49 +0000
committerBruce Momjian <bruce@momjian.us>2005-09-19 17:21:49 +0000
commit658657177e04b6b3af39ed9236146065afb422d8 (patch)
tree4732e2dbad98df34c2ec753e4e7c14316ce97138 /src/backend/tcop/postgres.c
parent591a29b39803c8c060de621feaaeadfeb0ddca7d (diff)
downloadpostgresql-658657177e04b6b3af39ed9236146065afb422d8.tar.gz
postgresql-658657177e04b6b3af39ed9236146065afb422d8.zip
Print proper cause of statement cancel, user interaction or timeout.
Diffstat (limited to 'src/backend/tcop/postgres.c')
-rw-r--r--src/backend/tcop/postgres.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index d1eb30c6ba0..7967bef1292 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.459 2005/09/16 19:31:04 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.460 2005/09/19 17:21:47 momjian Exp $
*
* NOTES
* this is the "main" module of the postgres backend and
@@ -1979,7 +1979,9 @@ start_xact_command(void)
/* Set statement timeout running, if any */
if (StatementTimeout > 0)
enable_sig_alarm(StatementTimeout, true);
-
+ else
+ cancel_from_timeout = false;
+
xact_started = true;
}
}
@@ -2203,9 +2205,14 @@ ProcessInterrupts(void)
ImmediateInterruptOK = false; /* not idle anymore */
DisableNotifyInterrupt();
DisableCatchupInterrupt();
- ereport(ERROR,
- (errcode(ERRCODE_QUERY_CANCELED),
- errmsg("canceling query due to user request or statement timeout")));
+ if (cancel_from_timeout)
+ ereport(ERROR,
+ (errcode(ERRCODE_QUERY_CANCELED),
+ errmsg("canceling statement due to statement timeout")));
+ else
+ ereport(ERROR,
+ (errcode(ERRCODE_QUERY_CANCELED),
+ errmsg("canceling statement due to user request")));
}
/* If we get here, do nothing (probably, QueryCancelPending was reset) */
}