fix IdleInTransactionSessionTimeout don't when session_timeout=0

This commit is contained in:
xue_meng_en
2022-10-18 17:25:30 +08:00
parent a31f86e583
commit 03ea4a5f90

View File

@ -778,7 +778,8 @@ static int ReadCommand(StringInfo inBuf)
#ifndef ENABLE_MULTIPLE_NODES
/* Disable a timer for idle_in_transaction_session. */
if (u_sess->attr.attr_common.IdleInTransactionSessionTimeout > 0 &&
u_sess->attr.attr_common.SessionTimeout > u_sess->attr.attr_common.IdleInTransactionSessionTimeout &&
(u_sess->attr.attr_common.SessionTimeout == 0 ||
u_sess->attr.attr_common.SessionTimeout > u_sess->attr.attr_common.IdleInTransactionSessionTimeout) &&
(IsAbortedTransactionBlockState() || IsTransactionOrTransactionBlock())) {
if (!disable_idle_in_transaction_session_sig_alarm()) {
ereport(FATAL, (errcode(ERRCODE_SYSTEM_ERROR), errmsg("could not disable timer for idle-in-transaction timeout")));