1
0
mirror of https://github.com/timescale/timescaledb.git synced 2025-05-26 00:00:54 +08:00

Fix error in handling of RESET ALL

This commit is contained in:
Matvey Arye 2018-03-03 10:13:02 -05:00 committed by Matvey Arye
parent 42811e32c1
commit 4672719e38
3 changed files with 67 additions and 2 deletions
src/loader
test

@ -99,8 +99,16 @@ should_load_on_variable_set(Node *utility_stmt)
{
VariableSetStmt *stmt = (VariableSetStmt *) utility_stmt;
/* Do not load when setting the guc */
return strcmp(stmt->name, GUC_DISABLE_LOAD_NAME) != 0;
switch (stmt->kind)
{
case VAR_SET_VALUE:
case VAR_SET_DEFAULT:
case VAR_RESET:
/* Do not load when setting the guc to disable load */
return stmt->name == NULL || strcmp(stmt->name, GUC_DISABLE_LOAD_NAME) != 0;
default:
return true;
}
}
static bool

@ -154,6 +154,48 @@ SET timescaledb.disable_load = 'not bool';
WARNING: mock post_analyze_hook "mock-1"
ERROR: parameter "timescaledb.disable_load" requires a Boolean value
\set ON_ERROR_STOP 1
\c single :ROLE_SUPERUSER
RESET ALL;
WARNING: mock init "mock-1"
WARNING: mock post_analyze_hook "mock-1"
SELECT 1;
WARNING: mock post_analyze_hook "mock-1"
?column?
----------
1
(1 row)
\c single :ROLE_SUPERUSER
SET timescaledb.disable_load TO DEFAULT;
SELECT 1;
WARNING: mock init "mock-1"
WARNING: mock post_analyze_hook "mock-1"
?column?
----------
1
(1 row)
\c single :ROLE_SUPERUSER
RESET timescaledb.disable_load;
SELECT 1;
WARNING: mock init "mock-1"
WARNING: mock post_analyze_hook "mock-1"
?column?
----------
1
(1 row)
\c single :ROLE_SUPERUSER
SET timescaledb.other = 'on';
WARNING: mock init "mock-1"
WARNING: mock post_analyze_hook "mock-1"
SELECT 1;
WARNING: mock post_analyze_hook "mock-1"
?column?
----------
1
(1 row)
\set ON_ERROR_STOP 0
--cannot update extension after .so of previous version already loaded
ALTER EXTENSION timescaledb UPDATE TO 'mock-2';

@ -52,6 +52,21 @@ SELECT 1;
SET timescaledb.disable_load = 'not bool';
\set ON_ERROR_STOP 1
\c single :ROLE_SUPERUSER
RESET ALL;
SELECT 1;
\c single :ROLE_SUPERUSER
SET timescaledb.disable_load TO DEFAULT;
SELECT 1;
\c single :ROLE_SUPERUSER
RESET timescaledb.disable_load;
SELECT 1;
\c single :ROLE_SUPERUSER
SET timescaledb.other = 'on';
SELECT 1;
\set ON_ERROR_STOP 0
--cannot update extension after .so of previous version already loaded