PolarDBforPostgreSQL/external/polar_parameter_check/expected/polar_parameter_check.out

584 lines
14 KiB
Plaintext

-- create extension
SET client_min_messages TO 'error';
DROP EXTENSION IF EXISTS polar_parameter_check;
RESET client_min_messages;
CREATE EXTENSION polar_parameter_check;
-- name check
-- positive case
select * from polar_parameter_name_check('enable_hashjoin');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_name_check('max_connections');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_name_check('synchronous_standby_names');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_name_check('wal_level');
parameter_valid
-----------------
t
(1 row)
-- negetive case
select * from polar_parameter_name_check('.');
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_name_check('xxxx');
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_name_check('0');
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_name_check('');
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_name_check(NULL);
parameter_valid
-----------------
f
(1 row)
-- value check
-- test grammar valid case
-- 1. PGC_BOOL
-- positive case
select * from polar_parameter_value_check('enable_hashjoin', 'true');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('enable_hashjoin', 'false');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('enable_hashjoin', '1');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('enable_hashjoin', '0');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('enable_hashjoin', 'on');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('enable_hashjoin', 'off');
parameter_valid
-----------------
t
(1 row)
-- negetive case
select * from polar_parameter_value_check('enable_hashjoin', 'xx');
WARNING: parameter "enable_hashjoin" requires a Boolean value
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check('enable_hashjoin', '2');
WARNING: parameter "enable_hashjoin" requires a Boolean value
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check('enable_hashjoin', '..');
WARNING: parameter "enable_hashjoin" requires a Boolean value
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check('enable_hashjoin', '-1');
WARNING: parameter "enable_hashjoin" requires a Boolean value
parameter_valid
-----------------
f
(1 row)
-- 2. PGC_INT
-- positive case
select * from polar_parameter_value_check('max_connections', '1');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('max_connections', '2');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('max_connections', '10');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('max_connections', '100');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('max_connections', '100000');
parameter_valid
-----------------
t
(1 row)
-- negetive case
select * from polar_parameter_value_check('max_connections', '0');
WARNING: 0 is outside the valid range for parameter "max_connections" (1 .. 262143)
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check('max_connections', '9999999');
WARNING: 9999999 is outside the valid range for parameter "max_connections" (1 .. 262143)
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check('max_connections', '-1');
WARNING: -1 is outside the valid range for parameter "max_connections" (1 .. 262143)
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check('max_connections', 'xx');
WARNING: invalid value for parameter "max_connections": "xx"
parameter_valid
-----------------
f
(1 row)
-- 3. PGC_REAL
-- positive case
select * from polar_parameter_value_check('jit_above_cost', '1.0');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('jit_above_cost', '3.14');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('jit_above_cost', '1');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('jit_above_cost', '20.9');
parameter_valid
-----------------
t
(1 row)
-- negetive case
select * from polar_parameter_value_check('jit_above_cost', 'xx');
WARNING: parameter "jit_above_cost" requires a numeric value
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check('jit_above_cost', 'test_case');
WARNING: parameter "jit_above_cost" requires a numeric value
parameter_valid
-----------------
f
(1 row)
-- 4. PGC_STRING
-- positive case
select * from polar_parameter_value_check('synchronous_standby_names', 'xxx');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('synchronous_standby_names', '123');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('synchronous_standby_names', '_standby');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('synchronous_standby_names', 'WhUhKhSn');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('log_line_prefix', '%m [%p]');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('log_line_prefix', 'xxxxx');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('log_line_prefix', '%s');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('TimeZone', 'GMT');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('TimeZone', 'America/Atikokan');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('TimeZone', 'Europe/Dublin');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('TimeZone', 'Asia/Jerusalem');
parameter_valid
-----------------
t
(1 row)
-- negetive case
select * from polar_parameter_value_check('TimeZone', 'xxxx');
WARNING: invalid value for parameter "TimeZone": "xxxx"
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check('TimeZone', 'beijing');
WARNING: invalid value for parameter "TimeZone": "beijing"
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check('TimeZone', '090909');
WARNING: invalid value for parameter "TimeZone": "090909"
DETAIL: UTC timezone offset is out of range.
parameter_valid
-----------------
f
(1 row)
-- 5. PGC_ENUM
-- positive case
select * from polar_parameter_value_check('backslash_quote', 'safe_encoding');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('backslash_quote', 'on');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('backslash_quote', 'off');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('backslash_quote', 'true');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('backslash_quote', 'false');
parameter_valid
-----------------
t
(1 row)
-- negetive case
select * from polar_parameter_value_check('backslash_quote', '2');
WARNING: invalid value for parameter "backslash_quote": "2"
HINT: Available values: safe_encoding, on, off.
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check('backslash_quote', 'xx');
WARNING: invalid value for parameter "backslash_quote": "xx"
HINT: Available values: safe_encoding, on, off.
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check('backslash_quote', '234');
WARNING: invalid value for parameter "backslash_quote": "234"
HINT: Available values: safe_encoding, on, off.
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check('backslash_quote', '.');
WARNING: invalid value for parameter "backslash_quote": "."
HINT: Available values: safe_encoding, on, off.
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check('backslash_quote', 'yueo');
WARNING: invalid value for parameter "backslash_quote": "yueo"
HINT: Available values: safe_encoding, on, off.
parameter_valid
-----------------
f
(1 row)
-- positive case
select * from polar_parameter_value_check('wal_level', 'minimal');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('wal_level', 'replica');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('wal_level', 'archive');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('wal_level', 'hot_standby');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('wal_level', 'logical');
parameter_valid
-----------------
t
(1 row)
-- negetive case
select * from polar_parameter_value_check('wal_level', '0');
WARNING: invalid value for parameter "wal_level": "0"
HINT: Available values: minimal, replica, logical.
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check('wal_level', 'x');
WARNING: invalid value for parameter "wal_level": "x"
HINT: Available values: minimal, replica, logical.
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check('wal_level', '234');
WARNING: invalid value for parameter "wal_level": "234"
HINT: Available values: minimal, replica, logical.
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check('wal_level', '.');
WARNING: invalid value for parameter "wal_level": "."
HINT: Available values: minimal, replica, logical.
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check('wal_level', 'yueo');
WARNING: invalid value for parameter "wal_level": "yueo"
HINT: Available values: minimal, replica, logical.
parameter_valid
-----------------
f
(1 row)
-- 6. nonexistent variable
select * from polar_parameter_value_check('abc', 'true');
ERROR: unrecognized configuration parameter "abc"
select * from polar_parameter_value_check('123', 'false');
ERROR: unrecognized configuration parameter "123"
-- test poar_ or rds_ case
select * from polar_parameter_value_check('max_connections', '1');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('polar_max_connections', '1');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('rds_max_connections', '1');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('max_connections', '9999');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('polar_max_connections', '9999');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('rds_max_connections', '9999');
parameter_valid
-----------------
t
(1 row)
select * from polar_parameter_value_check('max_connections', '1000000000');
WARNING: 1000000000 is outside the valid range for parameter "max_connections" (1 .. 262143)
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check('polar_max_connections', '1000000000');
WARNING: 1000000000 is outside the valid range for parameter "polar_max_connections" (1 .. 262143)
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check('rds_max_connections', '1000000000');
WARNING: 1000000000 is outside the valid range for parameter "rds_max_connections" (1 .. 262143)
parameter_valid
-----------------
f
(1 row)
-- test grammar invalid case
select * from polar_parameter_value_check('max_connections', 1111);
ERROR: function polar_parameter_value_check(unknown, integer) does not exist
LINE 1: select * from polar_parameter_value_check('max_connections',...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
select * from polar_parameter_value_check('max_connections', 123);
ERROR: function polar_parameter_value_check(unknown, integer) does not exist
LINE 1: select * from polar_parameter_value_check('max_connections',...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
select * from polar_parameter_value_check(123, 'xx');
ERROR: function polar_parameter_value_check(integer, unknown) does not exist
LINE 1: select * from polar_parameter_value_check(123, 'xx');
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
select * from polar_parameter_value_check(123, 123);
ERROR: function polar_parameter_value_check(integer, integer) does not exist
LINE 1: select * from polar_parameter_value_check(123, 123);
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
-- test special case
select * from polar_parameter_value_check('max_connections', NULL);
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check(NULL, NULL);
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check(NULL, '1');
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check('max_connections', '');
WARNING: invalid value for parameter "max_connections": ""
parameter_valid
-----------------
f
(1 row)
select * from polar_parameter_value_check('', '1');
ERROR: unrecognized configuration parameter ""
select * from polar_parameter_value_check('', '');
ERROR: unrecognized configuration parameter ""