]> granicus.if.org Git - postgresql/commitdiff
Fix embarrassing bug in recent smgr refactoring patch: WAL records should
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Sun, 4 Jan 2009 14:59:22 +0000 (14:59 +0000)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Sun, 4 Jan 2009 14:59:22 +0000 (14:59 +0000)
be written for *non*-temp tables only. Report and test case by Mark
Kirkwood and Simon Riggs.

src/backend/catalog/storage.c

index 38ec78dd417d2dcfc2feada7468ca8f32b5b4d2f..aec9d05852e33a3e21a4c0c328c3bc326ecf0476 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/catalog/storage.c,v 1.3 2009/01/01 17:23:37 momjian Exp $
+ *       $PostgreSQL: pgsql/src/backend/catalog/storage.c,v 1.4 2009/01/04 14:59:22 heikki Exp $
  *
  * NOTES
  *       Some of this code used to be in storage/smgr/smgr.c, and the
@@ -106,7 +106,7 @@ RelationCreateStorage(RelFileNode rnode, bool istemp)
        srel = smgropen(rnode);
        smgrcreate(srel, MAIN_FORKNUM, false);
 
-       if (istemp)
+       if (!istemp)
        {
                /*
                 * Make an XLOG entry showing the file creation.  If we abort, the file
@@ -203,7 +203,7 @@ RelationTruncate(Relation rel, BlockNumber nblocks)
         * harmless failure to truncate, that could spell trouble at WAL replay,
         * into a certain PANIC.
         */
-       if (rel->rd_istemp)
+       if (!rel->rd_istemp)
        {
                /*
                 * Make an XLOG entry showing the file truncation.