支持idle_in_transaction_session_timeout
This commit is contained in:
@ -83,6 +83,10 @@ typedef struct knl_session_attr_common {
|
||||
int StatementTimeout;
|
||||
int SessionTimeout;
|
||||
int SessionTimeoutCount;
|
||||
#ifndef ENABLE_MULTIPLE_NODES
|
||||
int IdleInTransactionSessionTimeout;
|
||||
int IdleInTransactionSessionTimeoutCount;
|
||||
#endif
|
||||
int pgstat_collect_thread_status_interval;
|
||||
int extra_float_digits;
|
||||
int effective_io_concurrency;
|
||||
|
||||
@ -1715,6 +1715,10 @@ typedef struct knl_u_storage_context {
|
||||
volatile bool session_timeout_active;
|
||||
/* session_fin_time is valid only if session_timeout_active is true */
|
||||
TimestampTz session_fin_time;
|
||||
#ifndef ENABLE_MULTIPLE_NODES
|
||||
volatile bool idle_in_transaction_session_timeout_active;
|
||||
TimestampTz idle_in_transaction_session_fin_time;
|
||||
#endif
|
||||
|
||||
/* Number of file descriptors known to be in use by VFD entries. */
|
||||
int nfile;
|
||||
|
||||
@ -477,7 +477,9 @@ extern TimestampTz GetStatementFinTime();
|
||||
extern bool enable_sig_alarm(int delayms, bool is_statement_timeout);
|
||||
extern bool enable_lockwait_sig_alarm(int delayms);
|
||||
extern bool enable_session_sig_alarm(int delayms);
|
||||
extern bool enable_idle_in_transaction_session_sig_alarm(int delayms);
|
||||
extern bool disable_session_sig_alarm(void);
|
||||
extern bool disable_idle_in_transaction_session_sig_alarm(void);
|
||||
|
||||
extern bool disable_sig_alarm(bool is_statement_timeout);
|
||||
extern bool pause_sig_alarm(bool is_statement_timeout);
|
||||
|
||||
@ -60,6 +60,9 @@ public:
|
||||
void SigHupHandler();
|
||||
void HandlePoolerReload();
|
||||
void CheckSessionTimeout();
|
||||
#ifndef ENABLE_MULTIPLE_NODES
|
||||
void CheckIdleInTransactionSessionTimeout();
|
||||
#endif
|
||||
void CheckPermissionForSendSignal(knl_session_context* sess, sig_atomic_t* lock);
|
||||
void getSessionMemoryDetail(Tuplestorestate* tupStore, TupleDesc tupDesc, knl_sess_control** sess);
|
||||
void getSessionClientInfo(Tuplestorestate* tupStore, TupleDesc tupDesc);
|
||||
|
||||
Reference in New Issue
Block a user