maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #08619
Re: [Commits] 6efaf34: MDEV-7011: MAX_STATEMENT_TIME has no effect in a procedure after a previous successful statement
Hi, Sanja!
On May 21, sanja@xxxxxxxxxxx wrote:
> revision-id: 6efaf349adec30115bdb94b9a9927f7c5103ed99
> parent(s): 3e55ef26d49a900782d2c2bb2c03470faed6ec9d
> committer: Oleksandr Byelkin
> branch nick: server
> timestamp: 2015-05-21 16:31:24 +0200
> message:
>
> MDEV-7011: MAX_STATEMENT_TIME has no effect in a procedure after a previous successful statement
>
> Do not reset timer inside stored procedures and functions.
>
> diff --git a/sql/sql_class.h b/sql/sql_class.h
> index ca532ae..ebb76df 100644
> --- a/sql/sql_class.h
> +++ b/sql/sql_class.h
> @@ -3966,6 +3966,8 @@ class THD :public Statement,
> void reset_query_timer()
> {
> #ifndef EMBEDDED_LIBRARY
> + if (spcont || in_sub_stmt)
> + return;
> if (!query_timer.expired)
> thr_timer_end(&query_timer);
> #endif
I'd expect reset_query_timer() to use the same condition that
set_query_timer() does:
void set_query_timer()
{
if (!variables.max_statement_time || spcont || in_sub_stmt ||
slave_thread || query_timer.expired == 0)
return;
thr_timer_settime(&query_timer, variables.max_statement_time);
}
So, I'd think that reset_query_timer() could look like
void reset_query_timer()
{
if (spcont || in_sub_stmt || slave_thread)
return;
if (!query_timer.expired)
thr_timer_end(&query_timer);
}
Regards,
Sergei
Follow ups