OSDN Git Service

pg-rex/syncrep.git
22 years agoEnable /contrib/pg_upgrade, mention little testing.
Bruce Momjian [Fri, 18 Jan 2002 04:38:46 +0000 (04:38 +0000)]
Enable /contrib/pg_upgrade, mention little testing.

22 years agoExplain privileges required for LOCK. Minor wordsmithing too.
Tom Lane [Fri, 18 Jan 2002 01:05:43 +0000 (01:05 +0000)]
Explain privileges required for LOCK.  Minor wordsmithing too.

22 years agoPoint out that superusers bypass privilege checking. Minor wordsmithing.
Tom Lane [Fri, 18 Jan 2002 01:04:53 +0000 (01:04 +0000)]
Point out that superusers bypass privilege checking.  Minor wordsmithing.

22 years agoFix misstatements added by Bruce.
Tom Lane [Wed, 16 Jan 2002 23:51:56 +0000 (23:51 +0000)]
Fix misstatements added by Bruce.

22 years agoAdd more comments to tqual.c for visibility functions.
Bruce Momjian [Wed, 16 Jan 2002 23:09:09 +0000 (23:09 +0000)]
Add more comments to tqual.c for visibility functions.

22 years agoTOAST needs to do at least minimal time-qual checking in order not to
Tom Lane [Wed, 16 Jan 2002 20:29:02 +0000 (20:29 +0000)]
TOAST needs to do at least minimal time-qual checking in order not to
mess up after an aborted VACUUM FULL, per today's pghackers discussion.
Add a suitable HeapTupleSatisfiesToast routine.  Remove useless special-
case test in HeapTupleSatisfiesVisibility macro for xmax =
BootstrapTransactionId; perhaps that was needed at one time, but it's
a waste of cycles now, not to mention actively wrong for SnapshotAny.
Along the way, add some much-needed comments to tqual.c, and simplify
toast_fetch_datum, which no longer needs to assume it may see chunks
out-of-order.

22 years agoFix init_irels to close the pg_internal.init file before returning.
Tom Lane [Wed, 16 Jan 2002 17:34:42 +0000 (17:34 +0000)]
Fix init_irels to close the pg_internal.init file before returning.
This saves one open file descriptor per backend, and avoids an
annoying NOTICE on Cygwin (which has trouble deleting open files).
Bug appears to date back to original coding of init_irels, circa 1992.

22 years agoIf we fail to rename pg_internal.init into place, delete the useless
Tom Lane [Tue, 15 Jan 2002 22:33:20 +0000 (22:33 +0000)]
If we fail to rename pg_internal.init into place, delete the useless
temporary file.  This seems to be a known failure mode under Cygwin,
so we might as well expend the extra line of code to be tidy.

22 years agoAdd more sanity-checking to PageAddItem and PageIndexTupleDelete,
Tom Lane [Tue, 15 Jan 2002 22:14:17 +0000 (22:14 +0000)]
Add more sanity-checking to PageAddItem and PageIndexTupleDelete,
to prevent spreading of corruption when page header pointers are bad.
Merge PageZero into PageInit, since it was never used separately, and
remove separate memset calls used at most other PageInit call points.
Remove IndexPageCleanup, which wasn't used at all.

22 years agoFix typo that caused equalTriggerDescs() to return false in cases where
Tom Lane [Tue, 15 Jan 2002 16:52:47 +0000 (16:52 +0000)]
Fix typo that caused equalTriggerDescs() to return false in cases where
the two trigger sets were logically equal, but not in the same order.
Caught by Holger Krug (hkrug@rationalizer.com).

22 years agoApplied patch submitted by Ryouichi Matsuda (r-matuda@sra.co.jp) that fixed a problem...
Barry Lind [Tue, 15 Jan 2002 07:37:33 +0000 (07:37 +0000)]
Applied patch submitted by Ryouichi Matsuda (r-matuda@sra.co.jp) that fixed a problem with leading zeros being lost on fractional seconds when setting a timestamp value on a PreparedStatement.

22 years agoApplied patch from Ryouichi Matsuda <r-matuda@sra.co.jp> where the jdbc
Barry Lind [Tue, 15 Jan 2002 06:55:13 +0000 (06:55 +0000)]
Applied patch from Ryouichi Matsuda <r-matuda@sra.co.jp> where the jdbc
driver was not properly handling timestamptz datatype when using the
getObject() method on ResultSet.  Fix adds this datatype to the object mappings.

22 years agoManual page improvements.
Bruce Momjian [Tue, 15 Jan 2002 05:41:55 +0000 (05:41 +0000)]
Manual page improvements.

22 years agoMore cleanups.
Bruce Momjian [Tue, 15 Jan 2002 05:10:57 +0000 (05:10 +0000)]
More cleanups.

22 years agopg_upgrade doesn't live here anymore. Remove dangling references.
Tom Lane [Tue, 15 Jan 2002 05:05:49 +0000 (05:05 +0000)]
pg_upgrade doesn't live here anymore.  Remove dangling references.

22 years agoKeep pg_upgrade as disabled.
Bruce Momjian [Tue, 15 Jan 2002 05:03:53 +0000 (05:03 +0000)]
Keep pg_upgrade as disabled.

22 years agoMore wording improvements.
Bruce Momjian [Tue, 15 Jan 2002 05:03:25 +0000 (05:03 +0000)]
More wording improvements.

22 years agoMore updates.
Bruce Momjian [Tue, 15 Jan 2002 04:55:26 +0000 (04:55 +0000)]
More updates.

22 years agoRemove old pg_upgrade script, from Tom.
Bruce Momjian [Tue, 15 Jan 2002 04:52:33 +0000 (04:52 +0000)]
Remove old pg_upgrade script, from Tom.

22 years agoMore cleanups with ideas from Peter.
Bruce Momjian [Tue, 15 Jan 2002 04:50:37 +0000 (04:50 +0000)]
More cleanups with ideas from Peter.

22 years agoAdd Peter's portability and option suggestions.
Bruce Momjian [Tue, 15 Jan 2002 04:05:24 +0000 (04:05 +0000)]
Add Peter's portability and option suggestions.

22 years agoUpdate permissions?
Bruce Momjian [Mon, 14 Jan 2002 22:54:44 +0000 (22:54 +0000)]
Update permissions?

22 years agoReduce severity of 'XLogFlush: request is not satisfied' error condition,
Tom Lane [Mon, 14 Jan 2002 17:55:57 +0000 (17:55 +0000)]
Reduce severity of 'XLogFlush: request is not satisfied' error condition,
per my proposal of a couple days ago.  This will eliminate the unable-
to-restart-database class of problem that we have seen reported half a
dozen times with 7.1.*.

22 years agoEnsure that ecpg/test is cleaned by higher-level 'make clean'.
Tom Lane [Mon, 14 Jan 2002 17:49:56 +0000 (17:49 +0000)]
Ensure that ecpg/test is cleaned by higher-level 'make clean'.

22 years agoAdd README file.
Bruce Momjian [Mon, 14 Jan 2002 17:45:43 +0000 (17:45 +0000)]
Add README file.

22 years agoDoc improvements.
Bruce Momjian [Mon, 14 Jan 2002 17:42:42 +0000 (17:42 +0000)]
Doc improvements.

22 years agoAdd manual page to /contrib. SGML from docs.
Bruce Momjian [Mon, 14 Jan 2002 17:32:36 +0000 (17:32 +0000)]
Add manual page to /contrib.  SGML from docs.

22 years agoMove pg_upgrade to /contrib. Still need to make Peter's portability
Bruce Momjian [Mon, 14 Jan 2002 17:32:07 +0000 (17:32 +0000)]
Move pg_upgrade to /contrib.  Still need to make Peter's portability
changes.

22 years agoSmall AIX fixes from Rick Flower.
Bruce Momjian [Mon, 14 Jan 2002 15:34:41 +0000 (15:34 +0000)]
Small AIX fixes from  Rick Flower.

22 years agotag as beta 5 for *hopefully* a very very short beta cycle on this one?
PostgreSQL Daemon [Mon, 14 Jan 2002 13:15:28 +0000 (13:15 +0000)]
tag as beta 5 for *hopefully* a very very short beta cycle on this one?

22 years agoFix recreation of sequence files for 7.2 also because of XID change from
Bruce Momjian [Sun, 13 Jan 2002 17:52:00 +0000 (17:52 +0000)]
Fix recreation of sequence files for 7.2 also because of XID change from
beta4 to beta5.

22 years ago - Fixed variable handling for struct members.
Michael Meskes [Sun, 13 Jan 2002 08:52:09 +0000 (08:52 +0000)]
    - Fixed variable handling for struct members.
        - Removed check for array input. An attribut might store the
          complete array.

22 years agoNow works for 7.1 databases.
Bruce Momjian [Sun, 13 Jan 2002 05:36:42 +0000 (05:36 +0000)]
Now works for 7.1 databases.

22 years agoNow tested on 7.2->7.2 migration; still disabled. Need 7.1 testing now.
Bruce Momjian [Sun, 13 Jan 2002 04:55:44 +0000 (04:55 +0000)]
Now tested on 7.2->7.2 migration;  still disabled.  Need 7.1 testing now.

22 years agoKeep it disabled.
Bruce Momjian [Sun, 13 Jan 2002 01:22:27 +0000 (01:22 +0000)]
Keep it disabled.

22 years agoWow, it actually worked for the regression database. More testing needed.
Bruce Momjian [Sun, 13 Jan 2002 01:13:59 +0000 (01:13 +0000)]
Wow, it actually worked for the regression database.  More testing needed.

22 years agoBump catversion to ensure people apply recent timestamp and sequence
Tom Lane [Sat, 12 Jan 2002 18:09:04 +0000 (18:09 +0000)]
Bump catversion to ensure people apply recent timestamp and sequence
fixes.

22 years agoUpdate horology expected results (this variant extrapolated by yours
Tom Lane [Sat, 12 Jan 2002 18:07:34 +0000 (18:07 +0000)]
Update horology expected results (this variant extrapolated by yours
truly; should be verified by someone with an appropriate system).

22 years agoUpdate horology expected results (this variant verified on HPUX).
Tom Lane [Sat, 12 Jan 2002 18:06:53 +0000 (18:06 +0000)]
Update horology expected results (this variant verified on HPUX).

22 years agoRepair bugs in declarations of routines to add timestamptz and interval.
Thomas G. Lockhart [Sat, 12 Jan 2002 04:38:38 +0000 (04:38 +0000)]
Repair bugs in declarations of routines to add timestamptz and interval.
 Thanks to Bruce for spotting it and Tom Lane for diagnosing it.
Since horology test output is changing anyway, add some date/time input
 tests to horology.sql. Some of these should move to the tests for the
 individual data types, and we perhaps should add an entire new test
 for "timezone" to allow manipulating the current time zone without
 risking damage to the results of other tests.

22 years agoFix pg_dump to read-lock all tables to be dumped as soon as it's read
Tom Lane [Fri, 11 Jan 2002 23:21:55 +0000 (23:21 +0000)]
Fix pg_dump to read-lock all tables to be dumped as soon as it's read
their names from pg_class.  This considerably reduces the window wherein
someone could DROP or ALTER a table that pg_dump is intending to dump.
Not a perfect solution, but definitely an improvement.  Per complaints
from Marc Fournier; patch by Brent Verner with some kibitzing by Tom Lane.

22 years agoCode review for latest changes.
Tom Lane [Fri, 11 Jan 2002 21:27:13 +0000 (21:27 +0000)]
Code review for latest changes.

22 years agoMore man pages improvements; also needed to test sgml build.
Bruce Momjian [Fri, 11 Jan 2002 20:48:47 +0000 (20:48 +0000)]
More man pages improvements;  also needed to test sgml build.

22 years agoSync up.
Bruce Momjian [Fri, 11 Jan 2002 20:34:14 +0000 (20:34 +0000)]
Sync up.

22 years agoVACUUM must make sure that a HEAP_MARKED_FOR_UPDATE tuple gets marked
Tom Lane [Fri, 11 Jan 2002 20:07:03 +0000 (20:07 +0000)]
VACUUM must make sure that a HEAP_MARKED_FOR_UPDATE tuple gets marked
as either HEAP_XMAX_COMMITTED or HEAP_XMAX_INVALID once the updating
transaction is gone.  Otherwise some other transaction may come along
and try to test the commit status of t_xmax later --- which could be
after VACUUM has recycled the CLOG status for that xact.  Bug introduced
in post-beta4 bug fix.

22 years agoFix sequence creation to set the t_xmin of a sequence's tuple to
Tom Lane [Fri, 11 Jan 2002 18:16:04 +0000 (18:16 +0000)]
Fix sequence creation to set the t_xmin of a sequence's tuple to
FrozenTransactionId, not the XID of the creating transaction.  Without
this it's possible for a reference to a long-gone CLOG record to occur,
per Christian Meunier's bug report of 10-Jan-02.  Worse, the sequence
tuple would become invisible to SELECTs after 2 billion transactions.

Since the fix is applied during sequence creation it does not help
existing databases, unless you drop and recreate every sequence.
However, we intend to force initdb for 7.2RC1 anyway, to fix a pg_proc
error, so I see no need to do more for this problem.

22 years agoAdded Christof's fixes.
Michael Meskes [Fri, 11 Jan 2002 14:43:11 +0000 (14:43 +0000)]
Added Christof's fixes.

22 years agoMore testing, more cleanups.
Bruce Momjian [Fri, 11 Jan 2002 06:48:41 +0000 (06:48 +0000)]
More testing, more cleanups.

22 years agopg_resetxlog specifies log location in hex; more pg_upgrade testing
Bruce Momjian [Fri, 11 Jan 2002 06:33:01 +0000 (06:33 +0000)]
pg_resetxlog specifies log location in hex;  more pg_upgrade testing
improvments.

22 years agoMore cleanups.
Bruce Momjian [Fri, 11 Jan 2002 06:08:02 +0000 (06:08 +0000)]
More cleanups.

22 years ago*** empty log message ***
Hiroshi Inoue [Fri, 11 Jan 2002 06:01:47 +0000 (06:01 +0000)]
*** empty log message ***

22 years agoMore updates for int8 sequence restoration. Old dump file not required
Bruce Momjian [Fri, 11 Jan 2002 05:54:59 +0000 (05:54 +0000)]
More updates for int8 sequence restoration.  Old dump file not required
anymore.

22 years agoHandle int4-int8 sequence migration without full data dump.
Bruce Momjian [Fri, 11 Jan 2002 04:39:19 +0000 (04:39 +0000)]
Handle int4-int8 sequence migration without full data dump.

22 years agoAdd a directory to save the changes until 7.3-tree is branched.
Hiroshi Inoue [Fri, 11 Jan 2002 02:50:01 +0000 (02:50 +0000)]
Add a directory to save the changes until 7.3-tree is branched.

22 years agoMore improvements using pg_resetxlog. still disabled.
Bruce Momjian [Fri, 11 Jan 2002 00:27:42 +0000 (00:27 +0000)]
More improvements using pg_resetxlog.  still disabled.

22 years agoHave pg_resetxlog -n return zero exit status.
Bruce Momjian [Thu, 10 Jan 2002 23:46:13 +0000 (23:46 +0000)]
Have pg_resetxlog -n return zero exit status.

22 years agoUpdate FAQ.
Bruce Momjian [Thu, 10 Jan 2002 23:41:49 +0000 (23:41 +0000)]
Update FAQ.

22 years agoRemove 7.1beta WAL handling from /contrib/pg_resetxlog.
Bruce Momjian [Thu, 10 Jan 2002 23:40:58 +0000 (23:40 +0000)]
Remove 7.1beta WAL handling from /contrib/pg_resetxlog.

22 years agoUpdate FAQ.
Bruce Momjian [Thu, 10 Jan 2002 23:35:20 +0000 (23:35 +0000)]
Update FAQ.

22 years agoUpdate FAQ.
Bruce Momjian [Thu, 10 Jan 2002 23:35:19 +0000 (23:35 +0000)]
Update FAQ.

22 years agoUpdate FAQ.
Bruce Momjian [Thu, 10 Jan 2002 23:34:14 +0000 (23:34 +0000)]
Update FAQ.

22 years agoUpdate FAQ.
Bruce Momjian [Thu, 10 Jan 2002 23:33:35 +0000 (23:33 +0000)]
Update FAQ.

22 years agoUpdate FAQ.
Bruce Momjian [Thu, 10 Jan 2002 23:32:11 +0000 (23:32 +0000)]
Update FAQ.

22 years agoUpdate FAQ.
Bruce Momjian [Thu, 10 Jan 2002 23:07:07 +0000 (23:07 +0000)]
Update FAQ.

22 years agoAdd new -l flag to set checkpoint location for /contrib/pg_resetxlog.
Bruce Momjian [Thu, 10 Jan 2002 20:09:06 +0000 (20:09 +0000)]
Add new -l flag to set checkpoint location for /contrib/pg_resetxlog.

22 years agoTemporary workaround for links within bibliography references fouling up
Peter Eisentraut [Thu, 10 Jan 2002 18:22:44 +0000 (18:22 +0000)]
Temporary workaround for links within bibliography references fouling up
footnote count.

22 years agoPer Tom, do full reset on -x flag.
Bruce Momjian [Thu, 10 Jan 2002 18:08:29 +0000 (18:08 +0000)]
Per Tom, do full reset on -x flag.

22 years agoAdd new -x XID option to /contrib/pg_resetxlog for future pg_upgrade use.
Bruce Momjian [Thu, 10 Jan 2002 17:51:52 +0000 (17:51 +0000)]
Add new -x XID option to /contrib/pg_resetxlog for future pg_upgrade use.

22 years agoInclude sqlca.h automatically.
Michael Meskes [Thu, 10 Jan 2002 10:42:54 +0000 (10:42 +0000)]
Include sqlca.h automatically.

22 years agoMore pg_upgrade improvements. Almost done, except for max transaction
Bruce Momjian [Thu, 10 Jan 2002 04:58:19 +0000 (04:58 +0000)]
More pg_upgrade improvements.  Almost done, except for max transaction
setting.

22 years agoMore improvements; still disabled. (Don't panic.)
Bruce Momjian [Thu, 10 Jan 2002 03:05:48 +0000 (03:05 +0000)]
More improvements;  still disabled.  (Don't panic.)

22 years agoThe result of getopt() should be compared to -1, not EOF, per
Tom Lane [Thu, 10 Jan 2002 01:11:45 +0000 (01:11 +0000)]
The result of getopt() should be compared to -1, not EOF, per
pgsql-hackers discussion of this date.

22 years agoDescribe type casts under the heading of Value Expressions, and explain
Tom Lane [Wed, 9 Jan 2002 23:38:06 +0000 (23:38 +0000)]
Describe type casts under the heading of Value Expressions, and explain
the difference between a run-time type cast and casting a literal string
to a specific type.  Minor editorial work in same area.

22 years agoUpdate with new features. Still disabled.
Bruce Momjian [Wed, 9 Jan 2002 21:50:52 +0000 (21:50 +0000)]
Update with new features.  Still disabled.

22 years agoFix use of 'char' to hold result of getc, per bug report forwarded by
Tom Lane [Wed, 9 Jan 2002 19:13:41 +0000 (19:13 +0000)]
Fix use of 'char' to hold result of getc, per bug report forwarded by
Oliver Elphick.  A few other minor cleanups while at it.

22 years agoFix portability problem (result of getopt is int, not char).
Tom Lane [Wed, 9 Jan 2002 18:21:46 +0000 (18:21 +0000)]
Fix portability problem (result of getopt is int, not char).

22 years agoRemove clog copy.
Bruce Momjian [Wed, 9 Jan 2002 16:08:54 +0000 (16:08 +0000)]
Remove clog copy.

22 years agoMake improvements to pg_upgrade; is still disabled.
Bruce Momjian [Wed, 9 Jan 2002 16:00:46 +0000 (16:00 +0000)]
Make improvements to pg_upgrade; is still disabled.

22 years agoAdd quotes around $bindir.
Bruce Momjian [Wed, 9 Jan 2002 04:56:44 +0000 (04:56 +0000)]
Add quotes around $bindir.

22 years agoMake spelling of operating system names match official version closely.
Peter Eisentraut [Wed, 9 Jan 2002 00:52:38 +0000 (00:52 +0000)]
Make spelling of operating system names match official version closely.
And listing QNX 6 as both supported and unsupported is probably not helpful.

22 years agoFix include paths for case of VPATH build.
Tom Lane [Wed, 9 Jan 2002 00:06:42 +0000 (00:06 +0000)]
Fix include paths for case of VPATH build.

22 years agoAdjust spelling of article titles to match the originals, add some links.
Peter Eisentraut [Tue, 8 Jan 2002 23:50:37 +0000 (23:50 +0000)]
Adjust spelling of article titles to match the originals, add some links.

22 years agomake install failed in VPATH build.
Tom Lane [Tue, 8 Jan 2002 23:40:02 +0000 (23:40 +0000)]
make install failed in VPATH build.

22 years agoFix copy-and-paste mistake exposed by gcc warning.
Tom Lane [Tue, 8 Jan 2002 23:34:47 +0000 (23:34 +0000)]
Fix copy-and-paste mistake exposed by gcc warning.

22 years agoIn a VPATH build, resultmap must be one of the symlinked files, else
Tom Lane [Tue, 8 Jan 2002 21:00:30 +0000 (21:00 +0000)]
In a VPATH build, resultmap must be one of the symlinked files, else
pg_regress doesn't see it and you don't get any port-specific
comparisons.

22 years agoRevert last change (CFLAGS+=-g). Probably was a mistake...
Peter Eisentraut [Tue, 8 Jan 2002 20:41:28 +0000 (20:41 +0000)]
Revert last change (CFLAGS+=-g).  Probably was a mistake...

22 years agoUpdate Lockhart's email address.
Bruce Momjian [Tue, 8 Jan 2002 20:04:31 +0000 (20:04 +0000)]
Update Lockhart's email address.

< * Thomas is Thomas Lockhart <lockhart@alumni.caltech.edu>
---
> * Thomas is Thomas Lockhart <lockhart@fourpalms.org>

22 years agoUpdate Thomas Lockhart's email address to lockhart@fourpalms.org.
Bruce Momjian [Tue, 8 Jan 2002 20:03:58 +0000 (20:03 +0000)]
Update Thomas Lockhart's email address to lockhart@fourpalms.org.

22 years agoRemove shift/reduce conflicts introduced by last change.
Tom Lane [Tue, 8 Jan 2002 19:02:51 +0000 (19:02 +0000)]
Remove shift/reduce conflicts introduced by last change.

22 years agoRepair the GEQO bibliography. It was marked up all wrong. Move some of
Peter Eisentraut [Tue, 8 Jan 2002 18:03:26 +0000 (18:03 +0000)]
Repair the GEQO bibliography.  It was marked up all wrong.  Move some of
the info to the main bibliography.

22 years agoFix lpad() and rpad() to produce correct results in variable-length
Tom Lane [Tue, 8 Jan 2002 17:03:41 +0000 (17:03 +0000)]
Fix lpad() and rpad() to produce correct results in variable-length
multibyte encodings.

22 years agoPoint to main CPAN site, and reword a little.
Peter Eisentraut [Tue, 8 Jan 2002 16:13:41 +0000 (16:13 +0000)]
Point to main CPAN site, and reword a little.

22 years agoMinor wordsmithing.
Tom Lane [Tue, 8 Jan 2002 15:38:42 +0000 (15:38 +0000)]
Minor wordsmithing.

22 years agoMake FreeBSD URL point to the right chapter again.
Peter Eisentraut [Tue, 8 Jan 2002 15:16:16 +0000 (15:16 +0000)]
Make FreeBSD URL point to the right chapter again.

22 years agoFixed array pointers, no longer using void * in arithmetics.
Michael Meskes [Tue, 8 Jan 2002 14:25:06 +0000 (14:25 +0000)]
Fixed array pointers, no longer using void * in arithmetics.

22 years agoEmail address no longer valid.
Bruce Momjian [Tue, 8 Jan 2002 05:45:19 +0000 (05:45 +0000)]
Email address no longer valid.

22 years agoUpdate bad URL's with good ones.
Bruce Momjian [Tue, 8 Jan 2002 05:39:26 +0000 (05:39 +0000)]
Update bad URL's with good ones.

22 years agoUpdate my2pg to version 1.22.
Bruce Momjian [Mon, 7 Jan 2002 22:36:51 +0000 (22:36 +0000)]
Update my2pg to version 1.22.

22 years agoAdd variants of digest() and hmac() that accept text inputs.
Tom Lane [Mon, 7 Jan 2002 18:56:09 +0000 (18:56 +0000)]
Add variants of digest() and hmac() that accept text inputs.
 Marko Kreen says:
This is so obvious that I would like to make it 'official'.

Seems like the theology around bytea<>text casting kept me from
seeing the simple :)

22 years agoTweak LWLock algorithms so that an awakened waiter for a lock is not
Tom Lane [Mon, 7 Jan 2002 16:33:00 +0000 (16:33 +0000)]
Tweak LWLock algorithms so that an awakened waiter for a lock is not
granted the lock when awakened; the signal now only means that the lock
is potentially available.  The waiting process must retry its attempt
to get the lock when it gets to run.  This allows the lock releasing
process to re-acquire the lock later in its timeslice.  Since LWLocks
are usually held for short periods, it is possible for a process to
acquire and release the same lock many times in a timeslice.  The old
spinlock-based implementation of these locks allowed for that; but the
original coding of LWLock would force a process swap for each acquisition
if there was any contention.  Although this approach reopens the door to
process starvation (a waiter might repeatedly fail to get the lock),
the odds of that being a big problem seem low, and the performance cost
of the previous approach is considerable.