feat: add config db-hoisted-tx-settings to allow only hoisted function settings

This commit is contained in:
Taimoor Zaeem
2024-05-21 19:50:03 -05:00
committed by Steve Chavez
parent a1582a6136
commit 8cbcf9867b
22 changed files with 168 additions and 53 deletions
+20 -7
View File
@@ -1,4 +1,3 @@
-- \ir big_schema.sql big schema test currently skipped, see test_io.py
\ir db_config.sql
set check_function_bodies = false; -- to allow conditionals based on the pg version
@@ -203,13 +202,27 @@ create function get_postgres_version() returns int as $$
select current_setting('server_version_num')::int;
$$ language sql;
create or replace function work_mem_test() returns text as $$
select current_setting('work_mem',false);
$$ language sql set work_mem = '6000kB';
create or replace function rpc_work_mem() returns items as $$
select 1
$$ language sql
set work_mem = '6000';
create or replace function multiple_func_settings_test() returns setof record as $$
select current_setting('work_mem',false) as work_mem,
current_setting('statement_timeout',false) as statement_timeout;
create or replace function rpc_with_one_hoisted() returns items as $$
select 1
$$ language sql
set work_mem = '3000'
set statement_timeout = '7s';
create or replace function rpc_with_two_hoisted() returns items as $$
select 1
$$ language sql
set work_mem = '5000'
set statement_timeout = '10s';
create function get_work_mem(items) returns text as $$
select current_setting('work_mem', true) as work_mem
$$ language sql;
create function get_statement_timeout(items) returns text as $$
select current_setting('statement_timeout', true) as statement_timeout
$$ language sql;