diff --git a/server/functions/current_setting.go b/server/functions/current_setting.go old mode 100755 new mode 100644 index 01785a07b9..3bedeaa826 --- a/server/functions/current_setting.go +++ b/server/functions/current_setting.go @@ -15,8 +15,9 @@ package functions import ( - "github.com/cockroachdb/errors" + "fmt" + "github.com/cockroachdb/errors" "github.com/dolthub/go-mysql-server/sql" "github.com/dolthub/doltgresql/server/functions/framework" @@ -42,7 +43,7 @@ var current_setting = framework.Function1{ } if variable != nil { - return variable, nil + return fmt.Sprintf("%v", variable), nil } variable, err = ctx.GetSessionVariable(ctx, s) @@ -51,7 +52,7 @@ var current_setting = framework.Function1{ } if variable != nil { - return variable, nil + return fmt.Sprintf("%v", variable), nil } return nil, errors.Errorf("unrecognized configuration parameter %s", s) diff --git a/testing/go/dolt_functions_test.go b/testing/go/dolt_functions_test.go index 7b863d6568..2a80f01589 100755 --- a/testing/go/dolt_functions_test.go +++ b/testing/go/dolt_functions_test.go @@ -216,6 +216,11 @@ func TestDoltFunctions(t *testing.T) { {"public.t1", "f", "new table"}, }, }, + { + Skip: true, // TODO: function dolt_clean() does not exist + Query: "SELECT DOLT_CLEAN();", + Expected: []sql.Row{{"{0}"}}, + }, { Query: "SELECT DOLT_CLEAN('t1');", Expected: []sql.Row{{"{0}"}}, diff --git a/testing/go/prepared_statement_test.go b/testing/go/prepared_statement_test.go index 9ee9c1dd52..6c518769de 100755 --- a/testing/go/prepared_statement_test.go +++ b/testing/go/prepared_statement_test.go @@ -31,9 +31,11 @@ func TestPreparedPgCatalog(t *testing.T) { } var preparedStatementTests = []ScriptTest{ + { Name: "Expressions without tables", Assertions: []ScriptTestAssertion{ + { Query: "SELECT CONCAT($1::text, $2::text)", BindVars: []any{"hello", "world"}, @@ -50,6 +52,23 @@ var preparedStatementTests = []ScriptTest{ }, }, }, + { + Name: "Expressions with tables", + Assertions: []ScriptTestAssertion{ + { + Skip: true, // TODO: expected 0 arguments, got 1 + Query: "SELECT EXISTS(SELECT 1 FROM pg_namespace WHERE nspname = $1);", + BindVars: []any{"public"}, + Expected: []sql.Row{{1}}, + }, + { + Skip: true, // TODO: could not determine OID for placeholder v1: unsupported type: EXPRESSION + Query: "SELECT nspname FROM pg_namespace LIMIT $1;", + BindVars: []any{1}, + Expected: []sql.Row{{"dolt"}}, + }, + }, + }, { Name: "Integer insert", SetUpScript: []string{ diff --git a/testing/go/set_test.go b/testing/go/set_test.go index 3e7f831617..560101fbcb 100644 --- a/testing/go/set_test.go +++ b/testing/go/set_test.go @@ -71,6 +71,10 @@ var setStmts = []ScriptTest{ Query: "SHOW timezone", Expected: []sql.Row{{"America/Los_Angeles"}}, }, + { + Query: "SELECT current_setting('timezone')", + Expected: []sql.Row{{"America/Los_Angeles"}}, + }, }, }, { @@ -105,6 +109,10 @@ var setStmts = []ScriptTest{ Query: "SHOW search_path", Expected: []sql.Row{{"postgres"}}, }, + { + Query: "SELECT current_setting('search_path')", + Expected: []sql.Row{{"postgres"}}, + }, }, }, { @@ -131,6 +139,10 @@ var setStmts = []ScriptTest{ Query: "SHOW client_encoding;", Expected: []sql.Row{{"UTF8"}}, }, + { + Query: "SELECT current_setting('client_encoding')", + Expected: []sql.Row{{"UTF8"}}, + }, }, }, { @@ -149,6 +161,10 @@ var setStmts = []ScriptTest{ Query: "SHOW geqo_seed", Expected: []sql.Row{{float64(1)}}, }, + { + Query: "SELECT current_setting('geqo_seed')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -175,6 +191,10 @@ var setStmts = []ScriptTest{ Query: "SHOW allow_in_place_tablespaces", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('allow_in_place_tablespaces')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -186,21 +206,25 @@ var setStmts = []ScriptTest{ Expected: []sql.Row{{int8(0)}}, }, { - Query: "SET allow_in_place_tablespaces TO 'on'", + Query: "SET allow_system_table_mods TO 'on'", Expected: []sql.Row{}, }, { - Query: "SHOW allow_in_place_tablespaces", + Query: "SHOW allow_system_table_mods", Expected: []sql.Row{{int8(1)}}, }, { - Query: "SET allow_in_place_tablespaces TO DEFAULT", + Query: "SET allow_system_table_mods TO DEFAULT", Expected: []sql.Row{}, }, { - Query: "SHOW allow_in_place_tablespaces", + Query: "SHOW allow_system_table_mods", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('allow_system_table_mods')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -227,6 +251,10 @@ var setStmts = []ScriptTest{ Query: "SHOW application_name", Expected: []sql.Row{{"psql"}}, }, + { + Query: "SELECT current_setting('application_name')", + Expected: []sql.Row{{"psql"}}, + }, }, }, { @@ -241,6 +269,10 @@ var setStmts = []ScriptTest{ Query: "SET archive_cleanup_command TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('archive_cleanup_command')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -255,6 +287,10 @@ var setStmts = []ScriptTest{ Query: "SET archive_command TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('archive_command')", + Expected: []sql.Row{{"(disabled)"}}, + }, }, }, { @@ -269,6 +305,10 @@ var setStmts = []ScriptTest{ Query: "SET archive_library TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('archive_library')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -283,6 +323,10 @@ var setStmts = []ScriptTest{ Query: "SET archive_mode TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('archive_mode')", + Expected: []sql.Row{{"off"}}, + }, }, }, { @@ -297,6 +341,10 @@ var setStmts = []ScriptTest{ Query: "SET archive_timeout TO '0'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('archive_timeout')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -323,6 +371,10 @@ var setStmts = []ScriptTest{ Query: "SHOW array_nulls", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('array_nulls')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -337,6 +389,10 @@ var setStmts = []ScriptTest{ Query: "SET authentication_timeout TO '120'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('authentication_timeout')", + Expected: []sql.Row{{"60"}}, + }, }, }, { @@ -351,6 +407,10 @@ var setStmts = []ScriptTest{ Query: "SET autovacuum TO 'on'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('autovacuum')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -365,6 +425,10 @@ var setStmts = []ScriptTest{ Query: "SET autovacuum_analyze_scale_factor TO '0.1'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('autovacuum_analyze_scale_factor')", + Expected: []sql.Row{{"0.1"}}, + }, }, }, { @@ -379,6 +443,10 @@ var setStmts = []ScriptTest{ Query: "SET autovacuum_analyze_threshold TO '50'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('autovacuum_analyze_threshold')", + Expected: []sql.Row{{"50"}}, + }, }, }, { @@ -393,6 +461,10 @@ var setStmts = []ScriptTest{ Query: "SET autovacuum_freeze_max_age TO '200000000'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('autovacuum_freeze_max_age')", + Expected: []sql.Row{{"2000000000"}}, + }, }, }, { @@ -407,6 +479,10 @@ var setStmts = []ScriptTest{ Query: "SET autovacuum_max_workers TO '3'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('autovacuum_max_workers')", + Expected: []sql.Row{{"3"}}, + }, }, }, { @@ -421,6 +497,10 @@ var setStmts = []ScriptTest{ Query: "SET autovacuum_multixact_freeze_max_age TO '400000000'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('autovacuum_multixact_freeze_max_age')", + Expected: []sql.Row{{"400000000"}}, + }, }, }, { @@ -435,6 +515,10 @@ var setStmts = []ScriptTest{ Query: "SET autovacuum_naptime TO '60'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('autovacuum_naptime')", + Expected: []sql.Row{{"60"}}, + }, }, }, { @@ -449,6 +533,10 @@ var setStmts = []ScriptTest{ Query: "SET autovacuum_vacuum_cost_delay TO '2'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('autovacuum_vacuum_cost_delay')", + Expected: []sql.Row{{"2"}}, + }, }, }, { @@ -463,6 +551,10 @@ var setStmts = []ScriptTest{ Query: "SET autovacuum_vacuum_cost_limit TO '-1'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('autovacuum_vacuum_cost_limit')", + Expected: []sql.Row{{"-1"}}, + }, }, }, { @@ -477,6 +569,10 @@ var setStmts = []ScriptTest{ Query: "SET autovacuum_vacuum_insert_scale_factor TO '0.2'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('autovacuum_vacuum_insert_scale_factor')", + Expected: []sql.Row{{"0.2"}}, + }, }, }, { @@ -491,6 +587,10 @@ var setStmts = []ScriptTest{ Query: "SET autovacuum_vacuum_insert_threshold TO '1000'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('autovacuum_vacuum_insert_threshold')", + Expected: []sql.Row{{"1000"}}, + }, }, }, { @@ -505,6 +605,10 @@ var setStmts = []ScriptTest{ Query: "SET autovacuum_vacuum_scale_factor TO '0.2'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('autovacuum_vacuum_scale_factor')", + Expected: []sql.Row{{"0.2"}}, + }, }, }, { @@ -519,6 +623,10 @@ var setStmts = []ScriptTest{ Query: "SET autovacuum_vacuum_threshold TO '50'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('autovacuum_vacuum_threshold')", + Expected: []sql.Row{{"50"}}, + }, }, }, { @@ -533,6 +641,10 @@ var setStmts = []ScriptTest{ Query: "SET autovacuum_work_mem TO '-1'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('autovacuum_work_mem')", + Expected: []sql.Row{{"-1"}}, + }, }, }, { @@ -559,6 +671,10 @@ var setStmts = []ScriptTest{ Query: "SHOW backend_flush_after", Expected: []sql.Row{{int64(0)}}, }, + { + Query: "SELECT current_setting('backend_flush_after')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -585,6 +701,10 @@ var setStmts = []ScriptTest{ Query: "SHOW backslash_quote", Expected: []sql.Row{{"safe_encoding"}}, }, + { + Query: "SELECT current_setting('backslash_quote')", + Expected: []sql.Row{{"safe_encoding"}}, + }, }, }, { @@ -611,6 +731,10 @@ var setStmts = []ScriptTest{ Query: "SHOW backtrace_functions", Expected: []sql.Row{{""}}, }, + { + Query: "SELECT current_setting('backtrace_functions')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -625,6 +749,10 @@ var setStmts = []ScriptTest{ Query: "SET bgwriter_delay TO '200'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('bgwriter_delay')", + Expected: []sql.Row{{"200"}}, + }, }, }, { @@ -639,6 +767,10 @@ var setStmts = []ScriptTest{ Query: "SET bgwriter_flush_after TO '0'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('bgwriter_flush_after')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -653,6 +785,10 @@ var setStmts = []ScriptTest{ Query: "SET bgwriter_lru_maxpages TO '100'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('bgwriter_lru_maxpages')", + Expected: []sql.Row{{"100"}}, + }, }, }, { @@ -667,6 +803,10 @@ var setStmts = []ScriptTest{ Query: "SET bgwriter_lru_multiplier TO '2'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('bgwriter_lru_multiplier')", + Expected: []sql.Row{{"2"}}, + }, }, }, { @@ -681,6 +821,10 @@ var setStmts = []ScriptTest{ Query: "SET block_size TO '8192'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('block_size')", + Expected: []sql.Row{{"8192"}}, + }, }, }, { @@ -695,6 +839,10 @@ var setStmts = []ScriptTest{ Query: "SET bonjour TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('bonjour')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -709,6 +857,10 @@ var setStmts = []ScriptTest{ Query: "SET bonjour_name TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('bonjour_name')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -735,6 +887,10 @@ var setStmts = []ScriptTest{ Query: "SHOW bytea_output", Expected: []sql.Row{{"hex"}}, }, + { + Query: "SELECT current_setting('bytea_output')", + Expected: []sql.Row{{"hex"}}, + }, }, }, { @@ -761,6 +917,10 @@ var setStmts = []ScriptTest{ Query: "SHOW check_function_bodies", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('check_function_bodies')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -775,6 +935,10 @@ var setStmts = []ScriptTest{ Query: "SET checkpoint_completion_target TO '0.9'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('checkpoint_completion_target')", + Expected: []sql.Row{{"0.9"}}, + }, }, }, { @@ -789,6 +953,10 @@ var setStmts = []ScriptTest{ Query: "SET checkpoint_flush_after TO '0'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('checkpoint_flush_after')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -803,6 +971,10 @@ var setStmts = []ScriptTest{ Query: "SET checkpoint_timeout TO '300'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('checkpoint_timeout')", + Expected: []sql.Row{{"300"}}, + }, }, }, { @@ -817,6 +989,10 @@ var setStmts = []ScriptTest{ Query: "SET checkpoint_warning TO '30'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('checkpoint_warning')", + Expected: []sql.Row{{"30"}}, + }, }, }, { @@ -843,6 +1019,10 @@ var setStmts = []ScriptTest{ Query: "SHOW client_connection_check_interval", Expected: []sql.Row{{int64(0)}}, }, + { + Query: "SELECT current_setting('client_connection_check_interval')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -869,6 +1049,10 @@ var setStmts = []ScriptTest{ Query: "SHOW client_encoding", Expected: []sql.Row{{"UTF8"}}, }, + { + Query: "SELECT current_setting('client_encoding')", + Expected: []sql.Row{{"UTF8"}}, + }, }, }, { @@ -895,6 +1079,10 @@ var setStmts = []ScriptTest{ Query: "SHOW client_min_messages", Expected: []sql.Row{{"notice"}}, }, + { + Query: "SELECT current_setting('client_min_messages')", + Expected: []sql.Row{{"notice"}}, + }, }, }, { @@ -909,6 +1097,10 @@ var setStmts = []ScriptTest{ Query: "SET cluster_name TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('cluster_name')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -935,6 +1127,10 @@ var setStmts = []ScriptTest{ Query: "SHOW commit_delay", Expected: []sql.Row{{int64(0)}}, }, + { + Query: "SELECT current_setting('commit_delay')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -961,6 +1157,10 @@ var setStmts = []ScriptTest{ Query: "SHOW commit_siblings", Expected: []sql.Row{{int64(5)}}, }, + { + Query: "SELECT current_setting('commit_siblings')", + Expected: []sql.Row{{"5"}}, + }, }, }, { @@ -987,6 +1187,10 @@ var setStmts = []ScriptTest{ Query: "SHOW compute_query_id", Expected: []sql.Row{{"auto"}}, }, + { + Query: "SELECT current_setting('compute_query_id')", + Expected: []sql.Row{{"auto"}}, + }, }, }, { @@ -1001,6 +1205,10 @@ var setStmts = []ScriptTest{ Query: "SET config_file TO '/Users/postgres/postgresql.conf'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('config_file')", + Expected: []sql.Row{{"postgresql.conf"}}, + }, }, }, { @@ -1027,6 +1235,10 @@ var setStmts = []ScriptTest{ Query: "SHOW constraint_exclusion", Expected: []sql.Row{{"partition"}}, }, + { + Query: "SELECT current_setting('constraint_exclusion')", + Expected: []sql.Row{{"partition"}}, + }, }, }, { @@ -1053,6 +1265,10 @@ var setStmts = []ScriptTest{ Query: "SHOW cpu_index_tuple_cost", Expected: []sql.Row{{float64(0.005)}}, }, + { + Query: "SELECT current_setting('cpu_index_tuple_cost')", + Expected: []sql.Row{{"0.005"}}, + }, }, }, { @@ -1079,6 +1295,10 @@ var setStmts = []ScriptTest{ Query: "SHOW cpu_operator_cost", Expected: []sql.Row{{float64(0.0025)}}, }, + { + Query: "SELECT current_setting('cpu_operator_cost')", + Expected: []sql.Row{{"0.0025"}}, + }, }, }, { @@ -1105,6 +1325,10 @@ var setStmts = []ScriptTest{ Query: "SHOW cpu_tuple_cost", Expected: []sql.Row{{float64(0.01)}}, }, + { + Query: "SELECT current_setting('cpu_tuple_cost')", + Expected: []sql.Row{{"0.01"}}, + }, }, }, { @@ -1131,6 +1355,10 @@ var setStmts = []ScriptTest{ Query: "SHOW createrole_self_grant", Expected: []sql.Row{{""}}, }, + { + Query: "SELECT current_setting('createrole_self_grant')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -1157,6 +1385,10 @@ var setStmts = []ScriptTest{ Query: "SHOW cursor_tuple_fraction", Expected: []sql.Row{{float64(0.1)}}, }, + { + Query: "SELECT current_setting('cursor_tuple_fraction')", + Expected: []sql.Row{{"0.1"}}, + }, }, }, { @@ -1171,6 +1403,10 @@ var setStmts = []ScriptTest{ Query: "SET data_checksums TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('data_checksums')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -1185,6 +1421,10 @@ var setStmts = []ScriptTest{ Query: "SET data_directory TO '/Users/postgres'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('data_directory')", + Expected: []sql.Row{{"postgres"}}, + }, }, }, { @@ -1199,6 +1439,10 @@ var setStmts = []ScriptTest{ Query: "SET data_directory_mode TO '448'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('data_directory_mode')", + Expected: []sql.Row{{"448"}}, + }, }, }, { @@ -1213,6 +1457,10 @@ var setStmts = []ScriptTest{ Query: "SET data_sync_retry TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('data_sync_retry')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -1239,6 +1487,10 @@ var setStmts = []ScriptTest{ Query: "SHOW DateStyle", Expected: []sql.Row{{"ISO, MDY"}}, }, + { + Query: "SELECT current_setting('DateStyle')", + Expected: []sql.Row{{"ISO, MDY"}}, + }, }, }, { @@ -1253,6 +1505,10 @@ var setStmts = []ScriptTest{ Query: "SET db_user_namespace TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('db_user_namespace')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -1279,6 +1535,10 @@ var setStmts = []ScriptTest{ Query: "SHOW deadlock_timeout", Expected: []sql.Row{{int64(1000)}}, }, + { + Query: "SELECT current_setting('deadlock_timeout')", + Expected: []sql.Row{{"1000"}}, + }, }, }, { @@ -1293,6 +1553,10 @@ var setStmts = []ScriptTest{ Query: "SET debug_assertions TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('debug_assertions')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -1311,6 +1575,10 @@ var setStmts = []ScriptTest{ Query: "SHOW debug_discard_caches", Expected: []sql.Row{{int64(0)}}, }, + { + Query: "SELECT current_setting('debug_discard_caches')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -1325,6 +1593,10 @@ var setStmts = []ScriptTest{ Query: "SET debug_io_direct TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('debug_io_direct')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -1351,6 +1623,10 @@ var setStmts = []ScriptTest{ Query: "SHOW debug_logical_replication_streaming", Expected: []sql.Row{{"buffered"}}, }, + { + Query: "SELECT current_setting('debug_logical_replication_streaming')", + Expected: []sql.Row{{"buffered"}}, + }, }, }, { @@ -1377,6 +1653,10 @@ var setStmts = []ScriptTest{ Query: "SHOW debug_parallel_query", Expected: []sql.Row{{"off"}}, }, + { + Query: "SELECT current_setting('debug_parallel_query')", + Expected: []sql.Row{{"off"}}, + }, }, }, { @@ -1403,6 +1683,10 @@ var setStmts = []ScriptTest{ Query: "SHOW debug_pretty_print", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('debug_pretty_print')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -1429,6 +1713,10 @@ var setStmts = []ScriptTest{ Query: "SHOW debug_print_parse", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('debug_print_parse')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -1455,6 +1743,10 @@ var setStmts = []ScriptTest{ Query: "SHOW debug_print_plan", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('debug_print_plan')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -1481,6 +1773,10 @@ var setStmts = []ScriptTest{ Query: "SHOW debug_print_rewritten", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('debug_print_rewritten')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -1507,6 +1803,10 @@ var setStmts = []ScriptTest{ Query: "SHOW default_statistics_target", Expected: []sql.Row{{int64(100)}}, }, + { + Query: "SELECT current_setting('default_statistics_target')", + Expected: []sql.Row{{"100"}}, + }, }, }, { @@ -1525,6 +1825,10 @@ var setStmts = []ScriptTest{ Query: "SHOW default_table_access_method", Expected: []sql.Row{{"heap"}}, }, + { + Query: "SELECT current_setting('default_table_access_method')", + Expected: []sql.Row{{"heap"}}, + }, }, }, { @@ -1551,6 +1855,10 @@ var setStmts = []ScriptTest{ Query: "SHOW default_tablespace", Expected: []sql.Row{{""}}, }, + { + Query: "SELECT current_setting('default_tablespace')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -1577,6 +1885,10 @@ var setStmts = []ScriptTest{ Query: "SHOW default_text_search_config", Expected: []sql.Row{{"pg_catalog.english"}}, }, + { + Query: "SELECT current_setting('default_text_search_config')", + Expected: []sql.Row{{"pg_catalog.english"}}, + }, }, }, { @@ -1603,6 +1915,10 @@ var setStmts = []ScriptTest{ Query: "SHOW default_toast_compression", Expected: []sql.Row{{"pglz"}}, }, + { + Query: "SELECT current_setting('default_toast_compression')", + Expected: []sql.Row{{"pglz"}}, + }, }, }, { @@ -1629,6 +1945,10 @@ var setStmts = []ScriptTest{ Query: "SHOW default_transaction_deferrable", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('default_transaction_deferrable')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -1655,6 +1975,10 @@ var setStmts = []ScriptTest{ Query: "SHOW default_transaction_isolation", Expected: []sql.Row{{"read committed"}}, }, + { + Query: "SELECT current_setting('default_transaction_isolation')", + Expected: []sql.Row{{"read committed"}}, + }, }, }, { @@ -1681,6 +2005,10 @@ var setStmts = []ScriptTest{ Query: "SHOW default_transaction_read_only", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('default_transaction_read_only')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -1707,6 +2035,10 @@ var setStmts = []ScriptTest{ Query: "SHOW dynamic_library_path", Expected: []sql.Row{{"$libdir"}}, }, + { + Query: "SELECT current_setting('dynamic_library_path')", + Expected: []sql.Row{{"$libdir"}}, + }, }, }, { @@ -1721,6 +2053,10 @@ var setStmts = []ScriptTest{ Query: "SET dynamic_shared_memory_type TO 'posix'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('dynamic_shared_memory_type')", + Expected: []sql.Row{{"posix"}}, + }, }, }, { @@ -1747,6 +2083,10 @@ var setStmts = []ScriptTest{ Query: "SHOW effective_cache_size", Expected: []sql.Row{{int64(524288)}}, }, + { + Query: "SELECT current_setting('effective_cache_size')", + Expected: []sql.Row{{"524288"}}, + }, }, }, { @@ -1773,6 +2113,10 @@ var setStmts = []ScriptTest{ Query: "SHOW effective_io_concurrency", Expected: []sql.Row{{int64(0)}}, }, + { + Query: "SELECT current_setting('effective_io_concurrency')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -1799,6 +2143,10 @@ var setStmts = []ScriptTest{ Query: "SHOW enable_async_append", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('enable_async_append')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -1825,6 +2173,10 @@ var setStmts = []ScriptTest{ Query: "SHOW enable_bitmapscan", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('enable_bitmapscan')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -1851,6 +2203,10 @@ var setStmts = []ScriptTest{ Query: "SHOW enable_gathermerge", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('enable_gathermerge')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -1877,6 +2233,10 @@ var setStmts = []ScriptTest{ Query: "SHOW enable_hashagg", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('enable_hashagg')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -1903,6 +2263,10 @@ var setStmts = []ScriptTest{ Query: "SHOW enable_hashjoin", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('enable_hashjoin')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -1929,6 +2293,10 @@ var setStmts = []ScriptTest{ Query: "SHOW enable_incremental_sort", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('enable_incremental_sort')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -1955,6 +2323,10 @@ var setStmts = []ScriptTest{ Query: "SHOW enable_indexonlyscan", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('enable_indexonlyscan')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -1981,6 +2353,10 @@ var setStmts = []ScriptTest{ Query: "SHOW enable_indexscan", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('enable_indexscan')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -2007,6 +2383,10 @@ var setStmts = []ScriptTest{ Query: "SHOW enable_material", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('enable_material')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -2033,6 +2413,10 @@ var setStmts = []ScriptTest{ Query: "SHOW enable_memoize", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('enable_memoize')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -2059,6 +2443,10 @@ var setStmts = []ScriptTest{ Query: "SHOW enable_mergejoin", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('enable_mergejoin')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -2085,6 +2473,10 @@ var setStmts = []ScriptTest{ Query: "SHOW enable_nestloop", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('enable_nestloop')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -2111,6 +2503,10 @@ var setStmts = []ScriptTest{ Query: "SHOW enable_parallel_append", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('enable_parallel_append')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -2137,6 +2533,10 @@ var setStmts = []ScriptTest{ Query: "SHOW enable_parallel_hash", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('enable_parallel_hash')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -2163,6 +2563,10 @@ var setStmts = []ScriptTest{ Query: "SHOW enable_partition_pruning", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('enable_partition_pruning')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -2189,6 +2593,10 @@ var setStmts = []ScriptTest{ Query: "SHOW enable_partitionwise_aggregate", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('enable_partitionwise_aggregate')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -2215,6 +2623,10 @@ var setStmts = []ScriptTest{ Query: "SHOW enable_partitionwise_join", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('enable_partitionwise_join')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -2241,6 +2653,10 @@ var setStmts = []ScriptTest{ Query: "SHOW enable_presorted_aggregate", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('enable_presorted_aggregate')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -2267,6 +2683,10 @@ var setStmts = []ScriptTest{ Query: "SHOW enable_seqscan", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('enable_seqscan')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -2293,6 +2713,10 @@ var setStmts = []ScriptTest{ Query: "SHOW enable_sort", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('enable_sort')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -2319,6 +2743,10 @@ var setStmts = []ScriptTest{ Query: "SHOW enable_tidscan", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('enable_tidscan')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -2345,6 +2773,10 @@ var setStmts = []ScriptTest{ Query: "SHOW escape_string_warning", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('escape_string_warning')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -2359,6 +2791,10 @@ var setStmts = []ScriptTest{ Query: "SET event_source TO 'PostgreSQL'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('event_source')", + Expected: []sql.Row{{"PostgreSQL"}}, + }, }, }, { @@ -2385,6 +2821,10 @@ var setStmts = []ScriptTest{ Query: "SHOW exit_on_error", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('exit_on_error')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -2399,6 +2839,10 @@ var setStmts = []ScriptTest{ Query: "SET external_pid_file TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('external_pid_file')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -2425,6 +2869,10 @@ var setStmts = []ScriptTest{ Query: "SHOW extra_float_digits", Expected: []sql.Row{{int64(1)}}, }, + { + Query: "SELECT current_setting('extra_float_digits')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -2451,6 +2899,10 @@ var setStmts = []ScriptTest{ Query: "SHOW from_collapse_limit", Expected: []sql.Row{{int64(8)}}, }, + { + Query: "SELECT current_setting('from_collapse_limit')", + Expected: []sql.Row{{"8"}}, + }, }, }, { @@ -2465,6 +2917,10 @@ var setStmts = []ScriptTest{ Query: "SET fsync TO 'on'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('fsync')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -2479,6 +2935,10 @@ var setStmts = []ScriptTest{ Query: "SET full_page_writes TO 'on'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('full_page_writes')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -2505,6 +2965,10 @@ var setStmts = []ScriptTest{ Query: "SHOW geqo", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('geqo')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -2531,6 +2995,10 @@ var setStmts = []ScriptTest{ Query: "SHOW geqo_effort", Expected: []sql.Row{{int64(5)}}, }, + { + Query: "SELECT current_setting('geqo_effort')", + Expected: []sql.Row{{"5"}}, + }, }, }, { @@ -2557,6 +3025,14 @@ var setStmts = []ScriptTest{ Query: "SHOW geqo_generations", Expected: []sql.Row{{int64(0)}}, }, + { + Query: "SELECT current_setting('geqo_generations')", + Expected: []sql.Row{{"0"}}, + }, + { + Query: "SELECT current_setting('geqo_generations')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -2583,6 +3059,10 @@ var setStmts = []ScriptTest{ Query: "SHOW geqo_pool_size", Expected: []sql.Row{{int64(0)}}, }, + { + Query: "SELECT current_setting('geqo_pool_size')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -2609,6 +3089,10 @@ var setStmts = []ScriptTest{ Query: "SHOW geqo_seed", Expected: []sql.Row{{float64(0)}}, }, + { + Query: "SELECT current_setting('geqo_seed')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -2635,6 +3119,10 @@ var setStmts = []ScriptTest{ Query: "SHOW geqo_selection_bias", Expected: []sql.Row{{float64(2)}}, }, + { + Query: "SELECT current_setting('geqo_selection_bias')", + Expected: []sql.Row{{"2"}}, + }, }, }, { @@ -2661,6 +3149,10 @@ var setStmts = []ScriptTest{ Query: "SHOW geqo_threshold", Expected: []sql.Row{{int64(12)}}, }, + { + Query: "SELECT current_setting('geqo_threshold')", + Expected: []sql.Row{{"12"}}, + }, }, }, { @@ -2687,6 +3179,10 @@ var setStmts = []ScriptTest{ Query: "SHOW gin_fuzzy_search_limit", Expected: []sql.Row{{int64(0)}}, }, + { + Query: "SELECT current_setting('gin_fuzzy_search_limit')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -2713,6 +3209,10 @@ var setStmts = []ScriptTest{ Query: "SHOW gin_pending_list_limit", Expected: []sql.Row{{int64(4096)}}, }, + { + Query: "SELECT current_setting('gin_pending_list_limit')", + Expected: []sql.Row{{"4096"}}, + }, }, }, { @@ -2727,6 +3227,10 @@ var setStmts = []ScriptTest{ Query: "SET gss_accept_delegation TO 'on'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('gss_accept_delegation')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -2753,6 +3257,10 @@ var setStmts = []ScriptTest{ Query: "SHOW hash_mem_multiplier", Expected: []sql.Row{{float64(2)}}, }, + { + Query: "SELECT current_setting('hash_mem_multiplier')", + Expected: []sql.Row{{"2"}}, + }, }, }, { @@ -2767,6 +3275,10 @@ var setStmts = []ScriptTest{ Query: "SET hba_file TO '/Users/postgres/pg_hba.conf'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('hba_file')", + Expected: []sql.Row{{"pg_hba.conf"}}, + }, }, }, { @@ -2781,6 +3293,10 @@ var setStmts = []ScriptTest{ Query: "SET hot_standby TO 'on'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('hot_standby')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -2795,6 +3311,10 @@ var setStmts = []ScriptTest{ Query: "SET hot_standby_feedback TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('hot_standby_feedback')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -2809,6 +3329,10 @@ var setStmts = []ScriptTest{ Query: "SET huge_page_size TO '0'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('huge_page_size')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -2823,6 +3347,10 @@ var setStmts = []ScriptTest{ Query: "SET huge_pages TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('huge_pages')", + Expected: []sql.Row{{"try"}}, + }, }, }, { @@ -2849,6 +3377,10 @@ var setStmts = []ScriptTest{ Query: "SHOW icu_validation_level", Expected: []sql.Row{{"warning"}}, }, + { + Query: "SELECT current_setting('icu_validation_level')", + Expected: []sql.Row{{"warning"}}, + }, }, }, { @@ -2863,6 +3395,10 @@ var setStmts = []ScriptTest{ Query: "SET ident_file TO '/Users/postgres/pg_ident.conf'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('ident_file')", + Expected: []sql.Row{{"pg_ident.conf"}}, + }, }, }, { @@ -2889,6 +3425,10 @@ var setStmts = []ScriptTest{ Query: "SHOW idle_in_transaction_session_timeout", Expected: []sql.Row{{int64(0)}}, }, + { + Query: "SELECT current_setting('idle_in_transaction_session_timeout')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -2915,6 +3455,10 @@ var setStmts = []ScriptTest{ Query: "SHOW idle_session_timeout", Expected: []sql.Row{{int64(0)}}, }, + { + Query: "SELECT current_setting('idle_session_timeout')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -2941,6 +3485,10 @@ var setStmts = []ScriptTest{ Query: "SHOW ignore_checksum_failure", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('ignore_checksum_failure')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -2955,6 +3503,10 @@ var setStmts = []ScriptTest{ Query: "SET ignore_invalid_pages TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('ignore_invalid_pages')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -2969,6 +3521,10 @@ var setStmts = []ScriptTest{ Query: "SET ignore_system_indexes TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('ignore_system_indexes')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -2983,6 +3539,10 @@ var setStmts = []ScriptTest{ Query: "SET in_hot_standby TO 'on'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('in_hot_standby')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -2997,6 +3557,10 @@ var setStmts = []ScriptTest{ Query: "SET integer_datetimes TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('integer_datetimes')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -3023,6 +3587,10 @@ var setStmts = []ScriptTest{ Query: "SHOW IntervalStyle", Expected: []sql.Row{{"postgres"}}, }, + { + Query: "SELECT current_setting('IntervalStyle')", + Expected: []sql.Row{{"postgres"}}, + }, }, }, { @@ -3049,6 +3617,10 @@ var setStmts = []ScriptTest{ Query: "SHOW jit", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('jit')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -3075,6 +3647,10 @@ var setStmts = []ScriptTest{ Query: "SHOW jit_above_cost", Expected: []sql.Row{{float64(100000)}}, }, + { + Query: "SELECT current_setting('jit_above_cost')", + Expected: []sql.Row{{"100000"}}, + }, }, }, { @@ -3089,6 +3665,10 @@ var setStmts = []ScriptTest{ Query: "SET jit_debugging_support TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('jit_debugging_support')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -3115,6 +3695,10 @@ var setStmts = []ScriptTest{ Query: "SHOW jit_dump_bitcode", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('jit_dump_bitcode')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -3141,6 +3725,10 @@ var setStmts = []ScriptTest{ Query: "SHOW jit_expressions", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('jit_expressions')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -3167,6 +3755,10 @@ var setStmts = []ScriptTest{ Query: "SHOW jit_inline_above_cost", Expected: []sql.Row{{float64(500000)}}, }, + { + Query: "SELECT current_setting('jit_inline_above_cost')", + Expected: []sql.Row{{"500000"}}, + }, }, }, { @@ -3193,6 +3785,10 @@ var setStmts = []ScriptTest{ Query: "SHOW jit_optimize_above_cost", Expected: []sql.Row{{float64(500000)}}, }, + { + Query: "SELECT current_setting('jit_optimize_above_cost')", + Expected: []sql.Row{{"500000"}}, + }, }, }, { @@ -3207,6 +3803,10 @@ var setStmts = []ScriptTest{ Query: "SET jit_profiling_support TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('jit_profiling_support')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -3221,6 +3821,10 @@ var setStmts = []ScriptTest{ Query: "SET jit_provider TO 'llvmjit'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('jit_provider')", + Expected: []sql.Row{{"llvmjit"}}, + }, }, }, { @@ -3247,6 +3851,10 @@ var setStmts = []ScriptTest{ Query: "SHOW jit_tuple_deforming", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('jit_tuple_deforming')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -3273,6 +3881,10 @@ var setStmts = []ScriptTest{ Query: "SHOW join_collapse_limit", Expected: []sql.Row{{int64(8)}}, }, + { + Query: "SELECT current_setting('join_collapse_limit')", + Expected: []sql.Row{{"8"}}, + }, }, }, { @@ -3287,6 +3899,10 @@ var setStmts = []ScriptTest{ Query: "SET krb_caseins_users TO 'on'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('krb_caseins_users')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -3301,6 +3917,10 @@ var setStmts = []ScriptTest{ Query: "SET krb_server_keyfile TO 'FILE:'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('krb_server_keyfile')", + Expected: []sql.Row{{"FILE:/usr/local/etc/postgresql/krb5.keytab"}}, + }, }, }, { @@ -3327,6 +3947,10 @@ var setStmts = []ScriptTest{ Query: "SHOW lc_messages", Expected: []sql.Row{{"en_US.UTF-8"}}, }, + { + Query: "SELECT current_setting('lc_messages')", + Expected: []sql.Row{{"en_US.UTF-8"}}, + }, }, }, { @@ -3353,6 +3977,10 @@ var setStmts = []ScriptTest{ Query: "SHOW lc_monetary", Expected: []sql.Row{{"en_US.UTF-8"}}, }, + { + Query: "SELECT current_setting('lc_monetary')", + Expected: []sql.Row{{"en_US.UTF-8"}}, + }, }, }, { @@ -3379,6 +4007,10 @@ var setStmts = []ScriptTest{ Query: "SHOW lc_numeric", Expected: []sql.Row{{"en_US.UTF-8"}}, }, + { + Query: "SELECT current_setting('lc_numeric')", + Expected: []sql.Row{{"en_US.UTF-8"}}, + }, }, }, { @@ -3405,6 +4037,10 @@ var setStmts = []ScriptTest{ Query: "SHOW lc_time", Expected: []sql.Row{{"en_US.UTF-8"}}, }, + { + Query: "SELECT current_setting('lc_time')", + Expected: []sql.Row{{"en_US.UTF-8"}}, + }, }, }, { @@ -3419,6 +4055,10 @@ var setStmts = []ScriptTest{ Query: "SET listen_addresses TO 'localhost'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('listen_addresses')", + Expected: []sql.Row{{"localhost"}}, + }, }, }, { @@ -3445,6 +4085,10 @@ var setStmts = []ScriptTest{ Query: "SHOW lo_compat_privileges", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('lo_compat_privileges')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -3471,6 +4115,10 @@ var setStmts = []ScriptTest{ Query: "SHOW local_preload_libraries", Expected: []sql.Row{{""}}, }, + { + Query: "SELECT current_setting('local_preload_libraries')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -3497,6 +4145,10 @@ var setStmts = []ScriptTest{ Query: "SHOW lock_timeout", Expected: []sql.Row{{int64(0)}}, }, + { + Query: "SELECT current_setting('lock_timeout')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -3511,6 +4163,10 @@ var setStmts = []ScriptTest{ Query: "SET log_autovacuum_min_duration TO '600'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('log_autovacuum_min_duration')", + Expected: []sql.Row{{"-1"}}, + }, }, }, { @@ -3525,6 +4181,10 @@ var setStmts = []ScriptTest{ Query: "SET log_checkpoints TO 'on'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('log_checkpoints')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -3539,6 +4199,10 @@ var setStmts = []ScriptTest{ Query: "SET log_connections TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('log_connections')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -3553,6 +4217,10 @@ var setStmts = []ScriptTest{ Query: "SET log_destination TO 'jsonlog'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('log_destination')", + Expected: []sql.Row{{"stderr"}}, + }, }, }, { @@ -3567,6 +4235,10 @@ var setStmts = []ScriptTest{ Query: "SET log_directory TO 'log'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('log_directory')", + Expected: []sql.Row{{"log"}}, + }, }, }, { @@ -3581,6 +4253,10 @@ var setStmts = []ScriptTest{ Query: "SET log_disconnections TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('log_disconnections')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -3607,6 +4283,10 @@ var setStmts = []ScriptTest{ Query: "SHOW log_duration", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('log_duration')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -3633,6 +4313,10 @@ var setStmts = []ScriptTest{ Query: "SHOW log_error_verbosity", Expected: []sql.Row{{"default"}}, }, + { + Query: "SELECT current_setting('log_error_verbosity')", + Expected: []sql.Row{{"default"}}, + }, }, }, { @@ -3659,6 +4343,10 @@ var setStmts = []ScriptTest{ Query: "SHOW log_executor_stats", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('log_executor_stats')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -3673,6 +4361,10 @@ var setStmts = []ScriptTest{ Query: "SET log_file_mode TO '384'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('log_file_mode')", + Expected: []sql.Row{{"384"}}, + }, }, }, { @@ -3687,6 +4379,10 @@ var setStmts = []ScriptTest{ Query: "SET log_filename TO 'postgresql-%Y-%m-%d_%H%M%S.log'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('log_filename')", + Expected: []sql.Row{{"postgresql-%Y-%m-%d_%H%M%S.log"}}, + }, }, }, { @@ -3701,6 +4397,10 @@ var setStmts = []ScriptTest{ Query: "SET log_hostname TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('log_hostname')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -3715,6 +4415,10 @@ var setStmts = []ScriptTest{ Query: "SET log_line_prefix TO '%m [%p]'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('log_line_prefix')", + Expected: []sql.Row{{"%m [%p]"}}, + }, }, }, { @@ -3741,6 +4445,10 @@ var setStmts = []ScriptTest{ Query: "SHOW log_lock_waits", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('log_lock_waits')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -3767,6 +4475,10 @@ var setStmts = []ScriptTest{ Query: "SHOW log_min_duration_sample", Expected: []sql.Row{{int64(-1)}}, }, + { + Query: "SELECT current_setting('log_min_duration_sample')", + Expected: []sql.Row{{"-1"}}, + }, }, }, { @@ -3793,6 +4505,10 @@ var setStmts = []ScriptTest{ Query: "SHOW log_min_duration_statement", Expected: []sql.Row{{int64(-1)}}, }, + { + Query: "SELECT current_setting('log_min_duration_statement')", + Expected: []sql.Row{{"-1"}}, + }, }, }, { @@ -3819,6 +4535,10 @@ var setStmts = []ScriptTest{ Query: "SHOW log_min_error_statement", Expected: []sql.Row{{"error"}}, }, + { + Query: "SELECT current_setting('log_min_error_statement')", + Expected: []sql.Row{{"error"}}, + }, }, }, { @@ -3845,6 +4565,10 @@ var setStmts = []ScriptTest{ Query: "SHOW log_min_messages", Expected: []sql.Row{{"warning"}}, }, + { + Query: "SELECT current_setting('log_min_messages')", + Expected: []sql.Row{{"warning"}}, + }, }, }, { @@ -3863,6 +4587,10 @@ var setStmts = []ScriptTest{ Query: "SHOW log_parameter_max_length", Expected: []sql.Row{{int64(10)}}, }, + { + Query: "SELECT current_setting('log_parameter_max_length')", + Expected: []sql.Row{{"10"}}, + }, { Query: "SET log_parameter_max_length TO DEFAULT", Expected: []sql.Row{}, @@ -3871,6 +4599,10 @@ var setStmts = []ScriptTest{ Query: "SHOW log_parameter_max_length", Expected: []sql.Row{{int64(-1)}}, }, + { + Query: "SELECT current_setting('log_parameter_max_length')", + Expected: []sql.Row{{"-1"}}, + }, }, }, { @@ -3897,6 +4629,10 @@ var setStmts = []ScriptTest{ Query: "SHOW log_parameter_max_length_on_error", Expected: []sql.Row{{int64(0)}}, }, + { + Query: "SELECT current_setting('log_parameter_max_length_on_error')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -3923,6 +4659,10 @@ var setStmts = []ScriptTest{ Query: "SHOW log_parser_stats", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('log_parser_stats')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -3949,6 +4689,10 @@ var setStmts = []ScriptTest{ Query: "SHOW log_planner_stats", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('log_planner_stats')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -3963,6 +4707,10 @@ var setStmts = []ScriptTest{ Query: "SET log_recovery_conflict_waits TO 'on'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('log_recovery_conflict_waits')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -3989,6 +4737,10 @@ var setStmts = []ScriptTest{ Query: "SHOW log_replication_commands", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('log_replication_commands')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -4003,6 +4755,10 @@ var setStmts = []ScriptTest{ Query: "SET log_rotation_age TO '1440'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('log_rotation_age')", + Expected: []sql.Row{{"1440"}}, + }, }, }, { @@ -4017,6 +4773,10 @@ var setStmts = []ScriptTest{ Query: "SET log_rotation_size TO '10240'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('log_rotation_size')", + Expected: []sql.Row{{"10240"}}, + }, }, }, { @@ -4031,6 +4791,10 @@ var setStmts = []ScriptTest{ Query: "SET log_startup_progress_interval TO '10'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('log_startup_progress_interval')", + Expected: []sql.Row{{"10000"}}, + }, }, }, { @@ -4057,6 +4821,10 @@ var setStmts = []ScriptTest{ Query: "SHOW log_statement", Expected: []sql.Row{{"none"}}, }, + { + Query: "SELECT current_setting('log_statement')", + Expected: []sql.Row{{"none"}}, + }, }, }, { @@ -4083,6 +4851,10 @@ var setStmts = []ScriptTest{ Query: "SHOW log_statement_sample_rate", Expected: []sql.Row{{float64(1)}}, }, + { + Query: "SELECT current_setting('log_statement_sample_rate')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -4109,6 +4881,10 @@ var setStmts = []ScriptTest{ Query: "SHOW log_statement_stats", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('log_statement_stats')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -4135,6 +4911,10 @@ var setStmts = []ScriptTest{ Query: "SHOW log_temp_files", Expected: []sql.Row{{int64(-1)}}, }, + { + Query: "SELECT current_setting('log_temp_files')", + Expected: []sql.Row{{"-1"}}, + }, }, }, { @@ -4149,6 +4929,10 @@ var setStmts = []ScriptTest{ Query: "SET log_timezone TO 'America/Los_Angeles'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('log_timezone')", + Expected: []sql.Row{{"America/Los_Angeles"}}, + }, }, }, { @@ -4175,6 +4959,10 @@ var setStmts = []ScriptTest{ Query: "SHOW log_transaction_sample_rate", Expected: []sql.Row{{float64(0)}}, }, + { + Query: "SELECT current_setting('log_transaction_sample_rate')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -4189,6 +4977,10 @@ var setStmts = []ScriptTest{ Query: "SET log_truncate_on_rotation TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('log_truncate_on_rotation')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -4203,6 +4995,10 @@ var setStmts = []ScriptTest{ Query: "SET logging_collector TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('logging_collector')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -4229,6 +5025,10 @@ var setStmts = []ScriptTest{ Query: "SHOW logical_decoding_work_mem", Expected: []sql.Row{{int64(65536)}}, }, + { + Query: "SELECT current_setting('logical_decoding_work_mem')", + Expected: []sql.Row{{"65536"}}, + }, }, }, { @@ -4255,6 +5055,10 @@ var setStmts = []ScriptTest{ Query: "SHOW maintenance_io_concurrency", Expected: []sql.Row{{int64(0)}}, }, + { + Query: "SELECT current_setting('maintenance_io_concurrency')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -4281,6 +5085,10 @@ var setStmts = []ScriptTest{ Query: "SHOW maintenance_work_mem", Expected: []sql.Row{{int64(65536)}}, }, + { + Query: "SELECT current_setting('maintenance_work_mem')", + Expected: []sql.Row{{"65536"}}, + }, }, }, { @@ -4295,6 +5103,10 @@ var setStmts = []ScriptTest{ Query: "SET max_connections TO '150'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('max_connections')", + Expected: []sql.Row{{"100"}}, + }, }, }, { @@ -4309,6 +5121,10 @@ var setStmts = []ScriptTest{ Query: "SET max_files_per_process TO '1000'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('max_files_per_process')", + Expected: []sql.Row{{"1000"}}, + }, }, }, { @@ -4323,6 +5139,10 @@ var setStmts = []ScriptTest{ Query: "SET max_function_args TO '100'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('max_function_args')", + Expected: []sql.Row{{"100"}}, + }, }, }, { @@ -4337,6 +5157,10 @@ var setStmts = []ScriptTest{ Query: "SET max_identifier_length TO '63'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('max_identifier_length')", + Expected: []sql.Row{{"63"}}, + }, }, }, { @@ -4351,6 +5175,10 @@ var setStmts = []ScriptTest{ Query: "SET max_index_keys TO '32'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('max_index_keys')", + Expected: []sql.Row{{"32"}}, + }, }, }, { @@ -4365,6 +5193,10 @@ var setStmts = []ScriptTest{ Query: "SET max_locks_per_transaction TO '64'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('max_locks_per_transaction')", + Expected: []sql.Row{{"64"}}, + }, }, }, { @@ -4379,6 +5211,10 @@ var setStmts = []ScriptTest{ Query: "SET max_logical_replication_workers TO '4'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('max_logical_replication_workers')", + Expected: []sql.Row{{"4"}}, + }, }, }, { @@ -4393,6 +5229,10 @@ var setStmts = []ScriptTest{ Query: "SET max_parallel_apply_workers_per_subscription TO '2'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('max_parallel_apply_workers_per_subscription')", + Expected: []sql.Row{{"2"}}, + }, }, }, { @@ -4419,6 +5259,10 @@ var setStmts = []ScriptTest{ Query: "SHOW max_parallel_maintenance_workers", Expected: []sql.Row{{int64(2)}}, }, + { + Query: "SELECT current_setting('max_parallel_maintenance_workers')", + Expected: []sql.Row{{"2"}}, + }, }, }, { @@ -4445,6 +5289,10 @@ var setStmts = []ScriptTest{ Query: "SHOW max_parallel_workers", Expected: []sql.Row{{int64(8)}}, }, + { + Query: "SELECT current_setting('max_parallel_workers')", + Expected: []sql.Row{{"8"}}, + }, }, }, { @@ -4471,6 +5319,10 @@ var setStmts = []ScriptTest{ Query: "SHOW max_parallel_workers_per_gather", Expected: []sql.Row{{int64(2)}}, }, + { + Query: "SELECT current_setting('max_parallel_workers_per_gather')", + Expected: []sql.Row{{"2"}}, + }, }, }, { @@ -4485,6 +5337,10 @@ var setStmts = []ScriptTest{ Query: "SET max_pred_locks_per_page TO '2'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('max_pred_locks_per_page')", + Expected: []sql.Row{{"2"}}, + }, }, }, { @@ -4499,6 +5355,10 @@ var setStmts = []ScriptTest{ Query: "SET max_pred_locks_per_relation TO '-2'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('max_pred_locks_per_relation')", + Expected: []sql.Row{{"-2"}}, + }, }, }, { @@ -4513,6 +5373,10 @@ var setStmts = []ScriptTest{ Query: "SET max_pred_locks_per_transaction TO '64'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('max_pred_locks_per_transaction')", + Expected: []sql.Row{{"64"}}, + }, }, }, { @@ -4527,6 +5391,10 @@ var setStmts = []ScriptTest{ Query: "SET max_prepared_transactions TO '0'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('max_prepared_transactions')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -4541,6 +5409,10 @@ var setStmts = []ScriptTest{ Query: "SET max_replication_slots TO '10'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('max_replication_slots')", + Expected: []sql.Row{{"10"}}, + }, }, }, { @@ -4555,6 +5427,10 @@ var setStmts = []ScriptTest{ Query: "SET max_slot_wal_keep_size TO '-1'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('max_slot_wal_keep_size')", + Expected: []sql.Row{{"-1"}}, + }, }, }, { @@ -4581,6 +5457,10 @@ var setStmts = []ScriptTest{ Query: "SHOW max_stack_depth", Expected: []sql.Row{{int64(2048)}}, }, + { + Query: "SELECT current_setting('max_stack_depth')", + Expected: []sql.Row{{"2048"}}, + }, }, }, { @@ -4595,6 +5475,10 @@ var setStmts = []ScriptTest{ Query: "SET max_standby_archive_delay TO '30'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('max_standby_archive_delay')", + Expected: []sql.Row{{"30000"}}, + }, }, }, { @@ -4609,6 +5493,10 @@ var setStmts = []ScriptTest{ Query: "SET max_standby_streaming_delay TO '30'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('max_standby_streaming_delay')", + Expected: []sql.Row{{"30000"}}, + }, }, }, { @@ -4623,6 +5511,10 @@ var setStmts = []ScriptTest{ Query: "SET max_sync_workers_per_subscription TO '2'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('max_sync_workers_per_subscription')", + Expected: []sql.Row{{"2"}}, + }, }, }, { @@ -4637,6 +5529,10 @@ var setStmts = []ScriptTest{ Query: "SET max_wal_senders TO '10'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('max_wal_senders')", + Expected: []sql.Row{{"10"}}, + }, }, }, { @@ -4651,6 +5547,10 @@ var setStmts = []ScriptTest{ Query: "SET max_wal_size TO '1000'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('max_wal_size')", + Expected: []sql.Row{{"1024"}}, + }, }, }, { @@ -4665,7 +5565,11 @@ var setStmts = []ScriptTest{ Query: "SET max_worker_processes TO '8'", ExpectedErr: "is a read only variable", }, - }, + { + Query: "SELECT current_setting('max_worker_processes')", + Expected: []sql.Row{{"8"}}, + }, + }, }, { Name: "set 'min_dynamic_shared_memory' configuration variable", @@ -4679,6 +5583,10 @@ var setStmts = []ScriptTest{ Query: "SET min_dynamic_shared_memory TO '0'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('min_dynamic_shared_memory')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -4705,6 +5613,10 @@ var setStmts = []ScriptTest{ Query: "SHOW min_parallel_index_scan_size", Expected: []sql.Row{{int64(1024)}}, }, + { + Query: "SELECT current_setting('min_parallel_index_scan_size')", + Expected: []sql.Row{{"1024"}}, + }, }, }, { @@ -4731,6 +5643,10 @@ var setStmts = []ScriptTest{ Query: "SHOW min_parallel_table_scan_size", Expected: []sql.Row{{int64(1024)}}, }, + { + Query: "SELECT current_setting('min_parallel_table_scan_size')", + Expected: []sql.Row{{"1024"}}, + }, }, }, { @@ -4745,6 +5661,10 @@ var setStmts = []ScriptTest{ Query: "SET min_wal_size TO '8000'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('min_wal_size')", + Expected: []sql.Row{{"80"}}, + }, }, }, { @@ -4759,6 +5679,10 @@ var setStmts = []ScriptTest{ Query: "SET old_snapshot_threshold TO '-1'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('old_snapshot_threshold')", + Expected: []sql.Row{{"-1"}}, + }, }, }, { @@ -4785,6 +5709,10 @@ var setStmts = []ScriptTest{ Query: "SHOW parallel_leader_participation", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('parallel_leader_participation')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -4811,6 +5739,10 @@ var setStmts = []ScriptTest{ Query: "SHOW parallel_setup_cost", Expected: []sql.Row{{float64(1000)}}, }, + { + Query: "SELECT current_setting('parallel_setup_cost')", + Expected: []sql.Row{{"1000"}}, + }, }, }, { @@ -4837,6 +5769,10 @@ var setStmts = []ScriptTest{ Query: "SHOW parallel_tuple_cost", Expected: []sql.Row{{float64(0.1)}}, }, + { + Query: "SELECT current_setting('parallel_tuple_cost')", + Expected: []sql.Row{{"0.1"}}, + }, }, }, { @@ -4863,6 +5799,10 @@ var setStmts = []ScriptTest{ Query: "SHOW password_encryption", Expected: []sql.Row{{"scram-sha-256"}}, }, + { + Query: "SELECT current_setting('password_encryption')", + Expected: []sql.Row{{"scram-sha-256"}}, + }, }, }, { @@ -4889,6 +5829,10 @@ var setStmts = []ScriptTest{ Query: "SHOW plan_cache_mode", Expected: []sql.Row{{"auto"}}, }, + { + Query: "SELECT current_setting('plan_cache_mode')", + Expected: []sql.Row{{"auto"}}, + }, }, }, { @@ -4903,6 +5847,10 @@ var setStmts = []ScriptTest{ Query: "SET port TO '5432'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('port')", + Expected: []sql.Row{{"5432"}}, + }, }, }, { @@ -4917,6 +5865,10 @@ var setStmts = []ScriptTest{ Query: "SET post_auth_delay TO '0'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('post_auth_delay')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -4931,6 +5883,10 @@ var setStmts = []ScriptTest{ Query: "SET pre_auth_delay TO '0'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('pre_auth_delay')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -4945,6 +5901,10 @@ var setStmts = []ScriptTest{ Query: "SET primary_conninfo TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('primary_conninfo')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -4959,6 +5919,10 @@ var setStmts = []ScriptTest{ Query: "SET primary_slot_name TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('primary_slot_name')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -4985,6 +5949,10 @@ var setStmts = []ScriptTest{ Query: "SHOW quote_all_identifiers", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('quote_all_identifiers')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -5011,6 +5979,10 @@ var setStmts = []ScriptTest{ Query: "SHOW random_page_cost", Expected: []sql.Row{{float64(4)}}, }, + { + Query: "SELECT current_setting('random_page_cost')", + Expected: []sql.Row{{"4"}}, + }, }, }, { @@ -5025,6 +5997,10 @@ var setStmts = []ScriptTest{ Query: "SET recovery_end_command TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('recovery_end_command')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -5039,6 +6015,10 @@ var setStmts = []ScriptTest{ Query: "SET recovery_init_sync_method TO 'fsync'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('recovery_init_sync_method')", + Expected: []sql.Row{{"fsync"}}, + }, }, }, { @@ -5053,6 +6033,10 @@ var setStmts = []ScriptTest{ Query: "SET recovery_min_apply_delay TO '0'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('recovery_min_apply_delay')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -5067,6 +6051,10 @@ var setStmts = []ScriptTest{ Query: "SET recovery_prefetch TO 'try'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('recovery_prefetch')", + Expected: []sql.Row{{"try"}}, + }, }, }, { @@ -5081,6 +6069,10 @@ var setStmts = []ScriptTest{ Query: "SET recovery_target TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('recovery_target')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -5095,6 +6087,10 @@ var setStmts = []ScriptTest{ Query: "SET recovery_target_action TO 'pause'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('recovery_target_action')", + Expected: []sql.Row{{"pause"}}, + }, }, }, { @@ -5109,6 +6105,10 @@ var setStmts = []ScriptTest{ Query: "SET recovery_target_inclusive TO 'on'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('recovery_target_inclusive')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -5123,6 +6123,10 @@ var setStmts = []ScriptTest{ Query: "SET recovery_target_lsn TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('recovery_target_lsn')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -5137,6 +6141,10 @@ var setStmts = []ScriptTest{ Query: "SET recovery_target_name TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('recovery_target_name')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -5151,6 +6159,10 @@ var setStmts = []ScriptTest{ Query: "SET recovery_target_time TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('recovery_target_time')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -5165,6 +6177,10 @@ var setStmts = []ScriptTest{ Query: "SET recovery_target_timeline TO 'latest'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('recovery_target_timeline')", + Expected: []sql.Row{{"latest"}}, + }, }, }, { @@ -5179,6 +6195,10 @@ var setStmts = []ScriptTest{ Query: "SET recovery_target_xid TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('recovery_target_xid')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -5205,6 +6225,10 @@ var setStmts = []ScriptTest{ Query: "SHOW recursive_worktable_factor", Expected: []sql.Row{{float64(10)}}, }, + { + Query: "SELECT current_setting('recursive_worktable_factor')", + Expected: []sql.Row{{"10"}}, + }, }, }, { @@ -5219,6 +6243,10 @@ var setStmts = []ScriptTest{ Query: "SET remove_temp_files_after_crash TO 'on'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('remove_temp_files_after_crash')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -5233,6 +6261,10 @@ var setStmts = []ScriptTest{ Query: "SET reserved_connections TO '0'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('reserved_connections')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -5247,6 +6279,10 @@ var setStmts = []ScriptTest{ Query: "SET restart_after_crash TO 'on'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('restart_after_crash')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -5261,6 +6297,10 @@ var setStmts = []ScriptTest{ Query: "SET restore_command TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('restore_command')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -5287,6 +6327,10 @@ var setStmts = []ScriptTest{ Query: "SHOW row_security", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('row_security')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -5313,6 +6357,10 @@ var setStmts = []ScriptTest{ Query: "SHOW scram_iterations", Expected: []sql.Row{{int64(4096)}}, }, + { + Query: "SELECT current_setting('scram_iterations')", + Expected: []sql.Row{{"4096"}}, + }, }, }, { @@ -5339,6 +6387,10 @@ var setStmts = []ScriptTest{ Query: "SHOW search_path", Expected: []sql.Row{{"\"$user\", public,"}}, }, + { + Query: "SELECT current_setting('search_path')", + Expected: []sql.Row{{"\"$user\", public,"}}, + }, }, }, { @@ -5353,6 +6405,10 @@ var setStmts = []ScriptTest{ Query: "SET segment_size TO '131072'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('segment_size')", + Expected: []sql.Row{{"131072"}}, + }, }, }, { @@ -5367,6 +6423,10 @@ var setStmts = []ScriptTest{ Query: "SET send_abort_for_crash TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('send_abort_for_crash')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -5381,6 +6441,10 @@ var setStmts = []ScriptTest{ Query: "SET send_abort_for_kill TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('send_abort_for_kill')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -5395,6 +6459,10 @@ var setStmts = []ScriptTest{ Query: "SET seq_page_cost TO '1'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('seq_page_cost')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -5409,6 +6477,10 @@ var setStmts = []ScriptTest{ Query: "SET server_encoding TO 'UTF8'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('server_encoding')", + Expected: []sql.Row{{"UTF8"}}, + }, }, }, { @@ -5423,6 +6495,10 @@ var setStmts = []ScriptTest{ Query: "SET server_version TO '16.1 (Homebrew)'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('server_version')", + Expected: []sql.Row{{"16.1 (Homebrew)"}}, + }, }, }, { @@ -5437,6 +6513,10 @@ var setStmts = []ScriptTest{ Query: "SET server_version_num TO '160001'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('server_version_num')", + Expected: []sql.Row{{"160001"}}, + }, }, }, { @@ -5463,6 +6543,10 @@ var setStmts = []ScriptTest{ Query: "SHOW session_preload_libraries", Expected: []sql.Row{{""}}, }, + { + Query: "SELECT current_setting('session_preload_libraries')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -5489,6 +6573,10 @@ var setStmts = []ScriptTest{ Query: "SHOW session_replication_role", Expected: []sql.Row{{"origin"}}, }, + { + Query: "SELECT current_setting('session_replication_role')", + Expected: []sql.Row{{"origin"}}, + }, }, }, { @@ -5503,6 +6591,10 @@ var setStmts = []ScriptTest{ Query: "SET shared_buffers TO '128000'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('shared_buffers')", + Expected: []sql.Row{{"16384"}}, + }, }, }, { @@ -5517,6 +6609,10 @@ var setStmts = []ScriptTest{ Query: "SET shared_memory_size TO '143000'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('shared_memory_size')", + Expected: []sql.Row{{"143"}}, + }, }, }, { @@ -5531,6 +6627,10 @@ var setStmts = []ScriptTest{ Query: "SET shared_memory_size_in_huge_pages TO '-1'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('shared_memory_size_in_huge_pages')", + Expected: []sql.Row{{"-1"}}, + }, }, }, { @@ -5545,6 +6645,10 @@ var setStmts = []ScriptTest{ Query: "SET shared_memory_type TO 'mmap'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('shared_memory_type')", + Expected: []sql.Row{{"mmap"}}, + }, }, }, { @@ -5559,6 +6663,10 @@ var setStmts = []ScriptTest{ Query: "SET shared_preload_libraries TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('shared_preload_libraries')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -5573,6 +6681,10 @@ var setStmts = []ScriptTest{ Query: "SET ssl TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('ssl')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -5587,6 +6699,10 @@ var setStmts = []ScriptTest{ Query: "SET ssl_ca_file TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('ssl_ca_file')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -5601,6 +6717,10 @@ var setStmts = []ScriptTest{ Query: "SET ssl_cert_file TO 'server.crt'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('ssl_cert_file')", + Expected: []sql.Row{{"server.crt"}}, + }, }, }, { @@ -5615,6 +6735,10 @@ var setStmts = []ScriptTest{ Query: "SET ssl_ciphers TO 'HIGH:MEDIUM:'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('ssl_ciphers')", + Expected: []sql.Row{{"HIGH:MEDIUM:+3DES:!aNULL"}}, + }, }, }, { @@ -5629,6 +6753,10 @@ var setStmts = []ScriptTest{ Query: "SET ssl_crl_dir TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('ssl_crl_dir')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -5643,6 +6771,10 @@ var setStmts = []ScriptTest{ Query: "SET ssl_crl_file TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('ssl_crl_file')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -5657,6 +6789,10 @@ var setStmts = []ScriptTest{ Query: "SET ssl_dh_params_file TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('ssl_dh_params_file')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -5671,6 +6807,10 @@ var setStmts = []ScriptTest{ Query: "SET ssl_ecdh_curve TO 'prime256v1'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('ssl_ecdh_curve')", + Expected: []sql.Row{{"prime256v1"}}, + }, }, }, { @@ -5685,6 +6825,10 @@ var setStmts = []ScriptTest{ Query: "SET ssl_key_file TO 'server.key'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('ssl_key_file')", + Expected: []sql.Row{{"server.key"}}, + }, }, }, { @@ -5699,6 +6843,10 @@ var setStmts = []ScriptTest{ Query: "SET ssl_library TO 'OpenSSL'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('ssl_library')", + Expected: []sql.Row{{"OpenSSL"}}, + }, }, }, { @@ -5713,6 +6861,10 @@ var setStmts = []ScriptTest{ Query: "SET ssl_max_protocol_version TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('ssl_max_protocol_version')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -5727,6 +6879,10 @@ var setStmts = []ScriptTest{ Query: "SET ssl_min_protocol_version TO 'TLSv1.2'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('ssl_min_protocol_version')", + Expected: []sql.Row{{"TLSv1.2"}}, + }, }, }, { @@ -5741,6 +6897,10 @@ var setStmts = []ScriptTest{ Query: "SET ssl_passphrase_command TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('ssl_passphrase_command')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -5755,6 +6915,10 @@ var setStmts = []ScriptTest{ Query: "SET ssl_passphrase_command_supports_reload TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('ssl_passphrase_command_supports_reload')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -5769,6 +6933,10 @@ var setStmts = []ScriptTest{ Query: "SET ssl_prefer_server_ciphers TO 'on'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('ssl_prefer_server_ciphers')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -5795,6 +6963,10 @@ var setStmts = []ScriptTest{ Query: "SHOW standard_conforming_strings", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('standard_conforming_strings')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -5813,6 +6985,10 @@ var setStmts = []ScriptTest{ Query: "SHOW statement_timeout", Expected: []sql.Row{{int64(42)}}, }, + { + Query: "SELECT current_setting('statement_timeout')", + Expected: []sql.Row{{"42"}}, + }, }, }, { @@ -5839,6 +7015,10 @@ var setStmts = []ScriptTest{ Query: "SHOW stats_fetch_consistency", Expected: []sql.Row{{"cache"}}, }, + { + Query: "SELECT current_setting('stats_fetch_consistency')", + Expected: []sql.Row{{"cache"}}, + }, }, }, { @@ -5853,6 +7033,10 @@ var setStmts = []ScriptTest{ Query: "SET superuser_reserved_connections TO '3'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('superuser_reserved_connections')", + Expected: []sql.Row{{"3"}}, + }, }, }, { @@ -5879,6 +7063,10 @@ var setStmts = []ScriptTest{ Query: "SHOW synchronize_seqscans", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('synchronize_seqscans')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -5905,6 +7093,10 @@ var setStmts = []ScriptTest{ Query: "SHOW synchronous_commit", Expected: []sql.Row{{"on"}}, }, + { + Query: "SELECT current_setting('synchronous_commit')", + Expected: []sql.Row{{"on"}}, + }, }, }, { @@ -5919,6 +7111,10 @@ var setStmts = []ScriptTest{ Query: "SET synchronous_standby_names TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('synchronous_standby_names')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -5933,6 +7129,10 @@ var setStmts = []ScriptTest{ Query: "SET syslog_facility TO 'local0'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('syslog_facility')", + Expected: []sql.Row{{"local0"}}, + }, }, }, { @@ -5947,6 +7147,10 @@ var setStmts = []ScriptTest{ Query: "SET syslog_ident TO 'postgres'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('syslog_ident')", + Expected: []sql.Row{{"postgres"}}, + }, }, }, { @@ -5961,6 +7165,10 @@ var setStmts = []ScriptTest{ Query: "SET syslog_sequence_numbers TO 'on'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('syslog_sequence_numbers')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -5975,6 +7183,10 @@ var setStmts = []ScriptTest{ Query: "SET syslog_split_messages TO 'on'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('syslog_split_messages')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -6001,6 +7213,10 @@ var setStmts = []ScriptTest{ Query: "SHOW tcp_keepalives_count", Expected: []sql.Row{{int64(0)}}, }, + { + Query: "SELECT current_setting('tcp_keepalives_count')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -6027,6 +7243,10 @@ var setStmts = []ScriptTest{ Query: "SHOW tcp_keepalives_idle", Expected: []sql.Row{{int64(0)}}, }, + { + Query: "SELECT current_setting('tcp_keepalives_idle')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -6053,6 +7273,10 @@ var setStmts = []ScriptTest{ Query: "SHOW tcp_keepalives_interval", Expected: []sql.Row{{int64(0)}}, }, + { + Query: "SELECT current_setting('tcp_keepalives_interval')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -6079,6 +7303,10 @@ var setStmts = []ScriptTest{ Query: "SHOW tcp_user_timeout", Expected: []sql.Row{{int64(0)}}, }, + { + Query: "SELECT current_setting('tcp_user_timeout')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -6105,6 +7333,10 @@ var setStmts = []ScriptTest{ Query: "SHOW temp_buffers", Expected: []sql.Row{{int64(1024)}}, }, + { + Query: "SELECT current_setting('temp_buffers')", + Expected: []sql.Row{{"1024"}}, + }, }, }, { @@ -6131,6 +7363,10 @@ var setStmts = []ScriptTest{ Query: "SHOW temp_file_limit", Expected: []sql.Row{{int64(-1)}}, }, + { + Query: "SELECT current_setting('temp_file_limit')", + Expected: []sql.Row{{"-1"}}, + }, }, }, { @@ -6157,6 +7393,10 @@ var setStmts = []ScriptTest{ Query: "SHOW temp_tablespaces", Expected: []sql.Row{{""}}, }, + { + Query: "SELECT current_setting('temp_tablespaces')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -6183,6 +7423,10 @@ var setStmts = []ScriptTest{ Query: "SHOW TimeZone", Expected: []sql.Row{{"America/Los_Angeles"}}, }, + { + Query: "SELECT current_setting('TimeZone')", + Expected: []sql.Row{{"America/Los_Angeles"}}, + }, }, }, { @@ -6209,6 +7453,10 @@ var setStmts = []ScriptTest{ Query: "SHOW timezone_abbreviations", Expected: []sql.Row{{"Default"}}, }, + { + Query: "SELECT current_setting('timezone_abbreviations')", + Expected: []sql.Row{{"Default"}}, + }, }, }, { @@ -6235,6 +7483,10 @@ var setStmts = []ScriptTest{ Query: "SHOW trace_notify", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('trace_notify')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -6249,6 +7501,10 @@ var setStmts = []ScriptTest{ Query: "SET trace_recovery_messages TO 'log'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('trace_recovery_messages')", + Expected: []sql.Row{{"log"}}, + }, }, }, { @@ -6275,6 +7531,10 @@ var setStmts = []ScriptTest{ Query: "SHOW trace_sort", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('trace_sort')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -6301,6 +7561,10 @@ var setStmts = []ScriptTest{ Query: "SHOW track_activities", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('track_activities')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -6315,6 +7579,10 @@ var setStmts = []ScriptTest{ Query: "SET track_activity_query_size TO '1024'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('track_activity_query_size')", + Expected: []sql.Row{{"1024"}}, + }, }, }, { @@ -6329,6 +7597,10 @@ var setStmts = []ScriptTest{ Query: "SET track_commit_timestamp TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('track_commit_timestamp')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -6355,6 +7627,10 @@ var setStmts = []ScriptTest{ Query: "SHOW track_counts", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('track_counts')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -6381,6 +7657,10 @@ var setStmts = []ScriptTest{ Query: "SHOW track_functions", Expected: []sql.Row{{"none"}}, }, + { + Query: "SELECT current_setting('track_functions')", + Expected: []sql.Row{{"none"}}, + }, }, }, { @@ -6407,6 +7687,10 @@ var setStmts = []ScriptTest{ Query: "SHOW track_io_timing", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('track_io_timing')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -6433,6 +7717,10 @@ var setStmts = []ScriptTest{ Query: "SHOW track_wal_io_timing", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('track_wal_io_timing')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -6459,6 +7747,10 @@ var setStmts = []ScriptTest{ Query: "SHOW transaction_deferrable", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('transaction_deferrable')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -6485,6 +7777,10 @@ var setStmts = []ScriptTest{ Query: "SHOW transaction_isolation", Expected: []sql.Row{{"read committed"}}, }, + { + Query: "SELECT current_setting('transaction_isolation')", + Expected: []sql.Row{{"read committed"}}, + }, }, }, { @@ -6511,6 +7807,10 @@ var setStmts = []ScriptTest{ Query: "SHOW transaction_read_only", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('transaction_read_only')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -6537,6 +7837,10 @@ var setStmts = []ScriptTest{ Query: "SHOW transform_null_equals", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('transform_null_equals')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -6551,6 +7855,10 @@ var setStmts = []ScriptTest{ Query: "SET unix_socket_directories TO '/tmp'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('unix_socket_directories')", + Expected: []sql.Row{{"/tmp"}}, + }, }, }, { @@ -6565,6 +7873,10 @@ var setStmts = []ScriptTest{ Query: "SET unix_socket_group TO ''", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('unix_socket_group')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -6579,6 +7891,10 @@ var setStmts = []ScriptTest{ Query: "SET unix_socket_permissions TO '511'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('unix_socket_permissions')", + Expected: []sql.Row{{"511"}}, + }, }, }, { @@ -6605,6 +7921,10 @@ var setStmts = []ScriptTest{ Query: "SHOW update_process_title", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('update_process_title')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -6631,6 +7951,10 @@ var setStmts = []ScriptTest{ Query: "SHOW vacuum_buffer_usage_limit", Expected: []sql.Row{{int64(256)}}, }, + { + Query: "SELECT current_setting('vacuum_buffer_usage_limit')", + Expected: []sql.Row{{"256"}}, + }, }, }, { @@ -6657,6 +7981,10 @@ var setStmts = []ScriptTest{ Query: "SHOW vacuum_cost_delay", Expected: []sql.Row{{float64(0)}}, }, + { + Query: "SELECT current_setting('vacuum_cost_delay')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -6683,6 +8011,10 @@ var setStmts = []ScriptTest{ Query: "SHOW vacuum_cost_limit", Expected: []sql.Row{{int64(200)}}, }, + { + Query: "SELECT current_setting('vacuum_cost_limit')", + Expected: []sql.Row{{"200"}}, + }, }, }, { @@ -6709,6 +8041,10 @@ var setStmts = []ScriptTest{ Query: "SHOW vacuum_cost_page_dirty", Expected: []sql.Row{{int64(20)}}, }, + { + Query: "SELECT current_setting('vacuum_cost_page_dirty')", + Expected: []sql.Row{{"20"}}, + }, }, }, { @@ -6735,6 +8071,10 @@ var setStmts = []ScriptTest{ Query: "SHOW vacuum_cost_page_hit", Expected: []sql.Row{{int64(1)}}, }, + { + Query: "SELECT current_setting('vacuum_cost_page_hit')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -6761,6 +8101,10 @@ var setStmts = []ScriptTest{ Query: "SHOW vacuum_cost_page_miss", Expected: []sql.Row{{int64(2)}}, }, + { + Query: "SELECT current_setting('vacuum_cost_page_miss')", + Expected: []sql.Row{{"2"}}, + }, }, }, { @@ -6787,6 +8131,10 @@ var setStmts = []ScriptTest{ Query: "SHOW vacuum_failsafe_age", Expected: []sql.Row{{int64(1600000000)}}, }, + { + Query: "SELECT current_setting('vacuum_failsafe_age')", + Expected: []sql.Row{{"1600000000"}}, + }, }, }, { @@ -6813,6 +8161,10 @@ var setStmts = []ScriptTest{ Query: "SHOW vacuum_freeze_min_age", Expected: []sql.Row{{int64(50000000)}}, }, + { + Query: "SELECT current_setting('vacuum_freeze_min_age')", + Expected: []sql.Row{{"50000000"}}, + }, }, }, { @@ -6839,6 +8191,10 @@ var setStmts = []ScriptTest{ Query: "SHOW vacuum_freeze_table_age", Expected: []sql.Row{{int64(150000000)}}, }, + { + Query: "SELECT current_setting('vacuum_freeze_table_age')", + Expected: []sql.Row{{"150000000"}}, + }, }, }, { @@ -6865,6 +8221,10 @@ var setStmts = []ScriptTest{ Query: "SHOW vacuum_multixact_failsafe_age", Expected: []sql.Row{{int64(1600000000)}}, }, + { + Query: "SELECT current_setting('vacuum_multixact_failsafe_age')", + Expected: []sql.Row{{"1600000000"}}, + }, }, }, { @@ -6891,6 +8251,10 @@ var setStmts = []ScriptTest{ Query: "SHOW vacuum_multixact_freeze_min_age", Expected: []sql.Row{{int64(5000000)}}, }, + { + Query: "SELECT current_setting('vacuum_multixact_freeze_min_age')", + Expected: []sql.Row{{"5000000"}}, + }, }, }, { @@ -6917,6 +8281,10 @@ var setStmts = []ScriptTest{ Query: "SHOW vacuum_multixact_freeze_table_age", Expected: []sql.Row{{int64(150000000)}}, }, + { + Query: "SELECT current_setting('vacuum_multixact_freeze_table_age')", + Expected: []sql.Row{{"150000000"}}, + }, }, }, { @@ -6931,6 +8299,10 @@ var setStmts = []ScriptTest{ Query: "SET wal_block_size TO '8192'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('wal_block_size')", + Expected: []sql.Row{{"8192"}}, + }, }, }, { @@ -6945,6 +8317,10 @@ var setStmts = []ScriptTest{ Query: "SET wal_buffers TO '4000'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('wal_buffers')", + Expected: []sql.Row{{"512"}}, + }, }, }, { @@ -6971,6 +8347,10 @@ var setStmts = []ScriptTest{ Query: "SHOW wal_compression", Expected: []sql.Row{{"off"}}, }, + { + Query: "SELECT current_setting('wal_compression')", + Expected: []sql.Row{{"off"}}, + }, }, }, { @@ -6997,6 +8377,10 @@ var setStmts = []ScriptTest{ Query: "SHOW wal_consistency_checking", Expected: []sql.Row{{""}}, }, + { + Query: "SELECT current_setting('wal_consistency_checking')", + Expected: []sql.Row{{""}}, + }, }, }, { @@ -7011,6 +8395,10 @@ var setStmts = []ScriptTest{ Query: "SET wal_decode_buffer_size TO '524288'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('wal_decode_buffer_size')", + Expected: []sql.Row{{"524288"}}, + }, }, }, { @@ -7037,6 +8425,10 @@ var setStmts = []ScriptTest{ Query: "SHOW wal_init_zero", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('wal_init_zero')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -7051,6 +8443,10 @@ var setStmts = []ScriptTest{ Query: "SET wal_keep_size TO '0'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('wal_keep_size')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -7065,6 +8461,10 @@ var setStmts = []ScriptTest{ Query: "SET wal_level TO 'replica'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('wal_level')", + Expected: []sql.Row{{"replica"}}, + }, }, }, { @@ -7079,6 +8479,10 @@ var setStmts = []ScriptTest{ Query: "SET wal_log_hints TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('wal_log_hints')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -7093,6 +8497,10 @@ var setStmts = []ScriptTest{ Query: "SET wal_receiver_create_temp_slot TO 'off'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('wal_receiver_create_temp_slot')", + Expected: []sql.Row{{"0"}}, + }, }, }, { @@ -7107,6 +8515,10 @@ var setStmts = []ScriptTest{ Query: "SET wal_receiver_status_interval TO '10'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('wal_receiver_status_interval')", + Expected: []sql.Row{{"10"}}, + }, }, }, { @@ -7121,6 +8533,10 @@ var setStmts = []ScriptTest{ Query: "SET wal_receiver_timeout TO '60'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('wal_receiver_timeout')", + Expected: []sql.Row{{"60000"}}, + }, }, }, { @@ -7147,6 +8563,10 @@ var setStmts = []ScriptTest{ Query: "SHOW wal_recycle", Expected: []sql.Row{{int8(1)}}, }, + { + Query: "SELECT current_setting('wal_recycle')", + Expected: []sql.Row{{"1"}}, + }, }, }, { @@ -7161,6 +8581,10 @@ var setStmts = []ScriptTest{ Query: "SET wal_retrieve_retry_interval TO '5'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('wal_retrieve_retry_interval')", + Expected: []sql.Row{{"5000"}}, + }, }, }, { @@ -7175,6 +8599,10 @@ var setStmts = []ScriptTest{ Query: "SET wal_segment_size TO '16777216'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('wal_segment_size')", + Expected: []sql.Row{{"16777216"}}, + }, }, }, { @@ -7201,6 +8629,10 @@ var setStmts = []ScriptTest{ Query: "SHOW wal_sender_timeout", Expected: []sql.Row{{int64(60000)}}, }, + { + Query: "SELECT current_setting('wal_sender_timeout')", + Expected: []sql.Row{{"60000"}}, + }, }, }, { @@ -7227,6 +8659,10 @@ var setStmts = []ScriptTest{ Query: "SHOW wal_skip_threshold", Expected: []sql.Row{{int64(2048)}}, }, + { + Query: "SELECT current_setting('wal_skip_threshold')", + Expected: []sql.Row{{"2048"}}, + }, }, }, { @@ -7241,6 +8677,10 @@ var setStmts = []ScriptTest{ Query: "SET wal_sync_method TO 'open_datasync'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('wal_sync_method')", + Expected: []sql.Row{{"open_datasync"}}, + }, }, }, { @@ -7255,6 +8695,10 @@ var setStmts = []ScriptTest{ Query: "SET wal_writer_delay TO '200'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('wal_writer_delay')", + Expected: []sql.Row{{"200"}}, + }, }, }, { @@ -7269,6 +8713,10 @@ var setStmts = []ScriptTest{ Query: "SET wal_writer_flush_after TO '1000'", ExpectedErr: "is a read only variable", }, + { + Query: "SELECT current_setting('wal_writer_flush_after')", + Expected: []sql.Row{{"128"}}, + }, }, }, { @@ -7295,6 +8743,10 @@ var setStmts = []ScriptTest{ Query: "SHOW work_mem", Expected: []sql.Row{{int64(4096)}}, }, + { + Query: "SELECT current_setting('work_mem')", + Expected: []sql.Row{{"4096"}}, + }, }, }, { @@ -7321,6 +8773,10 @@ var setStmts = []ScriptTest{ Query: "SHOW xmlbinary", Expected: []sql.Row{{"base64"}}, }, + { + Query: "SELECT current_setting('xmlbinary')", + Expected: []sql.Row{{"base64"}}, + }, }, }, { @@ -7347,6 +8803,10 @@ var setStmts = []ScriptTest{ Query: "SHOW xmloption", Expected: []sql.Row{{"content"}}, }, + { + Query: "SELECT current_setting('xmloption')", + Expected: []sql.Row{{"content"}}, + }, }, }, { @@ -7373,6 +8833,10 @@ var setStmts = []ScriptTest{ Query: "SHOW zero_damaged_pages", Expected: []sql.Row{{int8(0)}}, }, + { + Query: "SELECT current_setting('zero_damaged_pages')", + Expected: []sql.Row{{"0"}}, + }, }, }, {