aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* If RelationBuildDesc() fails to open a critical system index, PANIC withTom Lane2008-02-27
| | | | | a relevant error message instead of just dumping core. Odd that nobody reported this before Darren Reed.
* Fixed dtrace buildPeter Eisentraut2008-02-26
| | | | found by Magne Mæhre
* Don't build the win32 support files in the all target, only in distprep andPeter Eisentraut2008-02-26
| | | | when they are actually needed as prerequisites.
* Fix uninstall target.Peter Eisentraut2008-02-26
|
* Create two separate libpq.rc's: One that is built at build time, and onePeter Eisentraut2008-02-26
| | | | | | that is shipped in the distribution, named libpq-dist.rc. This way the build system doesn't get upset when a distributed file is forcibly overwritten by during a normal build.
* Reorganize some of the exports list generation code. It seems that thisPeter Eisentraut2008-02-26
| | | | | | has been reinvented about four different times throughout history (aix, cygwin, win32, darwin/linux) and a lot of the concepts are actually shared, which the code now shows better.
* Escape # character in variable assignmentPeter Eisentraut2008-02-26
|
* Need more dependencies to get the build order right when objfiles.txtPeter Eisentraut2008-02-26
| | | | doesn't exist yet.
* We don't need to rebuild objfiles.txt every time an object file changes.Peter Eisentraut2008-02-26
| | | | | | | So only rebuild when a makefile changes (which presumably defines the file list somewhere), and only touch the file if an object changed. The touch is necessary so the parent make knows something changed and ultimately rebuilds postgres.
* Refactor the code that creates the shared library export files to appearPeter Eisentraut2008-02-26
| | | | only once in Makefile.shlib and not in four copies.
* Fix encode(...bytea..., 'escape') so that it converts all high-bit-set byteTom Lane2008-02-26
| | | | | | | | | | | | | | | | | values into \nnn octal escape sequences. When the database encoding is multibyte this is *necessary* to avoid generating invalidly encoded text. Even in a single-byte encoding, the old behavior seems very hazardous --- consider for example what happens if the text is transferred to another database with a different encoding. Decoding would then yield some other bytea value than what was encoded, which is surely undesirable. Per gripe from Hernan Gonzalez. Backpatch to 8.3, but not further. This is a bit of a judgment call, but I make it on these grounds: pre-8.3 we don't really have much encoding safety anyway because of the convert() function family, and we would also have much higher risk of breaking existing apps that may not be expecting this behavior. 8.3 is still new enough that we can probably get away with making this change in the function's behavior.
* Reject year zero during datetime input, except when it's a 2-digit yearTom Lane2008-02-25
| | | | | | | (then it means 2000 AD). Formerly we silently interpreted this as 1 BC, which at best is unwarranted familiarity with the implementation. It's barely possible that some app somewhere expects the old behavior, though, so we won't back-patch this into existing release branches.
* Fix datetime input to behave correctly for Feb 29 in years BC.Tom Lane2008-02-25
| | | | | | | | | | | | | | | | | | | Formerly, DecodeDate attempted to verify the day-of-the-month exactly, but it was under the misapprehension that it would know whether we were looking at a BC year or not. In reality this check can't be made until the calling function (eg DecodeDateTime) has processed all the fields. So, split the BC adjustment and validity checks out into a new function ValidateDate that is called only after processing all the fields. In passing, this patch makes DecodeTimeOnly work for BC inputs, which it never did before. (The historical veracity of all this is nonexistent, of course, but if we're going to say we support proleptic Gregorian calendar then we should do it correctly. In any case the unpatched code is broken because it could emit dates that it would then reject on re-inputting.) Per report from Bernd Helmle. Back-patch as far as 8.0; in 7.x we were not using our own calendar support and so this seems a bit too risky to put into 7.4.
* Link postgres from all object files at once, to avoid the error-pronePeter Eisentraut2008-02-25
| | | | | | | | | | | | | | SUBSYS.o step and allow for better optimization by the linker. Instead of partial linking into SUBSYS.o, the list of object files is assembled in objfiles.txt files that are expanded when the final linking is done. Because we are not yet sure how long command lines different platforms can handle, the old way of linking is still available, by defining the make variable PARTIAL_LINKING (e.g., make all PARTIAL_LINKING=1). If we determine that this is necessary for some platforms, then we will document this in a more prominent place.
* Avoid trying to print a NULL char pointer in --describe-config. On someTom Lane2008-02-23
| | | | platforms this works, but on some it crashes. Zdenek Kotala
* Change the declaration of struct varlena so that the length word isTom Lane2008-02-23
| | | | | | | | | | | | | | | represented as "char ...[4]" not "int32". Since the length word is never supposed to be accessed via this struct member anyway, this won't break any existing code that is following the rules. The advantage is that C compilers will no longer assume that a pointer to struct varlena is word-aligned, which prevents incorrect optimizations in TOAST-pointer access and perhaps other places. gcc doesn't seem to do this (at least not at -O2), but the problem is demonstrable on some other compilers. I changed struct inet as well, but didn't bother to touch a lot of other struct definitions in which it wouldn't make any difference because there were other fields forcing int alignment anyway. Hopefully none of those struct definitions are used for accessing unaligned Datums.
* Rename miscadmin.h's PG_VERSIONSTR macro to PG_BACKEND_VERSIONSTR toTom Lane2008-02-20
| | | | | make it a bit clearer what it is, and get rid of duplicate definitions in initdb and pg_ctl.
* Make pg_regress -V consistent with the corresponding code in otherTom Lane2008-02-20
| | | | programs: use puts with a compile-time-constant string.
* Fix mistakes in pg_ctl's code for "start -w" that tries to cope withTom Lane2008-02-20
| | | | | | | | | | 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.
* Put a CHECK_FOR_INTERRUPTS call into the loops that try to find a unique newTom Lane2008-02-20
| | | | | | | | | | 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.
* Improve error messages emitted when VACUUM and ANALYZE skip a table.Alvaro Herrera2008-02-20
| | | | | Per gripe from Clodoaldo Pinto Neto on Message-ID: <a595de7a0801060326qbfc790ax2a60573043c2e2be@mail.gmail.com>
* Change error message to be able to differentiate the two cases. Per suggestionAlvaro Herrera2008-02-20
| | | | from Jaime Casanova.
* Un-break msvc port yet again (it started pulling in the DarwinMagnus Hagander2008-02-19
| | | | port files, which obviously didn't compile)
* More refactoring, so that the SUBSYS.o rules are now all in one place.Peter Eisentraut2008-02-19
|
* This subdirectory has been unused, dead, and broken for 10 years.Peter Eisentraut2008-02-19
|
* Fix function prototype to silence compiler warnings.Magnus Hagander2008-02-19
|
* Unbreak MSVC build after recent addition of HTMLDIR.Magnus Hagander2008-02-19
|
* Remove another target I forgot during the refactoringPeter Eisentraut2008-02-19
|
* Refactor backend makefiles to remove lots of duplicate codePeter Eisentraut2008-02-19
|
* Remove unnecessary opening of other relation in RI_FKey_keyequal_upd_pkTom Lane2008-02-18
| | | | | | | | | | | | | 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
* Observe errors in makefilePeter Eisentraut2008-02-18
|
* Added --htmldir option to pg_config, equivalent to the new configure option.Peter Eisentraut2008-02-18
|
* - Removed duplicate include of ecpgtype.h which meant I had to adapt all ↵Michael Meskes2008-02-17
| | | | | | expected results. - Changed INFORMIX mode symbol definition yet again because the old way didn't work on NetBSD. Hopefully this one does.
* Upgrade to Autoconf 2.61:Peter Eisentraut2008-02-17
| | | | | | | | | - 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.
* Add back #include <time.h> in a couple of files that seem to need itTom Lane2008-02-17
| | | | on Linux.
* Replace time_t with pg_time_t (same values, but always int64) in on-diskTom Lane2008-02-17
| | | | | | | | | | | | | | 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.
* Update timezone code to track the upstream changes since 2003. In particularTom Lane2008-02-16
| | | | | | | | 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
* Rename a libpq NOT_USED SSL function toBruce Momjian2008-02-16
| | | | | | 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.
* Allow AS to be omitted when specifying an output column name in SELECTTom Lane2008-02-15
| | | | | | (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.
* Remove ancient restriction that LIMIT/OFFSET can't contain a sub-select.Tom Lane2008-02-15
| | | | | | | 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.
* Changed the way symbols are defined in C in INFORMIX mode.Michael Meskes2008-02-15
|
* Sync our regex code with upstream changes since last time we did this, whichTom Lane2008-02-14
| | | | | | | | | | | | | 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.
* - EXECUTE can return NOT FOUND so it should be checked here too.Michael Meskes2008-02-14
| | | | - Changed regression test accordingly.
* Sorry, accidently committed a patch I'm working on. Reverting it.Michael Meskes2008-02-14
| | | | | The only correct change was: - Added SQLSTATE macro closing bug #3961.
* *** empty log message ***Michael Meskes2008-02-14
|
* Update minor version bumping policy.Alvaro Herrera2008-02-13
|
* As sub-bullet decoration.Bruce Momjian2008-02-13
|
* Update wording for minor library bumping.Bruce Momjian2008-02-13
|
* Bump minor library version numbers for 8.4.Bruce Momjian2008-02-13
|
* No longer necessary:Bruce Momjian2008-02-13
| | | | o update ecpg regression expected files for new library number