summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2007-10-13Migrate the former contrib/txid module into core. This will make it easierTom Lane
for Slony and Skytools to depend on it. Per discussion.
2007-10-13Try to fix msvc build for recent initdb changes.Tom Lane
2007-10-13Strengthen type_sanity's check on pg_type.typarray. It failed toTom Lane
complain about types that didn't have typarray set. Noted while working on txid patch.
2007-10-13Guard against possible double free during error escape from XMLTom Lane
functions. Patch for the reported issue from Kris Jurka, some other potential trouble spots plugged by Tom.
2007-10-13Fix the inadvertent libpq ABI breakage discovered by Martin Pitt: theTom Lane
renumbering of encoding IDs done between 8.2 and 8.3 turns out to break 8.2 initdb and psql if they are run with an 8.3beta1 libpq.so. For the moment we can rearrange the order of enum pg_enc to keep the same number for everything except PG_JOHAB, which isn't a problem since there are no direct references to it in the 8.2 programs anyway. (This does force initdb unfortunately.) Going forward, we want to fix things so that encoding IDs can be changed without an ABI break, and this commit includes the changes needed to allow libpq's encoding IDs to be treated as fully independent of the backend's. The main issue is that libpq clients should not include pg_wchar.h or otherwise assume they know the specific values of libpq's encoding IDs, since they might encounter version skew between pg_wchar.h and the libpq.so they are using. To fix, have libpq officially export functions needed for encoding name<=>ID conversion and validity checking; it was doing this anyway unofficially. It's still the case that we can't renumber backend encoding IDs until the next bump in libpq's major version number, since doing so will break the 8.2-era client programs. However the code is now prepared to avoid this type of problem in future. Note that initdb is no longer a libpq client: we just pull in the two source files we need directly. The patch also fixes a few places that were being sloppy about checking for an unrecognized encoding name.
2007-10-13Fix ALTER COLUMN TYPE to preserve the tablespace and reloptions of indexesTom Lane
it affects. The original coding neglected tablespace entirely (causing the indexes to move to the database's default tablespace) and for an index belonging to a UNIQUE or PRIMARY KEY constraint, it would actually try to assign the parent table's reloptions to the index :-(. Per bug #3672 and subsequent investigation. 8.0 and 8.1 did not have reloptions, but the tablespace bug is present.
2007-10-13Teach planagg.c that partial indexes specifying WHERE foo IS NOT NULL can beTom Lane
used to perform MIN(foo) or MAX(foo), since we want to discard null rows in the indexscan anyway. (This would probably fall out for free if we were injecting the IS NOT NULL clause somewhere earlier, but given the current anatomy of the MIN/MAX optimization code we have to do it explicitly. Fortunately, very little added code is needed.) Per a discussion with Henk de Wit.
2007-10-12When telling the bgwriter that we need a checkpoint because too much xlogTom Lane
has been consumed, recheck against the latest value of RedoRecPtr before really sending the signal. This avoids useless checkpoint activity if XLogWrite is executed when we have a very stale local copy of RedoRecPtr. The potential for useless checkpoint is very much worse in 8.3 because of the walwriter process (which never does XLogInsert), so while this behavior was intentional, it needs to be changed. Per report from Itagaki Takahiro.
2007-10-12Remove hack in pg_tablespace_aclmask() that disallowed permissionsTom Lane
on pg_global even to superusers, and replace it with checks in various other places to complain about invalid uses of pg_global. This ends up being a bit more code but it allows a more specific error message to be given, and it un-breaks pg_tablespace_size() on pg_global. Per discussion.
2007-10-11Ensure that the result of evaluating a function during constant-expressionTom Lane
simplification gets detoasted before it is incorporated into a Const node. Otherwise, if an immutable function were to return a TOAST pointer (an unlikely case, but it can be made to happen), we would end up with a plan that depends on the continued existence of the out-of-line toast datum.
2007-10-11Remove incorrect use of VARSIZE() on a toasted datum. We can just remove itTom Lane
instead of fix it, since once we've set toast_action[i] to 'p' it no longer matters what toast_sizes[i] is. Greg Stark
2007-10-11Fix the plan-invalidation mechanism to treat regclass constants that refer toTom Lane
a relation as a reason to invalidate a plan when the relation changes. This handles scenarios such as dropping/recreating a sequence that is referenced by nextval('seq') in a cached plan. Rather than teach plancache.c all about digging through plan trees to find regclass Consts, we charge the planner's setrefs.c with making a list of the relation OIDs on which each plan depends. That way the list can be built cheaply during a plan tree traversal that has to happen anyway. Per bug #3662 and subsequent discussion.
2007-10-10Add missing codepage numbers for Windows.Magnus Hagander
Dave Page
2007-10-10Synced parser and keyword list.Michael Meskes
2007-10-09Don't try to free pgpassfile since it's a stack variable.Magnus Hagander
Martin Pitt
2007-10-09Add comment.Bruce Momjian
2007-10-06Make dumpcolors() have tolerable performance when using 32-bit chr,Tom Lane
as we do (and upstream Tcl doesn't). The loop limit might be subject to negotiation if anyone ever tries to do regex debugging in Far Eastern languages, but for now 1000 seems plenty. CHR_MAX was right out :-(
2007-10-06Adjust some regex debugging printouts to not give wrong-format-widthTom Lane
warnings on a 64-bit machine. Noted while chasing a recent regex bug report.
2007-10-06Adjust regcustom.h so that all those assert() calls in the regex packageTom Lane
are converted to Postgres Assert() macros, instead of using <assert.h> as formerly. No difference in production builds, but --enable-cassert debug builds will get better coverage for regex testing.
2007-10-05Add comment about cvs branch numbers.Bruce Momjian
2007-10-05Fix plperl and pltcl to include the name of the current function whenTom Lane
passing on errors from the language interpreter. (plpython seems fairly OK about this already.) Per gripe from Robert Kleemann.
2007-10-05Add pgcvslog '-d' capability to allow stripping of commit messages thatBruce Momjian
have back branch activity. This will be useful for creating release notes for major releases.
2007-10-05Fix distprep and maintainer-clean targets so that ecpg's .def files areTom Lane
made and removed at the correct times.
2007-10-05Add .cvsignore files to suppress CVS gripes about ecpg .def files.Tom Lane
2007-10-04Results from buildfarm show that ecpglib was depending on pg_strcasecmp,Tom Lane
which evidently it got as an unofficial export from pgtypeslib.
2007-10-04Keep the planner from failing on "WHERE false AND something IN (SELECT ...)".Tom Lane
eval_const_expressions simplifies this to just "WHERE false", but we have already done pull_up_IN_clauses so the IN join will be done, or at least planned, anyway. The trouble case comes when the sub-SELECT is itself a join and we decide to implement the IN by unique-ifying the sub-SELECT outputs: with no remaining reference to the output Vars in WHERE, we won't have propagated the Vars up to the upper join point, leading to "variable not found in subplan target lists" error. Fix by adding an extra scan of in_info_list and forcing all Vars mentioned therein to be propagated up to the IN join point. Per bug report from Miroslav Sulc.
2007-10-04Stamp 8.3beta1, except in configure.in/configure.Tom Lane
2007-10-04Update timezone data files to release 2007h of the zic database.Tom Lane
Might as well have the latest when we wrap 8.3beta1.
2007-10-04DLL_DEFFILE should be defined when PORTNAME is win32, not when it isn't,Tom Lane
per the example of libpq/Makefile.
2007-10-04Replaced tabs by white spacesMichael Meskes
2007-10-04Removed newline at end of exports files.Michael Meskes
2007-10-04Change Assert() to a plain test and elog, just to see if that worksTom Lane
around the icc bug exhibited by buildfarm member dugong.
2007-10-04Added def-files to all: target so they are build everytime.Michael Meskes
2007-10-03Teach chklocale.c how to extract encoding info from Windows localeTom Lane
names. ITAGAKI Takahiro
2007-10-03Suppress compiler warning in non-threaded build.Tom Lane
2007-10-03Tweak recently-added tests to suppress scary-looking warnings on 64-bitTom Lane
machines about casts between pointers and integers of different sizes. While they're harmless, we shouldn't expect users to have to go through and figure that out for themselves.
2007-10-03Argh, missing dll in filenameMichael Meskes
2007-10-03Minor improvements to hack for old OpenSSL libraries: avoid unusedTom Lane
variable warning on Windows, improve comment.
2007-10-03Fix command for fetching snprintf.c.Tom Lane
2007-10-03This could be what's missing on some systems.Michael Meskes
2007-10-03Stripped two symbols that are needed.Michael Meskes
2007-10-03Attempt to open certificate file "manually" using fopen beforeMagnus Hagander
trying BIO functions. Helps problem with older versions of OpenSSL that lacks error stack functions and would show an incorrect error message for file-not-found-or-not-openable. The problem may still exist for other errors, but file open error is by far the most common one.
2007-10-03Build two more .DEF files for ecpg instead of using default ones.Magnus Hagander
2007-10-03Also build snprintf from pgport if needed.Michael Meskes
2007-10-03Remove exports.list in clean target.Michael Meskes
2007-10-03More detailed error msg (with stack trace) if a file copy fails.Magnus Hagander
2007-10-03Also created export list for pgytpeslib and compatlib.Michael Meskes
Set pgtypes library version to 3.0. Set compat library version to 3.0.
2007-10-03Use snprintf from libpgport in ecpg compatlib. Required sinceMagnus Hagander
we restricted exports from ecpglib.
2007-10-03Fix commandlines for final two ECPG regression testsMagnus Hagander
2007-10-03Fix typoMagnus Hagander