!2312 fix IdleInTransactionSessionTimeout don't work when session_timeout=0

Merge pull request !2312 from 薛蒙恩/idlemaster
This commit is contained in:
opengauss-bot
2022-10-26 01:46:01 +00:00
committed by Gitee

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")));