]> granicus.if.org Git - postgresql/commitdiff
Don't warn about creating temporary or unlogged hash indexes.
authorRobert Haas <rhaas@postgresql.org>
Fri, 26 Jun 2015 15:37:32 +0000 (11:37 -0400)
committerRobert Haas <rhaas@postgresql.org>
Fri, 26 Jun 2015 15:37:32 +0000 (11:37 -0400)
Warning people that no WAL-logging will be done doesn't make sense
in this case.

Michael Paquier

src/backend/commands/indexcmds.c
src/test/regress/expected/create_index.out
src/test/regress/sql/create_index.sql

index 7340a1fc2bbb7d4d6a5ef8d7ef5078c64a4ca3df..b450bcf754e8b347631190f0852e92adbb3bc81b 100644 (file)
@@ -490,7 +490,8 @@ DefineIndex(Oid relationId,
        accessMethodId = HeapTupleGetOid(tuple);
        accessMethodForm = (Form_pg_am) GETSTRUCT(tuple);
 
-       if (strcmp(accessMethodName, "hash") == 0)
+       if (strcmp(accessMethodName, "hash") == 0 &&
+               RelationNeedsWAL(rel))
                ereport(WARNING,
                                (errmsg("hash indexes are not WAL-logged and their use is discouraged")));
 
index 5c2e67d0db886311ec688f616de61fc8c99fe5e5..b72e65d1bd086baac657414f4e71aa9bf7fa6b48 100644 (file)
@@ -2342,6 +2342,9 @@ CREATE INDEX hash_txt_index ON hash_txt_heap USING hash (random text_ops);
 WARNING:  hash indexes are not WAL-logged and their use is discouraged
 CREATE INDEX hash_f8_index ON hash_f8_heap USING hash (random float8_ops);
 WARNING:  hash indexes are not WAL-logged and their use is discouraged
+CREATE UNLOGGED TABLE unlogged_hash_table (id int4);
+CREATE INDEX unlogged_hash_index ON unlogged_hash_table USING hash (id int4_ops);
+DROP TABLE unlogged_hash_table;
 -- CREATE INDEX hash_ovfl_index ON hash_ovfl_heap USING hash (x int4_ops);
 --
 -- Test functional index
index 67dd2f0685e15571fa1707e9bdbd67efaeea9ee2..ff8695361ce65a79855a9a4fa7313584886eb911 100644 (file)
@@ -684,6 +684,10 @@ CREATE INDEX hash_txt_index ON hash_txt_heap USING hash (random text_ops);
 
 CREATE INDEX hash_f8_index ON hash_f8_heap USING hash (random float8_ops);
 
+CREATE UNLOGGED TABLE unlogged_hash_table (id int4);
+CREATE INDEX unlogged_hash_index ON unlogged_hash_table USING hash (id int4_ops);
+DROP TABLE unlogged_hash_table;
+
 -- CREATE INDEX hash_ovfl_index ON hash_ovfl_heap USING hash (x int4_ops);