From: | PG Bug reporting form <noreply(at)postgresql(dot)org> |
---|---|
To: | pgsql-bugs(at)lists(dot)postgresql(dot)org |
Cc: | rmohite(at)xento(dot)com |
Subject: | BUG #16035: STATEMENT_TIMEOUT not working when we have single quote usage inside CTE which is used in inner sql |
Date: | 2019-10-03 06:38:33 |
Message-ID: | 16035-456e6e69ebfd4374@postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 16035
Logged by: Raj Mohite
Email address: rmohite(at)xento(dot)com
PostgreSQL version: 10.8
Operating system: Windows 10
Description:
I have created a simple sql where I have added STATEMENT_TIMEOUT = 1 seconds
and added explicit delay(pg_sleep(5) ) of 5 seconds inside CTE.
Below sql should get killed after 1 second but looks like it is running for
5 seconds.
SET STATEMENT_TIMEOUT = '1s';SELECT * FROM ( WITH test AS ( SELECT
pg_sleep(5), 'Billy' as emp_name ) SELECT 1 FROM test ) AS sub;
Note: If we remove the quoted string 'Billy' AS emp_name from above sql
then proper timeout is getting applied. If we keep quoted string -- 'Billy'
AS emp_name in the comment then also it doesn't work.
Solution: We are still finding the root cause for the above behavior but I
found that if we will put the SET STATEMENT_TIMEOUT before and after the sql
then it working fine.
Example:
SET STATEMENT_TIMEOUT = '3s';SELECT * FROM ( WITH test AS ( SELECT
pg_sleep(5), 'Billy' as emp_name ) SELECT 1 FROM test ) AS sub;SET
STATEMENT_TIMEOUT = '1s';
Above example will timeout after 3 seconds i.e. it will consider the 1st
timeout value.
Can you please help us to know why STATEMENT_TIMEOUT is not working in first
example?
From | Date | Subject | |
---|---|---|---|
Next Message | Pavlo Golub | 2019-10-03 14:08:34 | Re: BUG #16034: `\set ECHO all` doesn't work for \e command |
Previous Message | David Raymond | 2019-10-02 18:36:33 | RE: BUG #16031: Group by returns duplicate groups |