summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2006-12-07Repair incorrect placement of WHERE clauses when there are multiple,Tom Lane
rearrangeable outer joins and the WHERE clause is non-strict and mentions only nullable-side relations. New bug in 8.2, caused by new logic to allow rearranging outer joins. Per bug #2807 from Ross Cohen; thanks to Jeff Davis for producing a usable test case.
2006-12-06Fix planning of SubLinks to ensure that Vars generated from transformation ofTom Lane
a sublink's test expression have the correct vartypmod, rather than defaulting to -1. There's at least one place where this is important because we're expecting these Vars to be exactly equal() to those appearing in the subplan itself. This is a pretty klugy solution --- it would likely be cleaner to change Param nodes to include a typmod field --- but we can't do that in the already-released 8.2 branch. Per bug report from Hubert Fongarnand.
2006-12-04Fix pg_dump linking on Win32 with MSVS win32.mak:Bruce Momjian
The module link is insufficient.:-( ---- Sorry, japanese message change to xxx --- link.exe @C:\DOCUME~1\hi-saito\LOCALS~1\Temp\nmk03360. common.obj : error LNK2001: xxxxxx "_pg_qsort" xxxxxx pg_dump_sort.obj : error LNK2001: xxxxx "_pg_qsort" xxxxx .\Release\pg_dump.exe : fatal error LNK1120: xxxxxxx NMAKE : fatal error U1077: 'link.exe' : xxxxx '0x460' Stop. Hiroshi Saito
2006-12-04Patch of Win32 Encoding problem for server messages usingBruce Momjian
FormatMessage() (This should have been in 8.2.0, patched to 8.2.X and HEAD): I think this problem to be complex.... http://archives.postgresql.org/pgsql-hackers/2006-11/msg00042.php FormatMessage of windows cannot consider the encoding of the database. However, I should try the solution now. It is necessary to clear the problem. Multi character-code exists together in message and log. It doesn't consider the data base encoding that the user intended.... The user in multi-byte country can try this. http://inet.winpg.jp/~saito/pg_bug/MessageCheck.c That is, it is likely to become it in this manner.(Japanese) http://inet.winpg.jp/~saito/pg_bug/FormatMessage998.png Hiroshi Saito
2006-12-03Fix LIMIT/OFFSET for null limit values. This worked before 8.2 but was brokenTom Lane
by the change to make limit values int8 instead of int4. (Specifically, you can do DatumGetInt32 safely on a null value, but not DatumGetInt64.) Per bug #2803 from Greg Johnson.
2006-12-02Stamp 8.2, except configure.in.Bruce Momjian
2006-12-02Translation updatesPeter Eisentraut
2006-12-01Make the bgwriter's error recovery path do smgrcloseall(). On Windows thisTom Lane
should allow delete-pending files to actually go away, and thereby work around the various complaints we've seen about 'permission denied' errors in such cases. Should be reasonably harmless in any case...
2006-11-30Minor adjustments to make failures in startup/shutdown behave more cleanly.Tom Lane
StartupXLOG and ShutdownXLOG no longer need to be critical sections, because in all contexts where they are invoked, elog(ERROR) would be translated to elog(FATAL) anyway. (One change in bgwriter.c is needed to make this true: set ExitOnAnyError before trying to exit. This is a good fix anyway since the existing code would have gone into an infinite loop on elog(ERROR) during shutdown.) That avoids a misleading report of PANIC during semi-orderly failures. Modify the postmaster to include the startup process in the set of processes that get SIGTERM when a fast shutdown is requested, and also fix it to not try to restart the bgwriter if the bgwriter fails while trying to write the shutdown checkpoint. Net result is that "pg_ctl stop -m fast" does something reasonable for a system in warm standby mode, and so should Unix system shutdown (ie, universal SIGTERM). Per gripe from Stephen Harris and some corner-case testing of my own.
2006-11-30Fix bug with page deletion. If inner page is removed and it tries toTeodor Sigaev
remove page on next level linked from next inner page, ginScanToDelete() wrongly sets parent page. Bug reveals when many item pointers from index was deleted ( several hundred thousands). Bug is discovered by hubert depesz lubaczewski <depesz@gmail.com> Suppose, we need rc2 before release...
2006-11-29Fix Makefile problem which prevented installation on VPATH builds.Alvaro Herrera
2006-11-29More MSVC build support from Magnus.Tom Lane
2006-11-29Spelling fixPeter Eisentraut
2006-11-28Update timezone data to tzdata2006p zic distribution. It seems WesternTom Lane
Australia decided to institute DST with one month's notice ... way to go, politicians.
2006-11-28Mark to_char(timestamp without timezone) as stable, not immutable, since itsTom Lane
result now depends on the lc_messages setting, as noted by Bruce. Also, mark to_number() and the numeric-type variants of to_char() as stable, because their results depend on lc_numeric; this is a longstanding oversight. Also, mark to_date() and to_char(interval) as stable; although these appear not to depend on any GUC variables as of CVS HEAD, that seems a property unlikely to survive future improvements. It seems best to mark all the formatting functions stable and be done with it. catversion not bumped, because this does not seem critical enough to force a post-RC1 initdb, and anyway we cannot do so in the back branches.
2006-11-28Fix some translator comments so that xgettext finds them and pgindent doesPeter Eisentraut
not destroy them. Maybe we can adjust pgindent sometime.
2006-11-28Add workaround for localizing May and abbreviated May differently. IdeaPeter Eisentraut
of Dennis Björklund.
2006-11-28Also install ecpg_config.hMichael Meskes
2006-11-28Add $(CFLAGS) to the simplified build rule for .so libraries on Darwin.Tom Lane
Arguably we should do this on *all* platforms, but for the moment Ill
2006-11-28protect vfprintf from hijacking by Windows gettext just like other members ↵Andrew Dunstan
of the *printf family.
2006-11-27Fix gratuitous message spelling differencesPeter Eisentraut
2006-11-25update for rc1REL8_2_RC1PostgreSQL Daemon
2006-11-25Copy fsync() defines into test_fsync.c, someday place them in anBruce Momjian
include. Propery align for O_DIRECT. Check for write()/fsync() failures.
2006-11-24Fix psql's \copy command to ensure that it cycles libpq back to the idle stateTom Lane
(in particular, causing the ReadyForQuery message to be eaten) before returning from do_copy. The only known consequence of failing to do so is that get_prompt might show a wrong result for the %x transaction status escape, as reported by Bernd Helmle; but it's possible there are other issues. Back-patch as far as 7.4, the oldest version supporting %x.
2006-11-24Revert (too late in beta):Bruce Momjian
Fix to_char() locale handling to honor LC_TIME, not LC_MESSAGES. Euler Taveira de Oliveira
2006-11-24Change pg_stat_all_tables and sister views to put the recently-addedTom Lane
vacuum/analyze timestamp columns at the end, rather than at a random spot in the middle as in the original patch. This was deemed more usable as well as less likely to break existing application code. initdb forced accordingly. In passing, remove former kluge for initializing pg_stat_file()'s pg_proc entry --- bootstrap mode was fixed recently so that this can be done without any hacks, but I overlooked this usage.
2006-11-24Translation updatesPeter Eisentraut
2006-11-24Separate release preparation jobs for all releases and for major releasesPeter Eisentraut
2006-11-24Fix to_char() locale handling to honor LC_TIME, not LC_MESSAGES.Bruce Momjian
Euler Taveira de Oliveira
2006-11-24KB -> kBPeter Eisentraut
2006-11-23Revert out:Bruce Momjian
Update fsync test to match new O_DIRECT behavior. Greg Smith
2006-11-23Update fsync test to match new O_DIRECT behavior.Bruce Momjian
Greg Smith
2006-11-23Un-break ecpg regression test.Tom Lane
2006-11-23Add a comment noting that heap_copytuple_with_tuple() results in aNeil Conway
HeapTuple that is no longer allocated as a single palloc() block; if used carelessly, this might result in a subsequent memory leak after heap_freetuple().
2006-11-23Update lock comments for concurrent index creation, analyze.Bruce Momjian
Walter Cruz
2006-11-23Make ecpg test variable 'times' static so as not to conflict with libcBruce Momjian
symbol.
2006-11-23Several changes to reduce the probability of running out of memory duringTom Lane
AbortTransaction, which would lead to recursion and eventual PANIC exit as illustrated in recent report from Jeff Davis. First, in xact.c create a special dedicated memory context for AbortTransaction to run in. This solves the problem as long as AbortTransaction doesn't need more than 32K (or whatever other size we create the context with). But in corner cases it might. Second, in trigger.c arrange to keep pending after-trigger event records in separate contexts that can be freed near the beginning of AbortTransaction, rather than having them persist until CleanupTransaction as before. Third, in portalmem.c arrange to free executor state data earlier as well. These two changes should result in backing off the out-of-memory condition before AbortTransaction needs any significant amount of memory, at least in typical cases such as memory overrun due to too many trigger events or too big an executor hash table. And all the same for subtransaction abort too, of course.
2006-11-21Get rid of retail definitions of HAVE_STRDUP and HAVE_VSNPRINTF inTom Lane
some of the Windows-only makefiles; the correct place to assert these things is pg_config.h.win32. Per bug #2677.
2006-11-21Translate Windows' GMT Standard Time/GMT Daylight Time zones toTom Lane
zic's Europe/London, rather than Europe/Dublin as before. This seems a less surprising choice, particularly with respect to dates before 1948. Original suggestion was to translate to straight GMT, but this seems wrong given that these zones *are* DST-aware. Per offlist discussion with Magnus.
2006-11-21Prevent intratransaction memory leak when a subtransaction is abortedTom Lane
in the middle of executing a SPI query. This doesn't entirely fix the problem of memory leakage in plpgsql exception handling, but it should get rid of the lion's share of leakage.
2006-11-21Suppress timezone (%Z) part of timestamp display when running on Windows,Tom Lane
because on that platform strftime produces localized zone names in varying encodings. Even though it's only in a comment, this can cause encoding errors when reloading the dump script. Per suggestion from Andreas Seltenreich. Also, suppress %Z on Windows in the %s escape of log_line_prefix ... not sure why this one is different from the other two, but it shouldn't be.
2006-11-21Fix plpython to work (or at least pass its regression tests) withTom Lane
python 2.5. This involves fixing several violations of the published spec for creating PyTypeObjects, and adding another regression test expected output for yet another variation of error message spelling.
2006-11-21On systems that have setsid(2) (which should be just about everything exceptTom Lane
Windows), arrange for each postmaster child process to be its own process group leader, and deliver signals SIGINT, SIGTERM, SIGQUIT to the whole process group not only the direct child process. This provides saner behavior for archive and recovery scripts; in particular, it's possible to shut down a warm-standby recovery server using "pg_ctl stop -m immediate", since delivery of SIGQUIT to the startup subprocess will result in killing the waiting recovery_command. Also, this makes Query Cancel and statement_timeout apply to scripts being run from backends via system(). (There is no support in the core backend for that, but it's widely done using untrusted PLs.) Per gripe from Stephen Harris and subsequent discussion.
2006-11-21VC build patch from Magnus:Neil Conway
Typo in the changes to plperl - uses wrong dir, and had a missing slash. Also fixes error checking for xsubpp - it was broken in a way that hid the problem above when run more than once (which is the normal case when developing).
2006-11-21remove duplicate declaration, per report from Magnus Hagander.Andrew Dunstan
2006-11-21If SSL negotiation fails and SSLMODE is 'prefer', then retry without SSL.Tom Lane
Negotiation failure is only likely to happen if one side or the other is misconfigured, eg. bad client certificate. I'm not 100% convinced that a retry is really the best thing, hence not back-patching this fix for now. Per gripe from Sergio Cinos.
2006-11-21Change the default setting for log_min_error_statement to ERROR. PerTom Lane
recent discussion in which majority opinion was that this is a more widely useful setting than the previous default of PANIC.
2006-11-21Adjust elog.c so that elog(FATAL) exits (including cases where ERROR isTom Lane
promoted to FATAL) end in exit(1) not exit(0). Then change the postmaster to allow exit(1) without a system-wide panic, but not for the startup subprocess or the bgwriter. There were a couple of places that were using exit(1) to deliberately force a system-wide panic; adjust these to be exit(2) instead. This fixes the problem noted back in July that if the startup process exits with elog(ERROR), the postmaster would think everything is hunky-dory and proceed to start up. Alternative solutions such as trying to run the entire startup process as a critical section seem less clean, primarily because of the fact that a fair amount of startup code is shared by all postmaster children in the EXEC_BACKEND case. We'd need an ugly special case somewhere near the head of main.c to make it work if it's the child process's responsibility to determine what happens; and what's the point when the postmaster already treats different children differently?
2006-11-20More MSVC build fixes:Tom Lane
* New versions of OpenSSL come with proper debug versions, and use suffixed names on the LIBs for that. Adapts library handling to deal with that. * Fixes error where it incorrectly enabled Kerberos based on NLS configuration instead of Kerberos configuration * Specifies path of perl in config, instead of using current one. Required when using a 64-bit perl normally, but want to build pl/perl against 32-bit one (required) * Fix so pgevent generates win32ver.rc automatically Magnus Hagander
2006-11-20When truncating a relation in-place (eg during VACUUM), do not try to unlinkTom Lane
any no-longer-needed segments; just truncate them to zero bytes and leave the files in place for possible future re-use. This avoids problems when the segments are re-used due to relation growth shortly after truncation. Before, the bgwriter, and possibly other backends, could still be holding open file references to the old segment files, and would write dirty blocks into those files where they'd disappear from the view of other processes. Back-patch as far as 8.0. I believe the 7.x branches are not vulnerable, because they had no bgwriter, and "blind" writes by other backends would always be done via freshly-opened file references.