Test that it works to RESET an invalid reloption

This works today, and it's valuable to ensure it doesn't get broken
if/when we get around to refactoring the implementation.

Author: Nikolay Shaplov <dhyan@nataraj.su>
Discussion: https://postgr.es/m/4563991.km65PDbjlG@thinkpad-pgpro
pull/151/head
Alvaro Herrera 2 years ago
parent b31ba5310b
commit 7db01fbcef
No known key found for this signature in database
GPG Key ID: 1C20ACB9D5C564AE
  1. 11
      src/test/regress/expected/reloptions.out
  2. 7
      src/test/regress/sql/reloptions.sql

@ -87,6 +87,17 @@ SELECT reloptions FROM pg_class WHERE oid = 'reloptions_test'::regclass AND
-- RESET fails if a value is specified
ALTER TABLE reloptions_test RESET (fillfactor=12);
ERROR: RESET must not include values for parameters
-- We can RESET an invalid option which for some reason is already set
UPDATE pg_class
SET reloptions = '{fillfactor=13,autovacuum_enabled=false,illegal_option=4}'
WHERE oid = 'reloptions_test'::regclass;
ALTER TABLE reloptions_test RESET (illegal_option);
SELECT reloptions FROM pg_class WHERE oid = 'reloptions_test'::regclass;
reloptions
------------------------------------------
{fillfactor=13,autovacuum_enabled=false}
(1 row)
-- Test vacuum_truncate option
DROP TABLE reloptions_test;
CREATE TEMP TABLE reloptions_test(i INT NOT NULL, j text)

@ -52,6 +52,13 @@ SELECT reloptions FROM pg_class WHERE oid = 'reloptions_test'::regclass AND
-- RESET fails if a value is specified
ALTER TABLE reloptions_test RESET (fillfactor=12);
-- We can RESET an invalid option which for some reason is already set
UPDATE pg_class
SET reloptions = '{fillfactor=13,autovacuum_enabled=false,illegal_option=4}'
WHERE oid = 'reloptions_test'::regclass;
ALTER TABLE reloptions_test RESET (illegal_option);
SELECT reloptions FROM pg_class WHERE oid = 'reloptions_test'::regclass;
-- Test vacuum_truncate option
DROP TABLE reloptions_test;

Loading…
Cancel
Save