]> granicus.if.org Git - postgresql/commitdiff
Add a regression test for ALTER SET TABLESPACE; this is a whole separate
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 2 Jan 2007 21:43:36 +0000 (21:43 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 2 Jan 2007 21:43:36 +0000 (21:43 +0000)
code path in tablecmds.c that wasn't exercised at all before.

src/test/regress/input/tablespace.source
src/test/regress/output/tablespace.source

index 9e2c35809478013da49b60ebfba1ae14995c8ea6..df5479d5893e028b26afbaef5da75156b7f68966 100644 (file)
@@ -28,6 +28,17 @@ CREATE INDEX foo_idx on testschema.foo(i) TABLESPACE testspace;
 SELECT relname, spcname FROM pg_catalog.pg_tablespace t, pg_catalog.pg_class c
     where c.reltablespace = t.oid AND c.relname = 'foo_idx';
 
+-- let's try moving a table from one place to another
+CREATE TABLE testschema.atable AS VALUES (1), (2);
+CREATE UNIQUE INDEX anindex ON testschema.atable(column1);
+
+ALTER TABLE testschema.atable SET TABLESPACE testspace;
+ALTER INDEX testschema.anindex SET TABLESPACE testspace;
+
+INSERT INTO testschema.atable VALUES(3);       -- ok
+INSERT INTO testschema.atable VALUES(1);       -- fail (checks index)
+SELECT COUNT(*) FROM testschema.atable;                -- checks heap
+
 -- Will fail with bad path
 CREATE TABLESPACE badspace LOCATION '/no/such/location';
 
index d75493fb0b60b8f0397414cb525264ff3c81efff..8ab6b68f124ab0d56484ca940dfd7b493162fdf7 100644 (file)
@@ -41,6 +41,20 @@ SELECT relname, spcname FROM pg_catalog.pg_tablespace t, pg_catalog.pg_class c
  foo_idx | testspace
 (1 row)
 
+-- let's try moving a table from one place to another
+CREATE TABLE testschema.atable AS VALUES (1), (2);
+CREATE UNIQUE INDEX anindex ON testschema.atable(column1);
+ALTER TABLE testschema.atable SET TABLESPACE testspace;
+ALTER INDEX testschema.anindex SET TABLESPACE testspace;
+INSERT INTO testschema.atable VALUES(3);       -- ok
+INSERT INTO testschema.atable VALUES(1);       -- fail (checks index)
+ERROR:  duplicate key violates unique constraint "anindex"
+SELECT COUNT(*) FROM testschema.atable;                -- checks heap
+ count 
+-------
+     3
+(1 row)
+
 -- Will fail with bad path
 CREATE TABLESPACE badspace LOCATION '/no/such/location';
 ERROR:  could not set permissions on directory "/no/such/location": No such file or directory
@@ -51,6 +65,7 @@ ERROR:  tablespace "nosuchspace" does not exist
 DROP TABLESPACE testspace;
 ERROR:  tablespace "testspace" is not empty
 DROP SCHEMA testschema CASCADE;
+NOTICE:  drop cascades to table testschema.atable
 NOTICE:  drop cascades to table testschema.asexecute
 NOTICE:  drop cascades to table testschema.asselect
 NOTICE:  drop cascades to table testschema.foo