summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2008-02-20Fix mistakes in pg_ctl's code for "start -w" that tries to cope withTom Lane
non-default settings for the postmaster's port number. The code to parse command line options and postgresql.conf entries wasn't quite right about whitespace or quotes, and it was coded in a not-very-readable way too. Per bug #3969 from Itagaki Takahiro, though this is more extensive than his proposed patch (which fixed only the whitespace problem). This code has been broken since it was put in in 8.0, so patch all the way back.
2008-02-20Put a CHECK_FOR_INTERRUPTS call into the loops that try to find a unique newTom Lane
OID or new relfilenode. If the existing OIDs are sufficiently densely populated, this could take a long time (perhaps even be an infinite loop), so it seems wise to allow the system to respond to a cancel interrupt here. Per a gripe from Jacky Leng. Backpatch as far as 8.1. Older versions just fail on OID collision, instead of looping.
2008-02-20Improve error messages emitted when VACUUM and ANALYZE skip a table.Alvaro Herrera
Per gripe from Clodoaldo Pinto Neto on Message-ID: <a595de7a0801060326qbfc790ax2a60573043c2e2be@mail.gmail.com>
2008-02-20Change error message to be able to differentiate the two cases. Per suggestionAlvaro Herrera
from Jaime Casanova.
2008-02-19Un-break msvc port yet again (it started pulling in the DarwinMagnus Hagander
port files, which obviously didn't compile)
2008-02-19More refactoring, so that the SUBSYS.o rules are now all in one place.Peter Eisentraut
2008-02-19This subdirectory has been unused, dead, and broken for 10 years.Peter Eisentraut
2008-02-19Fix function prototype to silence compiler warnings.Magnus Hagander
2008-02-19Unbreak MSVC build after recent addition of HTMLDIR.Magnus Hagander
2008-02-19Remove another target I forgot during the refactoringPeter Eisentraut
2008-02-19Refactor backend makefiles to remove lots of duplicate codePeter Eisentraut
2008-02-18Remove unnecessary opening of other relation in RI_FKey_keyequal_upd_pkTom Lane
and RI_FKey_keyequal_upd_fk, as well as no-longer-needed calls of ri_BuildQueryKeyFull. Aside from saving a few cycles, this avoids needless deadlock risks when an update is not changing the columns that participate in an RI constraint. Per a gripe from Alexey Nalbat. Back-patch to 8.3. Earlier releases did have a need to open the other relation due to the way in which they retrieved information about the RI constraint, so this problem unfortunately can't easily be improved pre-8.3. Tom Lane and Stephan Szabo
2008-02-18Observe errors in makefilePeter Eisentraut
2008-02-18Added --htmldir option to pg_config, equivalent to the new configure option.Peter Eisentraut
2008-02-17- Removed duplicate include of ecpgtype.h which meant I had to adapt all ↵Michael Meskes
expected results. - Changed INFORMIX mode symbol definition yet again because the old way didn't work on NetBSD. Hopefully this one does.
2008-02-17Upgrade to Autoconf 2.61:Peter Eisentraut
- Change configure.in to use Autoconf 2.61 and update generated files. - Update build system and documentation to support now directory variables offered by Autoconf 2.61. - Replace usages of PGAC_CHECK_ALIGNOF by AC_CHECK_ALIGNOF, now available in Autoconf 2.61. - Drop our patched version of AC_C_INLINE, as Autoconf now has the change.
2008-02-17Add back #include <time.h> in a couple of files that seem to need itTom Lane
on Linux.
2008-02-17Replace time_t with pg_time_t (same values, but always int64) in on-diskTom Lane
data structures and backend internal APIs. This solves problems we've seen recently with inconsistent layout of pg_control between machines that have 32-bit time_t and those that have already migrated to 64-bit time_t. Also, we can get out from under the problem that Windows' Unix-API emulation is not consistent about the width of time_t. There are a few remaining places where local time_t variables are used to hold the current or recent result of time(NULL). I didn't bother changing these since they do not affect any cross-module APIs and surely all platforms will have 64-bit time_t before overflow becomes an actual risk. time_t should be avoided for anything visible to extension modules, however.
2008-02-16Update timezone code to track the upstream changes since 2003. In particularTom Lane
this adds support for 64-bit tzdata files, which is needed to support DST calculations beyond 2038. Add a regression test case to give some minimal confidence that that really works. Heikki Linnakangas
2008-02-16Rename a libpq NOT_USED SSL function toBruce Momjian
verify_peer_name_matches_certificate(), clarify some of the function's variables and logic, and update a comment. This should make SSL improvements easier in the future.
2008-02-15Allow AS to be omitted when specifying an output column name in SELECTTom Lane
(or RETURNING), but only when the output name is not any SQL keyword. This seems as close as we can get to the standard's syntax without a great deal of thrashing. Original patch by Hiroshi Saito, amended by me.
2008-02-15Remove ancient restriction that LIMIT/OFFSET can't contain a sub-select.Tom Lane
This was probably protecting some implementation limitation when it was put in, but as far as I can tell the planner and executor have no such assumption anymore; the case seems to work fine. Per a gripe from Grzegorz Jaskiewicz.
2008-02-15Changed the way symbols are defined in C in INFORMIX mode.Michael Meskes
2008-02-14Sync our regex code with upstream changes since last time we did this, whichTom Lane
was Tcl 8.4.8. The main changes are to remove the never-fully-implemented code for multi-character collating elements, and to const-ify some stuff a bit more fully. In combination with the recent security patch, this commit brings us into line with Tcl 8.5.0. Note that I didn't make any effort to duplicate a lot of cosmetic changes that they made to bring their copy into line with their own style guidelines, such as adding braces around single-line IF bodies. Most of those we either had done already (such as ANSI-fication of function headers) or there is no point because pgindent would undo the change anyway.
2008-02-14- EXECUTE can return NOT FOUND so it should be checked here too.Michael Meskes
- Changed regression test accordingly.
2008-02-14Sorry, accidently committed a patch I'm working on. Reverting it.Michael Meskes
The only correct change was: - Added SQLSTATE macro closing bug #3961.
2008-02-14*** empty log message ***Michael Meskes
2008-02-13Update minor version bumping policy.Alvaro Herrera
2008-02-13As sub-bullet decoration.Bruce Momjian
2008-02-13Update wording for minor library bumping.Bruce Momjian
2008-02-13Bump minor library version numbers for 8.4.Bruce Momjian
2008-02-13No longer necessary:Bruce Momjian
o update ecpg regression expected files for new library number
2008-02-13Stamp HEAD as 8.4devel.Tom Lane
2008-02-12Fix SPI_cursor_open() and SPI_is_cursor_plan() to push the SPI stack beforeTom Lane
doing anything interesting, such as calling RevalidateCachedPlan(). The necessity of this is demonstrated by an example from Willem Buitendyk: during a replan, the planner might try to evaluate SPI-using functions, and so we'd better be in a clean SPI context. A small downside of this fix is that these two functions will now fail outright if called when not inside a SPI-using procedure (ie, a SPI_connect/SPI_finish pair). The documentation never promised or suggested that that would work, though; and they are normally used in concert with other functions, mainly SPI_prepare, that always have failed in such a case. So the odds of breaking something seem pretty low. In passing, make SPI_is_cursor_plan's error handling convention clearer, and fix documentation's erroneous claim that SPI_cursor_open would return NULL on error. Before 8.3 these functions could not invoke replanning, so there is probably no need for back-patching.
2008-02-11Update timezone mapping for Windows with new timezones addedMagnus Hagander
in windows servicepacks. Fix timezone mapping for "Mexico 2"
2008-02-11Repair VACUUM FULL bug introduced by HOT patch: the original way ofTom Lane
calculating a page's initial free space was fine, and should not have been "improved" by letting PageGetHeapFreeSpace do it. VACUUM FULL is going to reclaim LP_DEAD line pointers later, so there is no need for a guard against the page being too full of line pointers, and having one risks rejecting pages that are perfectly good move destinations. This also exposed a second bug, which is that the empty_end_pages logic assumed that any page with no live tuples would get entered into the fraged_pages list automatically (by virtue of having more free space than the threshold in the do_frag calculation). This assumption certainly seems risky when a low fillfactor has been chosen, and even without tunable fillfactor I think it could conceivably fail on a page with many unused line pointers. So fix the code to force do_frag true when notup is true, and patch this part of the fix all the way back. Per report from Tomas Szepe.
2008-02-10Fix PageGetExactFreeSpace() so that it actually behaves sensiblyTom Lane
if pd_lower > pd_upper, rather than merely claiming to. This would only matter if the page header were corrupt, which shouldn't occur, but ...
2008-02-08Since GSSAPI and SSPI authentication don't work in protocol version 2,Tom Lane
issue a helpful error message instead of sending unparsable garbage. (It is clearly a design error that this doesn't work, but fixing it is not worth the trouble at this point.) Per discussion.
2008-02-07Avoid misbehavior in foreign key checks when casting to a datatype for whichTom Lane
the parser supplies a default typmod that can result in data loss (ie, truncation). Currently that appears to be only CHARACTER and BIT. We can avoid the problem by specifying the type's internal name instead of using SQL-spec syntax. Since the queries generated here are only used internally, there's no need to worry about portability. This problem is new in 8.3; before we just let the parser do whatever it wanted to resolve the operator, but 8.3 is trying to be sure that the semantics of FK checks are consistent. Per report from Harald Fuchs.
2008-02-07Some variants of ALTER OWNER tried to make the "object" field of theTom Lane
statement be a list of bare C strings, rather than String nodes, which is what they need to be for copyfuncs/equalfuncs to work. Fortunately these node types never go out to disk (if they did, we'd likely have noticed the problem sooner), so we can just fix it without creating a need for initdb. This bug has been there since 8.0, but 8.3 exposes it in a more common code path (Parse messages) than prior releases did. Per bug #3940 from Vladimir Kokovic.
2008-02-07Add missing copyfuncs/equalfuncs support for AlterTSDictionaryStmt andTom Lane
AlterTSConfigurationStmt. All utility statement node types are expected to be supported here, though they do not have to have outfuncs/readfuncs support. Found by running regression tests with COPY_PARSE_PLAN_TREES enabled.
2008-02-07Fix msvc install for cases where msgfmt (from gettext) is in a directoryMagnus Hagander
that contains spaces. Per complaint from Gevik Babakhani, like the last one.
2008-02-07Fix silly mistake in expand_indexqual_rowcompare --- in converting a forboth()Tom Lane
into an iteration over three parallel lists, I had accidentally put the lnext steps outside the loop. Sigh. Per bug #3938.
2008-02-07Fix CREATE TABLE ... LIKE ... INCLUDING INDEXES to not cause unwantedTom Lane
tablespace permissions failures when copying an index that is in the database's default tablespace. A side-effect of the change is that explicitly specifying the default tablespace no longer triggers a permissions check; this is not how it was done in pre-8.3 releases but is argued to be more consistent. Per bug #3921 from Andrew Gilligan. (Note: I argued in the subsequent discussion that maybe LIKE shouldn't copy index tablespaces at all, but since no one indicated agreement with that idea, I've refrained from doing it.)
2008-02-07Fix msvc install script to properly install NLS files when built withMagnus Hagander
gettext.
2008-02-07- Fixed segfault in ecpg when using an array element.Michael Meskes
- Free all memory in auto-prepare mode.
2008-02-06Fix very broken clean.bat for msvc install. The way we used subroutinesMagnus Hagander
in .bat simply did not work, and it called them in the wrong order, some several times, and some not at all. So this unrolls all subroutine calls. This should fix the issues with clean deleting the wrong files reported by Dave Page. While at it, add the "clean dist" option to act like "make distclean", and no longer remove the flex/bison output files by default. This shuold fix the problem reported by Pavel Golub in bug #3909.
2008-02-05Handle libraries in directories with spaces in them.Magnus Hagander
Gevik Babakhani
2008-02-02Fix WaitOnLock() to ensure that the process's "waiting" flag is reset afterTom Lane
erroring out of a wait. We can use a PG_TRY block for this, but add a comment explaining why it'd be a bad idea to use it for any other state cleanup. Back-patch to 8.2. Prior releases had the same issue, but only with respect to the process title, which is likely to get reset almost immediately anyway after the transaction aborts, so it seems not worth changing them. In 8.2 and HEAD, the pg_stat_activity "waiting" flag could remain set incorrectly for a long time. Per report from Gurjeet Singh.
2008-02-01Stamp 8.3 in CVS. _No_ update of configure/configure.in.Bruce Momjian