From e23014f3d40f7d2c23bc97207fd28efbe5ba102b Mon Sep 17 00:00:00 2001 From: Fujii Masao Date: Thu, 28 Aug 2014 15:55:50 +0900 Subject: Allow units to be specified in relation option setting value. This introduces an infrastructure which allows us to specify the units like ms (milliseconds) in integer relation option, like GUC parameter. Currently only autovacuum_vacuum_cost_delay reloption can accept the units. Reviewed by Michael Paquier --- src/test/regress/expected/alter_table.out | 14 ++++++++++++++ src/test/regress/sql/alter_table.sql | 6 ++++++ 2 files changed, 20 insertions(+) (limited to 'src/test') diff --git a/src/test/regress/expected/alter_table.out b/src/test/regress/expected/alter_table.out index 10f45f25a5e..1d31b81456f 100644 --- a/src/test/regress/expected/alter_table.out +++ b/src/test/regress/expected/alter_table.out @@ -1811,6 +1811,20 @@ Check constraints: "test_inh_check_a_check" CHECK (a::double precision > 10.2::double precision) Inherits: test_inh_check +-- Set a storage parameter with unit +CREATE TABLE test_param_unit (a text) WITH (autovacuum_vacuum_cost_delay = '80ms'); +ALTER TABLE test_param_unit SET (autovacuum_vacuum_cost_delay = '3min'); +ERROR: value 3min out of bounds for option "autovacuum_vacuum_cost_delay" +DETAIL: Valid values are between "0" and "100". +ALTER TABLE test_param_unit SET (autovacuum_analyze_threshold = '3min'); -- fails +ERROR: invalid value for integer option "autovacuum_analyze_threshold": 3min +\d+ test_param_unit + Table "public.test_param_unit" + Column | Type | Modifiers | Storage | Stats target | Description +--------+------+-----------+----------+--------------+------------- + a | text | | extended | | +Options: autovacuum_vacuum_cost_delay=80ms + -- -- lock levels -- diff --git a/src/test/regress/sql/alter_table.sql b/src/test/regress/sql/alter_table.sql index 12fd7c2321b..2c21006615f 100644 --- a/src/test/regress/sql/alter_table.sql +++ b/src/test/regress/sql/alter_table.sql @@ -1254,6 +1254,12 @@ ALTER TABLE test_inh_check ALTER COLUMN a TYPE numeric; \d test_inh_check \d test_inh_check_child +-- Set a storage parameter with unit +CREATE TABLE test_param_unit (a text) WITH (autovacuum_vacuum_cost_delay = '80ms'); +ALTER TABLE test_param_unit SET (autovacuum_vacuum_cost_delay = '3min'); +ALTER TABLE test_param_unit SET (autovacuum_analyze_threshold = '3min'); -- fails +\d+ test_param_unit + -- -- lock levels -- -- cgit v1.2.3