Oops, only wanted python change in the last commit. Backing out.
authorBruce Momjian
Fri, 25 May 2001 15:45:34 +0000 (15:45 +0000)
committerBruce Momjian
Fri, 25 May 2001 15:45:34 +0000 (15:45 +0000)
doc/src/sgml/ref/vacuum.sgml
src/backend/access/transam/varsup.c
src/backend/commands/vacuum.c
src/backend/postmaster/postmaster.c
src/backend/storage/file/fd.c
src/backend/storage/lmgr/proc.c
src/include/access/transam.h
src/include/storage/fd.h
src/include/storage/proc.h

index 0722b8068d2f5997fef44c69f1e2f616b4c81e09..7ce61b72cc84a00dbc3ca45d1cad8cb3a3c8b6b1 100644 (file)
@@ -1,5 +1,5 @@
 
 
@@ -154,8 +154,7 @@ NOTICE:  Index index: Pages 28;
 
   
    With no parameter, VACUUM processes every table in the
-   current database. It also detects any extraneous files in the
-   database directory.  With a parameter, VACUUM processes
+   current database.  With a parameter, VACUUM processes
    only that table.
   
 
index 95547bbe83d3084730d95b82dab066038a030160..f245a79cedbfa71cc9b175ac3f0059bb62e98570 100644 (file)
@@ -6,7 +6,7 @@
  * Copyright (c) 2000, PostgreSQL Global Development Group
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/access/transam/varsup.c,v 1.39 2001/05/25 15:34:49 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/access/transam/varsup.c,v 1.40 2001/05/25 15:45:32 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
 #include "access/transam.h"
 #include "access/xlog.h"
 #include "storage/proc.h"
-#include "storage/sinval.h"
-#include "storage/sinvaladt.h"
 
-extern SISeg      *shmInvalBuffer;
 
 /* Number of XIDs and OIDs to prefetch (preallocate) per XLOG write */
 #define VAR_XID_PREFETCH       1024
@@ -146,44 +143,3 @@ CheckMaxObjectId(Oid assigned_oid)
 
    SpinRelease(OidGenLockId);
 }
-
-/*
- * GetMinBackendOid -- returns lowest oid stored on startup of
- * each backend.
- */
-Oid
-GetMinStartupOid(void)
-{
-   SISeg      *segP = shmInvalBuffer;
-   ProcState  *stateP = segP->procState;
-   int         index;
-   Oid         min_oid;
-
-   /* prime with current oid, no need for lock */
-   min_oid = ShmemVariableCache->nextOid;
-
-   SpinAcquire(SInvalLock);
-
-   for (index = 0; index < segP->lastBackend; index++)
-   {
-       SHMEM_OFFSET pOffset = stateP[index].procStruct;
-
-       if (pOffset != INVALID_OFFSET)
-       {
-           PROC       *proc = (PROC *) MAKE_PTR(pOffset);
-           Oid         proc_oid;
-
-           proc_oid = proc->startOid;  /* we don't use spin-locking in
-                                    * AbortTransaction() ! */
-           if (proc == MyProc || proc_oid <= BootstrapObjectIdData)
-               continue;
-           if (proc_oid < min_oid)
-               min_oid = proc_oid;
-       }
-   }
-
-   SpinRelease(SInvalLock);
-   return min_oid;
-}
-
-
index e6bdc3a3f2e2b75cb28b4f214e8eb702794eed95..3cba03952015fa4cf681973bbe9e7dd058ee83bb 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.194 2001/05/25 15:34:49 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/commands/vacuum.c,v 1.195 2001/05/25 15:45:32 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
 
 #include 
 #include 
-#include 
-#include 
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
 
@@ -33,7 +30,6 @@
 
 #include "access/genam.h"
 #include "access/heapam.h"
-#include "access/transam.h"
 #include "access/xlog.h"
 #include "catalog/catalog.h"
 #include "catalog/catname.h"
@@ -163,7 +159,6 @@ static int  vac_cmp_vtlinks(const void *left, const void *right);
 static bool enough_space(VacPage vacpage, Size len);
 static void init_rusage(VacRUsage *ru0);
 static char *show_rusage(VacRUsage *ru0);
-static void report_orphans(void);
 
 
 /*
@@ -241,10 +236,6 @@ vacuum(VacuumStmt *vacstmt)
 
    /* clean up */
    vacuum_shutdown();
-
-   if (VacRelName == NULL)
-       report_orphans();
-
 }
 
 /*
@@ -2655,74 +2646,3 @@ show_rusage(VacRUsage *ru0)
 
    return result;
 }
-
-/*
- * report_orphans
- *
- * Report files that are not referenced by any pg_class.relfilenode.
- * Could be caused by backend crash no cleaning up.
- */
-static void
-report_orphans(void)
-{
-   DIR        *db_dir;
-   struct dirent  *db_de;
-   Relation    rel;
-   TupleDesc   tupdesc;
-   HeapScanDesc scan;
-   HeapTuple   tuple;
-   Oid         dir_file_oid;
-   Oid         rel_file_oid;
-   Datum       d;
-   bool        n;
-   bool        match_found;
-   char        cwd[MAXPGPATH];
-
-   getcwd(cwd,MAXPGPATH);
-   db_dir = opendir(".");
-   rel = heap_openr(RelationRelationName, AccessShareLock);
-   Assert(db_dir);
-
-   /*
-    * Cycle through directory and check each file against
-    * pg_class.relfilenode.
-    * XXX This is O(n^2).  Is it too slow?  bjm
-    */
-   while ((db_de = readdir(db_dir)) != NULL)
-   {
-       if (strspn(db_de->d_name, "0123456789") ==
-           strlen(db_de->d_name))
-       {
-           dir_file_oid = (Oid) strtoul((db_de->d_name), NULL, 10);
-
-           if (dir_file_oid >= GetMinStartupOid() ||
-               dir_file_oid <= BootstrapObjectIdData)
-               continue;
-
-           tupdesc = RelationGetDescr(rel);
-
-           match_found = false;
-           scan = heap_beginscan(rel, false, SnapshotNow, 0, (ScanKey) NULL);
-           while (HeapTupleIsValid(tuple = heap_getnext(scan, 0)))
-           {
-               d = heap_getattr(tuple, Anum_pg_class_relfilenode, tupdesc, &n);
-               rel_file_oid = DatumGetObjectId(d);
-               if (dir_file_oid == rel_file_oid)
-               {
-                   match_found = true;
-                   break;
-               }
-           }
-           heap_endscan(scan);
-           /* make sure there was no oid wrap-around during the scan */
-           if (!match_found && dir_file_oid <= ShmemVariableCache->nextOid)
-               elog(NOTICE,
-               "Unreferenced file found in database directory:\n\t%s/%s",
-                   cwd, db_de->d_name);
-           /* Maybe one day we can unlink too.  bjm 2001-05-24 */
-       }
-   }
-
-   heap_close(rel, AccessShareLock);
-   closedir(db_dir);
-}
index dc6ee27fa0d1c0c06237dc543a55c783f8be2568..de053e15584b7c6275b51a4564d5eaa4b79aafca 100644 (file)
@@ -28,7 +28,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.213 2001/05/25 15:34:50 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.214 2001/05/25 15:45:33 momjian Exp $
  *
  * NOTES
  *
@@ -58,7 +58,6 @@
 #include 
 #include 
 #include 
-#include 
 #include 
 #include 
 #include 
@@ -244,7 +243,6 @@ static void RandomSalt(char *salt);
 static void SignalChildren(int signal);
 static int CountChildren(void);
 static bool CreateOptsFile(int argc, char *argv[]);
-static void RemovePgSorttemp(void);
 
 static pid_t SSDataBase(int xlop);
 
@@ -597,9 +595,6 @@ PostmasterMain(int argc, char *argv[])
    if (!CreateDataDirLockFile(DataDir, true))
        ExitPostmaster(1);
 
-   /* Remove old sort files */
-   RemovePgSorttemp();
-
    /*
     * Establish input sockets.
     */
@@ -2455,51 +2450,3 @@ CreateOptsFile(int argc, char *argv[])
    fclose(fp);
    return true;
 }
-
-
-/*
- * Remove old sort files
- */
-static void
-RemovePgSorttemp(void)
-{
-   char        db_path[MAXPGPATH];
-   char        temp_path[MAXPGPATH];
-   char        rm_path[MAXPGPATH];
-   DIR        *db_dir;
-   DIR        *temp_dir;
-   struct dirent  *db_de;
-   struct dirent  *temp_de;
-
-   /*
-    * Cycle through pg_tempsort for all databases and
-    * and remove old sort files.
-    */
-   /* trailing slash forces symlink following */
-   snprintf(db_path, sizeof(db_path), "%s/base/",  DataDir);
-   if ((db_dir = opendir(db_path)) != NULL)
-   {
-       while ((db_de = readdir(db_dir)) != NULL)
-       {
-           snprintf(temp_path, sizeof(temp_path),
-               "%s/%s/%s/",    db_path, db_de->d_name, SORT_TEMP_DIR);
-           if ((temp_dir = opendir(temp_path)) != NULL)
-           {
-               while ((temp_de = readdir(temp_dir)) != NULL)
-               {
-                   if (strspn(temp_de->d_name, "0123456789.") ==
-                       strlen(temp_de->d_name))
-                   {
-                       snprintf(rm_path, sizeof(temp_path),
-                           "%s/%s/%s/%s",
-                           db_path, db_de->d_name,
-                           SORT_TEMP_DIR, temp_de->d_name);
-                       unlink(rm_path);
-                   }
-               }
-               closedir(temp_dir);
-           }
-       }
-       closedir(db_dir);
-   }
-}
index 8816589787a40ea3cdc2607f4f72dc6c736a322e..23c1ef8d808a5424b8bfd183875f81d77c95efa3 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/storage/file/fd.c,v 1.77 2001/05/25 15:34:50 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/storage/file/fd.c,v 1.78 2001/05/25 15:45:33 momjian Exp $
  *
  * NOTES:
  *
@@ -742,29 +742,21 @@ PathNameOpenFile(FileName fileName, int fileFlags, int fileMode)
 File
 OpenTemporaryFile(void)
 {
-   char        tempfilepath[128];
+   char        tempfilename[64];
    File        file;
 
    /*
     * Generate a tempfile name that's unique within the current
     * transaction
     */
-   snprintf(tempfilepath, sizeof(tempfilepath),
-            "%s%c%d.%ld", SORT_TEMP_DIR, SEP_CHAR, MyProcPid,
-            tempFileCounter++);
+   snprintf(tempfilename, sizeof(tempfilename),
+            "pg_sorttemp%d.%ld", MyProcPid, tempFileCounter++);
 
    /* Open the file */
-   file = FileNameOpenFile(tempfilepath,
+   file = FileNameOpenFile(tempfilename,
                            O_RDWR | O_CREAT | O_TRUNC | PG_BINARY, 0600);
    if (file <= 0)
-   {
-       /* mkdir could fail if some one else already created it */
-       mkdir(SORT_TEMP_DIR, S_IRWXU);
-       file = FileNameOpenFile(tempfilepath,
-                           O_RDWR | O_CREAT | O_TRUNC | PG_BINARY, 0600);
-       if (file <= 0)
-           elog(ERROR, "Failed to create temporary file %s", tempfilepath);
-   }
+       elog(ERROR, "Failed to create temporary file %s", tempfilename);
 
    /* Mark it for deletion at close or EOXact */
    VfdCache[file].fdstate |= FD_TEMPORARY;
index 9e9ef04d2cd515cb5ac31dedb7d921aac795ce38..e64d3886aa46865f38a8a984599490c170787417 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.101 2001/05/25 15:34:50 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.102 2001/05/25 15:45:33 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -261,7 +261,6 @@ InitProcess(void)
    MyProc->databaseId = MyDatabaseId;
    MyProc->xid = InvalidTransactionId;
    MyProc->xmin = InvalidTransactionId;
-   MyProc->startOid = ShmemVariableCache->nextOid;
    MyProc->waitLock = NULL;
    MyProc->waitHolder = NULL;
    SHMQueueInit(&(MyProc->procHolders));
index 6278665345fb78257e751aaa76ae8336a9279176..90d1f359839bdc61ca4bcd4e241e4ca09ac722b7 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: transam.h,v 1.34 2001/05/25 15:34:50 momjian Exp $
+ * $Id: transam.h,v 1.35 2001/05/25 15:45:33 momjian Exp $
  *
  *  NOTES
  *     Transaction System Version 101 now support proper oid
@@ -133,7 +133,6 @@ extern void GetNewTransactionId(TransactionId *xid);
 extern void ReadNewTransactionId(TransactionId *xid);
 extern void GetNewObjectId(Oid *oid_return);
 extern void CheckMaxObjectId(Oid assigned_oid);
-extern Oid GetMinStartupOid(void);
 
 /* ----------------
  *     global variable extern declarations
index d1867bd6106a3018523b0b4a3678516a5b954ebd..6bb690c3f5713894e358126cd1cfab7f8b39266e 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: fd.h,v 1.28 2001/05/25 15:34:50 momjian Exp $
+ * $Id: fd.h,v 1.29 2001/05/25 15:45:34 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -39,8 +39,6 @@
  * FileSeek uses the standard UNIX lseek(2) flags.
  */
 
-#define SORT_TEMP_DIR "pg_sorttemp"
-
 typedef char *FileName;
 
 typedef int File;
index ae1fb9f1c008f5f1dfefbb2c6fee39ceaed1e890..8118cf0e5cecbfbea95ae953b2f7b81b8503c1cb 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $Id: proc.h,v 1.42 2001/05/25 15:34:50 momjian Exp $
+ * $Id: proc.h,v 1.43 2001/05/25 15:45:34 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -50,9 +50,6 @@ struct proc
                                 * were starting our xact: vacuum must not
                                 * remove tuples deleted by xid >= xmin ! */
 
-   Oid         startOid;       /* oid at startup, used by vacuum to find
-                                * orphaned files.
-                                */
    /*
     * XLOG location of first XLOG record written by this backend's
     * current transaction.  If backend is not in a transaction or hasn't