diff --git a/HISTORY b/HISTORY index 966760965cf5343d1b01e4a202b705eb40dd06e4..43b847260d2bf3d223443285597563698ae41753 100644 --- a/HISTORY +++ b/HISTORY @@ -1,3 +1,10 @@ +PostgreSQL 6.5 Fri Apr 23 17:40:19 EDT 1999 +========================================================= + +A dump/restore is required. + +PLACE HOLDER + PostgreSQL 6.4.2 Sat Jan 2 11:04:05 EST 1999 ========================================================= diff --git a/doc/src/sgml/install.sgml b/doc/src/sgml/install.sgml index aa62649aa5622fa961f2f47d871bae845eb241c4..eeb747df773b42822b057b2b20dd7c713c8a62c8 100644 --- a/doc/src/sgml/install.sgml +++ b/doc/src/sgml/install.sgml @@ -4,7 +4,7 @@ <Abstract> <Para> Complete installation instructions for -<ProductName>Postgres</ProductName> v6.4. +<ProductName>Postgres</ProductName> v6.5. </Para> </Abstract> @@ -167,8 +167,8 @@ remaining steps in the installation will happen in this account. <Step Performance="required"> <Para> Ftp file -<ulink url="ftp://ftp.postgresql.org/pub/postgresql-v6.4.tar.gz"> - <filename>ftp://ftp.postgresql.org/pub/postgresql-v6.4.tar.gz</filename></ulink> +<ulink url="ftp://ftp.postgresql.org/pub/postgresql-v6.5.tar.gz"> + <filename>ftp://ftp.postgresql.org/pub/postgresql-v6.5.tar.gz</filename></ulink> from the Internet. Store it in your home directory. </Para> </Step> @@ -268,7 +268,7 @@ from the new distribution: <ProgramListing> $ cd -$ gunzip -c postgresql-v6.4.tar.gz \ +$ gunzip -c postgresql-v6.5.tar.gz \ | tar xvf - src/bin/pg_dump/pg_dumpall $ chmod a+x src/bin/pg_dump/pg_dumpall $ src/bin/pg_dump/pg_dumpall -z > db.out @@ -411,7 +411,7 @@ $ exit Unzip and untar the new source file. Type <ProgramListing> $ cd /usr/src/pgsql -$ gunzip -c ~/postgresql-v6.4.tar.gz | tar xvf - +$ gunzip -c ~/postgresql-v6.5.tar.gz | tar xvf - </ProgramListing> </Para> </Step> @@ -989,17 +989,7 @@ For example, <listitem> <Para> For a i686/Linux-ELF platform, no tests failed since this is the - v6.4 regression testing reference platform. -</Para> -</listitem> - -<listitem> -<Para> - For the SPARC/Linux-ELF platform, using the 970525 beta version of - <ProductName>Postgres</ProductName> v6.2 the following tests "failed": - float8 and geometry "failed" due to minor precision differences in - floating point numbers. select_views produces massively different output, - but the differences are due to minor floating point differences. + v6.5 regression testing reference platform. </Para> </listitem> @@ -1109,11 +1099,11 @@ VACUUM; <Para> Clean up after yourself. Type <ProgramListing> -$ rm -rf /usr/src/pgsql_6_0 -$ rm -rf /usr/local/pgsql_6_0 +$ rm -rf /usr/src/pgsql_6_5 +$ rm -rf /usr/local/pgsql_6_5 # Also delete old database directory tree if it is not in -# /usr/local/pgsql_6_0/data -$ rm ~/postgresql-v6.2.1.tar.gz +# /usr/local/pgsql_6_5/data +$ rm ~/postgresql-v6.5.tar.gz </ProgramListing> </Para> </Step> @@ -1160,7 +1150,7 @@ $ lpr -l -s -r manpage.hp <itemizedlist> <listitem> <para> -The version of <ProductName>Postgres</ProductName> (v6.4, 6.3.2, beta 981014, etc.). +The version of <ProductName>Postgres</ProductName> (v6.5, 6.4.2, beta 981014, etc.). </para> </listitem> diff --git a/src/Makefile.shlib b/src/Makefile.shlib index c35bf8d825ba9821466a2ca1e41ec7fe758c99c3..889f24b832598e022238c8a2845d69b41db19d09 100644 --- a/src/Makefile.shlib +++ b/src/Makefile.shlib @@ -6,7 +6,7 @@ # Copyright (c) 1998, Regents of the University of California # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.7 1999/03/14 16:02:57 momjian Exp $ +# $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.8 1999/04/30 02:04:49 momjian Exp $ # #------------------------------------------------------------------------- @@ -86,14 +86,14 @@ ifeq ($(PORTNAME), bsdi) ifdef BSD_SHLIB ifeq ($(DLSUFFIX), .so) install-shlib-dep := install-shlib - shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) + shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) LDFLAGS_SL += -shared CFLAGS += $(CFLAGS_SL) endif ifeq ($(DLSUFFIX), .o) install-shlib-dep := install-shlib - shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) - LD := shlicc + shlib := lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION) + LD := shlicc LDFLAGS_SL += -O -r CFLAGS += $(CFLAGS_SL) endif diff --git a/src/backend/storage/lmgr/lock.c b/src/backend/storage/lmgr/lock.c index 2f822add66d9f4f8b09fbe4a4a940b4e681876e7..4c387643742a9097229794e60493b25da9007bcd 100644 --- a/src/backend/storage/lmgr/lock.c +++ b/src/backend/storage/lmgr/lock.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/lock.c,v 1.46 1999/03/06 21:17:44 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/lock.c,v 1.47 1999/04/30 02:04:50 momjian Exp $ * * NOTES * Outside modules can create a lock table and acquire/release @@ -820,13 +820,17 @@ LockResolveConflicts(LOCKMETHOD lockmethod, /* ------------------------ * If someone with a greater priority is waiting for the lock, * do not continue and share the lock, even if we can. bjm + * Don't do this if the process already has some locks, because + * this could hold up other people waiting on our locks, causing + * a priority inversion. bjm * ------------------------ */ int myprio = LockMethodTable[lockmethod]->ctl->prio[lockmode]; PROC_QUEUE *waitQueue = &(lock->waitProcs); PROC *topproc = (PROC *) MAKE_PTR(waitQueue->links.prev); - if (waitQueue->size && topproc->prio > myprio) + if (SHMQueueEmpty(lockQueue) && waitQueue->size && + topproc->prio > myprio) { XID_PRINT("LockResolveConflicts: higher priority proc waiting", result); @@ -1595,7 +1599,7 @@ DeadLockCheck(SHM_QUEUE *lockQueue, LOCK *findlock, bool skip_check) * * The lock we are waiting for is already in MyProc->lockQueue so we * need to skip it here. We are trying to find it in someone - * else's lockQueue. + * else's lockQueue. bjm */ if (lock == findlock && !skip_check) return true; @@ -1625,7 +1629,7 @@ DeadLockCheck(SHM_QUEUE *lockQueue, LOCK *findlock, bool skip_check) * * Basically, the test is, "Do we both hold some lock on * findlock, and we are both waiting in the lock - * queue?" + * queue?" bjm */ Assert(skip_check); @@ -1672,7 +1676,7 @@ DeadLockCheck(SHM_QUEUE *lockQueue, LOCK *findlock, bool skip_check) * hold locks and are waiting. Now we check for * cases where we have two or more tables in a * deadlock. We do this by continuing to search - * for someone holding a lock + * for someone holding a lock bjm */ if (DeadLockCheck(&(proc->lockQueue), findlock, false)) return true; diff --git a/src/backend/storage/lmgr/proc.c b/src/backend/storage/lmgr/proc.c index cc5233b07641d1f4a1a8149280729fa0c2594e9d..229a78587cbd643389b2c42aac4f00fcbe29ef1f 100644 --- a/src/backend/storage/lmgr/proc.c +++ b/src/backend/storage/lmgr/proc.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.52 1999/03/28 20:32:26 vadim Exp $ + * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.53 1999/04/30 02:04:51 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -46,7 +46,7 @@ * This is so that we can support more backends. (system-wide semaphore * sets run out pretty fast.) -ay 4/95 * - * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.52 1999/03/28 20:32:26 vadim Exp $ + * $Header: /cvsroot/pgsql/src/backend/storage/lmgr/proc.c,v 1.53 1999/04/30 02:04:51 momjian Exp $ */ #include <sys/time.h> #include <unistd.h> @@ -516,8 +516,7 @@ ProcSleep(PROC_QUEUE *waitQueue,/* lock->waitProcs */ * In a full queue, we would have a reader holding a lock, then a writer * gets the lock, then a bunch of readers, made up of readers who * could not share the first readlock because a writer was waiting, - * and new readers arriving while the writer had the lock. - * + * and new readers arriving while the writer had the lock. bjm */ proc = (PROC *) MAKE_PTR(waitQueue->links.prev);