Bruce Momjian [Fri, 10 Sep 2004 22:38:52 +0000 (22:38 +0000)]
Done:
< * Have AFTER triggers execute after the appropriate SQL statement in a
> * -Have AFTER triggers execute after the appropriate SQL statement in a
Tom Lane [Fri, 10 Sep 2004 20:05:18 +0000 (20:05 +0000)]
Fix some problems with restoring databases owned by non-superusers,
as per bug #1249; and remove the last vestiges of using \connect to
change authorization.
Tom Lane [Fri, 10 Sep 2004 18:40:09 +0000 (18:40 +0000)]
Fire non-deferred AFTER triggers immediately upon query completion,
rather than when returning to the idle loop. This makes no particular
difference for interactively-issued queries, but it makes a big difference
for queries issued within functions: trigger execution now occurs before
the calling function is allowed to proceed. This responds to numerous
complaints about nonintuitive behavior of foreign key checking, such as
http://archives.postgresql.org/pgsql-bugs/2004-09/msg00020.php, and
appears to be required by the SQL99 spec.
Also take the opportunity to simplify the data structures used for the
pending-trigger list, rename them for more clarity, and squeeze out a
bit of space.
Bruce Momjian [Fri, 10 Sep 2004 16:35:56 +0000 (16:35 +0000)]
Add:
> * Make row-wise comparisons work per SQL spec
>
Bruce Momjian [Fri, 10 Sep 2004 15:51:47 +0000 (15:51 +0000)]
Fix #if define
Bruce Momjian [Fri, 10 Sep 2004 15:23:51 +0000 (15:23 +0000)]
Fix palloc call from /port for Cygwin.
Bruce Momjian [Fri, 10 Sep 2004 15:20:19 +0000 (15:20 +0000)]
Properly include port file for Cygwin.
Bruce Momjian [Fri, 10 Sep 2004 14:27:37 +0000 (14:27 +0000)]
Minor cleanup.
Bruce Momjian [Fri, 10 Sep 2004 14:24:25 +0000 (14:24 +0000)]
More cleanup.
Bruce Momjian [Fri, 10 Sep 2004 13:53:40 +0000 (13:53 +0000)]
Use $PORTNAME consistently instead of $host_os, where appropriate.
Bruce Momjian [Fri, 10 Sep 2004 10:03:41 +0000 (10:03 +0000)]
Add:
> * Remove Win32 rename/unlink looping if unnecessary
Bruce Momjian [Fri, 10 Sep 2004 09:58:21 +0000 (09:58 +0000)]
Add mention loops over unlink/rename might not be needed.
Bruce Momjian [Fri, 10 Sep 2004 09:53:08 +0000 (09:53 +0000)]
Move undef of rename/unlink so system declarations are unmodified.
Bruce Momjian [Fri, 10 Sep 2004 09:45:21 +0000 (09:45 +0000)]
Adjust quotes for win32 build of psql.
Neil Conway [Fri, 10 Sep 2004 04:36:42 +0000 (04:36 +0000)]
Fix two typos in comments.
Neil Conway [Fri, 10 Sep 2004 04:31:06 +0000 (04:31 +0000)]
Apply patch from Steven Singer for contrib/dbmirror. Changes:
-It fixes up some bugs with handling setval calls
-Adds upgrade instructions from prior versions
-Improved the sample config file
-Fixed some things in the clean_pending script
Neil Conway [Fri, 10 Sep 2004 04:10:53 +0000 (04:10 +0000)]
psql consistency fixes from Greg Sabino Mullane: have \df show schema and
name first, make sure \di+ shows description last, and make \dl SQL look
a little more standard.
Bruce Momjian [Fri, 10 Sep 2004 03:48:54 +0000 (03:48 +0000)]
Create pg_config_paths in port/ for win32 builds of psql.
Bruce Momjian [Fri, 10 Sep 2004 02:49:37 +0000 (02:49 +0000)]
Clean up Cygwin test.
Bruce Momjian [Thu, 9 Sep 2004 14:18:20 +0000 (14:18 +0000)]
Move TIMEZONE_GLOBAL out into the proper place.
Bruce Momjian [Thu, 9 Sep 2004 09:57:23 +0000 (09:57 +0000)]
We don't use java in our compiles anymore so remove the filter test from
pgtest.
Dennis Bjorklund [Thu, 9 Sep 2004 06:56:48 +0000 (06:56 +0000)]
Added a call to gettext() to fix broken translated error messages.
Dennis Bjorklund [Thu, 9 Sep 2004 06:46:57 +0000 (06:46 +0000)]
Translation updates
Dennis Bjorklund [Thu, 9 Sep 2004 06:32:13 +0000 (06:32 +0000)]
Some source files was not scanned for translatable strings.
Dennis Bjorklund [Thu, 9 Sep 2004 06:02:39 +0000 (06:02 +0000)]
Translation updates
Bruce Momjian [Thu, 9 Sep 2004 00:59:49 +0000 (00:59 +0000)]
Fix Cygwin defines to be consistent.
Bruce Momjian [Thu, 9 Sep 2004 00:24:12 +0000 (00:24 +0000)]
Make TZNAME_GLOBAL for reference to tzname global variable.
Tom Lane [Wed, 8 Sep 2004 23:47:58 +0000 (23:47 +0000)]
Minor efficiency improvements in keeping track of trigger deferred
status. In particular, I see no reason for deferredTriggerCheckState
to make an explicit entry to note that a particular trigger has its
default state --- that just clutters a list that should normally be
empty or very short. I have plans to revise this module much more
heavily, but this is a simple separable improvement.
Tom Lane [Wed, 8 Sep 2004 20:47:37 +0000 (20:47 +0000)]
Clarify description of SET CONSTRAINTS. Point out that it is still
missing the ability to schema-qualify constraint names.
Bruce Momjian [Wed, 8 Sep 2004 19:43:12 +0000 (19:43 +0000)]
Use _timezone global on Cygwin instead of timezone.
Bruce Momjian [Wed, 8 Sep 2004 19:35:33 +0000 (19:35 +0000)]
Improve README with mention of new functions.
Tom Lane [Tue, 7 Sep 2004 21:48:30 +0000 (21:48 +0000)]
Fix a couple of small errors in trigger-list management, as per recent
discussion.
Tom Lane [Tue, 7 Sep 2004 14:31:42 +0000 (14:31 +0000)]
Fix places where WaitForxxx can block, to eliminate failure to detect
deadlock on Win32. Magnus Hagander
Tom Lane [Mon, 6 Sep 2004 23:55:34 +0000 (23:55 +0000)]
Fix error in Windows version of CHECK_FOR_INTERRUPTS macro.
This prevented statement_timeout from working.
Magnus Hagander
Tom Lane [Mon, 6 Sep 2004 23:33:48 +0000 (23:33 +0000)]
Fix a number of places where brittle data structures or overly strong
Asserts would lead to a server core dump if an error occurred while
trying to abort a failed subtransaction (thereby leading to re-execution
of whatever parts of AbortSubTransaction had already run). This of course
does not prevent such an error from creating an infinite loop, but at
least we don't make the situation worse. Responds to an open item on
the subtransactions to-do list.
Tom Lane [Mon, 6 Sep 2004 18:10:38 +0000 (18:10 +0000)]
Guard against transaction control statements in SQL functions. This
never worked, but it particularly doesn't work now.
Tom Lane [Mon, 6 Sep 2004 17:56:33 +0000 (17:56 +0000)]
Fix incorrect ordering of smgr cleanup relative to buffer pin cleanup
during transaction abort. Add a regression test case to catch related
mistakes in future. Alvaro Herrera and Tom Lane.
Tom Lane [Mon, 6 Sep 2004 17:31:32 +0000 (17:31 +0000)]
I can't see any good reason for DropRelFileNodeBuffers to be issuing
FATAL when it detects a nonzero reference count. Reduce to ERROR.
Michael Meskes [Mon, 6 Sep 2004 11:23:07 +0000 (11:23 +0000)]
Fixed segfault in Informix mode.
Tom Lane [Mon, 6 Sep 2004 03:04:27 +0000 (03:04 +0000)]
Downgrade LOG messages to DEBUG1 for normal recycling of xlog, clog,
subtrans segments. Per Greg Mullane and Chris K-L.
Tom Lane [Sun, 5 Sep 2004 23:01:26 +0000 (23:01 +0000)]
Simplify IsXactIsoLevelSerializable test. A cycle saved is a cycle
earned ...
Tom Lane [Sun, 5 Sep 2004 03:42:13 +0000 (03:42 +0000)]
On further consideration, there's another problem here: the existing
elog() emulation code always calls errstart with ERROR error level.
This means that a recursive error call triggered by elog would do
MemoryContextReset(ErrorContext), whether or not this was actually
appropriate. I'm surprised we haven't seen this in the field...
Tom Lane [Sun, 5 Sep 2004 02:01:41 +0000 (02:01 +0000)]
Tweak elog.c's logic for promoting errors into more severe errors.
Messages of less than ERROR severity should never be promoted (this
fixes Gaetano Mendola's problem with a COMMERROR becoming a PANIC,
and is obvious in hindsight anyway). Do all promotion in errstart
not errfinish, to ensure that output decisions are made correctly;
the former coding could suppress logging of promoted errors, which
doesn't seem like a good idea. Eliminate some redundant code too.
Tom Lane [Thu, 2 Sep 2004 23:06:43 +0000 (23:06 +0000)]
Fix shared library linking operations to work properly on all (or at
least more) combinations of HP-UX hardware, compiler, and linker.
Shinji Teragaito and Tom Lane.
Tom Lane [Thu, 2 Sep 2004 21:03:30 +0000 (21:03 +0000)]
Apparently HPUX runs the IA64 in big-endian mode.
Tom Lane [Thu, 2 Sep 2004 20:53:42 +0000 (20:53 +0000)]
Fix ancient declaration inconsistency in cube & seg ... came across a
compiler that warns about it.
Tom Lane [Thu, 2 Sep 2004 20:39:57 +0000 (20:39 +0000)]
Some versions of lex will drop a lex.yy.c file when we probe to see if
they are flex. Clean up after them.
Tom Lane [Thu, 2 Sep 2004 20:07:50 +0000 (20:07 +0000)]
Yet another place where someone was being careless about the arguments
of <ctype.h> macros.
Tom Lane [Thu, 2 Sep 2004 17:58:41 +0000 (17:58 +0000)]
Spelling correction, per Greg Mullane.
Tom Lane [Thu, 2 Sep 2004 17:55:16 +0000 (17:55 +0000)]
Fix getrusage() emulation on Windows. Magnus Hagander
Tom Lane [Thu, 2 Sep 2004 17:46:24 +0000 (17:46 +0000)]
FAQ_HPUX updates from Shinji Teragaito.
Tom Lane [Thu, 2 Sep 2004 17:12:50 +0000 (17:12 +0000)]
Cope with recent HPUX versions providing isfinite() instead of finite().
Tom Lane [Thu, 2 Sep 2004 17:10:58 +0000 (17:10 +0000)]
Add s_lock support for HPUX on IA64, per Shinji Teragaito.
Tom Lane [Thu, 2 Sep 2004 16:42:00 +0000 (16:42 +0000)]
Remove useless variable.
Tom Lane [Thu, 2 Sep 2004 15:39:56 +0000 (15:39 +0000)]
Use $PATH_SEPARATOR like the rest of the autoconf code, instead of
hardwiring IFS=: when searching paths.
Bruce Momjian [Thu, 2 Sep 2004 04:04:04 +0000 (04:04 +0000)]
Remove line specifying Andreas as author.
Bruce Momjian [Thu, 2 Sep 2004 02:02:02 +0000 (02:02 +0000)]
Remove pg_config_paths.h from libpq *.mak builds so later MinGW builds
will succeed.
Bruce Momjian [Thu, 2 Sep 2004 01:18:46 +0000 (01:18 +0000)]
Add:
> * Consider using hash buckets to do DISTINCT, rather than sorting
>
> This would be beneficial when there are few distinct values.
Bruce Momjian [Thu, 2 Sep 2004 01:15:06 +0000 (01:15 +0000)]
Back out timezone detection patch. Tom already applied it.
Bruce Momjian [Thu, 2 Sep 2004 01:03:59 +0000 (01:03 +0000)]
This patch attempts to fix the issue with localized timezones on
Windows.
Recap: When running on a localized windows version, the timezone name
returned is also localized, and therefor does not match our lookup
table.
Solution: The registry contains both the name of the timezone in english
and the localized name. The patch adds code to scan the registry for the
localized name and gets the english name from that, and then rescans the
table.
I have tested this on a Swedish WinXP, and it works without problems.
The registry layout is the same in Win2k, but I haven't specifically
tested it. It's also the same on different languages but again only
Swedish is tested.
Magnus Hagander
Bruce Momjian [Thu, 2 Sep 2004 00:55:22 +0000 (00:55 +0000)]
The current implementation of dbsize doesn't handle tables in
tablespaces correctly, and is quite restricted on objects covered (only
tables and databases, but not tablespaces and indexes).
The attached patch contributes:
- database_size(name)
- relation_size(text)
These are the well-known functions, tablespace-aware.
- pg_tablespace_size(oid)
- pg_database_size(oid)
- pg_relation_size(oid)
Tablespace-aware implementations, used by the upper functions.
pg_relation_size will report sizes of indexes as well.
- pg_size_pretty(bigint)
Formatting of sizes, to display '146MB' instead of '
152885668'
Andreas Pflug
Tom Lane [Thu, 2 Sep 2004 00:22:16 +0000 (00:22 +0000)]
Remove obsolete comment.
Tom Lane [Wed, 1 Sep 2004 23:58:38 +0000 (23:58 +0000)]
Tweak prettyprinting rules for saner indenting of UNION, INTERSECT,
EXCEPT constructs.
Bruce Momjian [Wed, 1 Sep 2004 23:45:16 +0000 (23:45 +0000)]
Fix bcc to compile libpq by creating include file for path.c.
Bruce Momjian [Wed, 1 Sep 2004 23:35:16 +0000 (23:35 +0000)]
Realign libpq and psql for need for path.c under Win32 VC and BCC.
Bruce Momjian [Wed, 1 Sep 2004 18:59:35 +0000 (18:59 +0000)]
Back out Cygwin timezone change until we have a more global solution.
Tom Lane [Wed, 1 Sep 2004 18:04:32 +0000 (18:04 +0000)]
Fix mistaken comment.
Tom Lane [Wed, 1 Sep 2004 17:25:40 +0000 (17:25 +0000)]
Whack Wisconsin benchmark around until it actually works again.
It's still useless because it tests a standalone backend, but at least
the bit rot is repaired.
Tom Lane [Wed, 1 Sep 2004 16:21:50 +0000 (16:21 +0000)]
Add code to be able to match the timezone name on localized Windows
systems. Magnus Hagander.
Tom Lane [Wed, 1 Sep 2004 14:09:19 +0000 (14:09 +0000)]
Remove a stray reference to sequences as having tablespaces.
Dennis Bjorklund [Wed, 1 Sep 2004 10:11:08 +0000 (10:11 +0000)]
Translation updates
Tom Lane [Wed, 1 Sep 2004 04:13:11 +0000 (04:13 +0000)]
Add a note about the difference between Postgres' treatment of the rights
of an object owner and the SQL spec's treatment of these rights.
Bruce Momjian [Wed, 1 Sep 2004 04:02:06 +0000 (04:02 +0000)]
Cast _timezone to int from time_t for Cygwin.
Bruce Momjian [Wed, 1 Sep 2004 03:28:15 +0000 (03:28 +0000)]
Add index mention:
<P>In pre-8.0 releases, indexes often can not be used unless the data
types exactly match the index's column types. This is particularly
true of int2, int8, and numeric column indexes.</P>
Bruce Momjian [Wed, 1 Sep 2004 00:10:01 +0000 (00:10 +0000)]
src/bin/psql/tab-complete.c =~ s/CONVERSATION/CONVERSION/;
Greg Sabino Mullane
Tom Lane [Tue, 31 Aug 2004 23:27:05 +0000 (23:27 +0000)]
needs_toast_table() should ignore dropped columns.
Tom Lane [Tue, 31 Aug 2004 22:43:58 +0000 (22:43 +0000)]
Code review for recent changes in guc-file.l. Avoid multiple frees,
use of already-freed strings, other silliness. Also fix reporting of
config file syntax errors so that it actually works reasonably well
(eg, points at the correct line). Use palloc instead of malloc for
temporary storage to reduce code clutter.
Tom Lane [Tue, 31 Aug 2004 19:28:51 +0000 (19:28 +0000)]
Code review for various recent GUC hacking. Don't elog(ERROR) when
not supposed to (fixes problem with postmaster aborting due to mistaken
postgresql.conf change); don't call superuser() when not inside a
transaction (fixes coredump when, eg, try to set log_statement from
PGOPTIONS); some message style guidelines enforcement.
Tom Lane [Tue, 31 Aug 2004 17:10:36 +0000 (17:10 +0000)]
Fix unintended assignment of sequences to the containing schema's
default tablespace --- they should always go in the database's default
tablespace. Adjust heap_create() API so that it is passed the relkind
to make this easier; should simplify any further tweaking of the same
sort.
Tom Lane [Tue, 31 Aug 2004 16:13:06 +0000 (16:13 +0000)]
FlushRelationBuffers was also being a bit cavalier about whether the
relation is already opened by smgr.
Tom Lane [Tue, 31 Aug 2004 15:56:39 +0000 (15:56 +0000)]
copy_relation_data was mistakenly assuming that the source relation
would always be already open at the smgr level. Per bug report from
Fabien Coelho.
Bruce Momjian [Tue, 31 Aug 2004 11:29:56 +0000 (11:29 +0000)]
Define lstat with parameters, rather than just redefining the symbol.
Bruce Momjian [Tue, 31 Aug 2004 11:25:33 +0000 (11:25 +0000)]
Fix typo in lstat() macro exposed by new tablespace code.
Tom Lane [Tue, 31 Aug 2004 04:53:44 +0000 (04:53 +0000)]
Replace log_filename_prefix with more general log_filename parameter,
to allow DBA to choose the form in which log filenames reflect the
current time. Also allow for truncating instead of appending to
pre-existing files --- this is convenient when the log filename pattern
rewrites the same names cyclically. Per Ed L.
PostgreSQL Daemon [Tue, 31 Aug 2004 04:08:33 +0000 (04:08 +0000)]
tag configure beta2
Tom Lane [Mon, 30 Aug 2004 23:47:20 +0000 (23:47 +0000)]
Improve spinlock selftest to make it able to detect misdeclaration of
the slock_t datatype (ie, declared type smaller than what the hardware
TAS instruction needs).
Tom Lane [Mon, 30 Aug 2004 22:49:07 +0000 (22:49 +0000)]
slock_t must be int not char for MIPS. 7.4 got this right, but the
info was apparently mistranscribed in s_lock code rearrangement.
Tom Lane [Mon, 30 Aug 2004 21:29:12 +0000 (21:29 +0000)]
Avoid ambiguity, as per suggestion from Peter Stricker.
Tom Lane [Mon, 30 Aug 2004 21:25:27 +0000 (21:25 +0000)]
Rather than referring to src/tutorial/README, put the build instructions
for the tutorial files right here.
Tom Lane [Mon, 30 Aug 2004 19:44:14 +0000 (19:44 +0000)]
Fix obviously-utterly-untested noTocComments code.
Tom Lane [Mon, 30 Aug 2004 19:00:42 +0000 (19:00 +0000)]
Ensure that the remainder of the current pg_clog page is zeroed during
startup, just to be sure that there's no leftover junk there.
Tom Lane [Mon, 30 Aug 2004 19:00:03 +0000 (19:00 +0000)]
Fix failure to advance nextXID beyond subtransactions whose XIDs appear
only within COMMIT or ABORT records.
Bruce Momjian [Mon, 30 Aug 2004 16:08:20 +0000 (16:08 +0000)]
Remove item because it is on the open item list:
< * Fix oid2name and dbsize for tablespaces
Tom Lane [Mon, 30 Aug 2004 03:52:43 +0000 (03:52 +0000)]
Tweak md.c logic to cope with the situation where WAL replay tries to
write into a high-numbered segment of a relation that was later deleted.
We need to temporarily recreate missing segment files, instead of
failing.
Tom Lane [Mon, 30 Aug 2004 03:50:24 +0000 (03:50 +0000)]
Dept. of second thoughts: it'd be a good idea to flush buffers
during replay of CREATE DATABASE as well as the first time around.
Else it's possible that the copy operation will copy obsolete blocks.
We are still a long way from guaranteeing anything about using a
recently-written database as a CREATE template, but this seems needed
to ensure the existing behavior holds up during replay.
Bruce Momjian [Mon, 30 Aug 2004 03:31:29 +0000 (03:31 +0000)]
Add Win32 service capability to pg_autovacuum.
Dave Page
Bruce Momjian [Mon, 30 Aug 2004 02:54:42 +0000 (02:54 +0000)]
Another pgindent run with lib typedefs added.
Tom Lane [Mon, 30 Aug 2004 00:47:31 +0000 (00:47 +0000)]
Add note that contrib/rserv is gone.
Tom Lane [Mon, 30 Aug 2004 00:33:52 +0000 (00:33 +0000)]
Add explicit note that empty-string array element values now have to
be written with quotes. Minor copy-editing too.
Tom Lane [Sun, 29 Aug 2004 21:08:48 +0000 (21:08 +0000)]
Add WAL logging for CREATE/DROP DATABASE and CREATE/DROP TABLESPACE.
Fix TablespaceCreateDbspace() to be able to create a dummy directory
in place of a dropped tablespace's symlink. This eliminates the open
problem of a PANIC during WAL replay when a replayed action attempts
to touch a file in a since-deleted tablespace. It also makes for a
significant improvement in the usability of PITR replay.