aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2001-05-25 15:45:34 +0000
committerBruce Momjian <bruce@momjian.us>2001-05-25 15:45:34 +0000
commitf6923ff3ac8320a82f4bb070b09e9b1fed3d91c9 (patch)
tree99937ac8a95d3ded1c263536c19de0e6bf05ec17 /src
parentdffb673692f96a6cc52411762b8ba07201687313 (diff)
downloadpostgresql-f6923ff3ac8320a82f4bb070b09e9b1fed3d91c9.tar.gz
postgresql-f6923ff3ac8320a82f4bb070b09e9b1fed3d91c9.zip
Oops, only wanted python change in the last commit. Backing out.
Diffstat (limited to 'src')
-rw-r--r--src/backend/access/transam/varsup.c46
-rw-r--r--src/backend/commands/vacuum.c82
-rw-r--r--src/backend/postmaster/postmaster.c55
-rw-r--r--src/backend/storage/file/fd.c20
-rw-r--r--src/backend/storage/lmgr/proc.c3
-rw-r--r--src/include/access/transam.h3
-rw-r--r--src/include/storage/fd.h4
-rw-r--r--src/include/storage/proc.h5
8 files changed, 13 insertions, 205 deletions
diff --git a/src/backend/access/transam/varsup.c b/src/backend/access/transam/varsup.c
index 95547bbe83d..f245a79cedb 100644
--- a/src/backend/access/transam/varsup.c
+++ b/src/backend/access/transam/varsup.c
@@ -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 $
*
*-------------------------------------------------------------------------
*/
@@ -16,10 +16,7 @@
#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;
-}
-
-
diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c
index e6bdc3a3f2e..3cba0395201 100644
--- a/src/backend/commands/vacuum.c
+++ b/src/backend/commands/vacuum.c
@@ -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 $
*
*-------------------------------------------------------------------------
*/
@@ -16,12 +16,9 @@
#include <fcntl.h>
#include <unistd.h>
-#include <stdlib.h>
-#include <limits.h>
#include <time.h>
#include <sys/time.h>
#include <sys/types.h>
-#include <dirent.h>
#include <sys/file.h>
#include <sys/stat.h>
@@ -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);
-}
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c
index dc6ee27fa0d..de053e15584 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -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 <ctype.h>
#include <sys/types.h>
#include <sys/stat.h>
-#include <dirent.h>
#include <sys/time.h>
#include <sys/socket.h>
#include <errno.h>
@@ -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);
- }
-}
diff --git a/src/backend/storage/file/fd.c b/src/backend/storage/file/fd.c
index 8816589787a..23c1ef8d808 100644
--- a/src/backend/storage/file/fd.c
+++ b/src/backend/storage/file/fd.c
@@ -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;
diff --git a/src/backend/storage/lmgr/proc.c b/src/backend/storage/lmgr/proc.c
index 9e9ef04d2cd..e64d3886aa4 100644
--- a/src/backend/storage/lmgr/proc.c
+++ b/src/backend/storage/lmgr/proc.c
@@ -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));
diff --git a/src/include/access/transam.h b/src/include/access/transam.h
index 6278665345f..90d1f359839 100644
--- a/src/include/access/transam.h
+++ b/src/include/access/transam.h
@@ -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
diff --git a/src/include/storage/fd.h b/src/include/storage/fd.h
index d1867bd6106..6bb690c3f57 100644
--- a/src/include/storage/fd.h
+++ b/src/include/storage/fd.h
@@ -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;
diff --git a/src/include/storage/proc.h b/src/include/storage/proc.h
index ae1fb9f1c00..8118cf0e5ce 100644
--- a/src/include/storage/proc.h
+++ b/src/include/storage/proc.h
@@ -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