Tom Lane [Fri, 25 Jan 2002 18:49:31 +0000 (18:49 +0000)]
Tweak pg_dump to say GRANT ALL when appropriate, rather than enumerating
the individual privilege bits. I regard this as an important change for
cross-version compatibility: without this, a 7.1 dump loaded into 7.2
is likely to be short a few privileges.
Bruce Momjian [Fri, 25 Jan 2002 01:04:47 +0000 (01:04 +0000)]
Add 128 mention:
> * Increase identifier length (NAMEDATALEN) if small performance hit,
> perhaps to standard length of 128; change struct pgNotify to use pid
> first, breaks notify API;
Tom Lane [Thu, 24 Jan 2002 19:31:36 +0000 (19:31 +0000)]
pltcl's spi_execp didn't handle NULL arguments quite correctly.
It would try to call the input conversion routines for them anyway.
So, a valid input string for the datatype had to be supplied.
Tom Lane [Thu, 24 Jan 2002 15:31:43 +0000 (15:31 +0000)]
Fix logic error in insert_fsm_page_entry: because compact_fsm_page_list
removes any empty chunks, the chunk previously added won't be there
anymore, so it's possible there is zero free space in the rel's page list
afterwards. Must loop back and rerun the part that adds a chunk to
the list.
Tom Lane [Wed, 23 Jan 2002 18:45:41 +0000 (18:45 +0000)]
Clean up Red Hat Tcl RPM brain-damage in a more reliable way: fix the
value of TCL_SHLIB_LD in the shell script that creates Makefile.tcldefs,
rather than trying to persude gmake to do it.
Bruce Momjian [Wed, 23 Jan 2002 16:14:04 +0000 (16:14 +0000)]
Add:
> * Reorder postgresql.conf WAL items in order of importance
> * Remove wal_files postgresql.conf option because WAL files are now recycled
> * Find proper defaults for postgresql.conf WAL entries
> * Add checkpoint_min_warning postgresql.conf option to warn about checkpoints
> that are too frequent
Bruce Momjian [Tue, 22 Jan 2002 22:22:34 +0000 (22:22 +0000)]
Clarify URL:
< http://www1.distributed.net/source, in client/common/cpucheck.cpp
---
> from distributted.net, http://www1.distributed.net/source,
> in client/common/cpucheck.cpp
Tom Lane [Tue, 22 Jan 2002 19:02:40 +0000 (19:02 +0000)]
libpq++/pgconnection.h must not include postgres_fe.h, else it fails to
compile in client apps that use the standard installed header set.
To allow removing that include, move DLLIMPORT definitions out of c.h
and into the appropriate port-specific header files.
Tom Lane [Fri, 18 Jan 2002 17:13:51 +0000 (17:13 +0000)]
Fix pg_restore to handle the 'set max oid' entry correctly in archives
dumped by pg_dump -o. Per bug report posted by Bruce; fix is from
Philip Warner, reviewed by Tom Lane.
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.
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.
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.
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.
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).
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.
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.
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.*.
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.
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.
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.
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.