summaryrefslogtreecommitdiff
path: root/src/include
AgeCommit message (Collapse)Author
2005-06-02Push enable/disable of notify and catchup interrupts all the way downTom Lane
to just around the bare recv() call that gets a command from the client. The former placement in PostgresMain was unsafe because the intermediate processing layers (especially SSL) use facilities such as malloc that are not necessarily re-entrant. Per report from counterstorm.com.
2005-05-26Adjust datetime parsing to be more robust. We now pass the length of theNeil Conway
working buffer into ParseDateTime() and reject too-long input there, rather than checking the length of the input string before calling ParseDateTime(). The old method was bogus because ParseDateTime() can use a variable amount of working space, depending on the content of the input string (e.g. how many fields need to be NUL terminated). This fixes a minor stack overrun -- I don't _think_ it's exploitable, although I won't claim to be an expert. Along the way, fix a bug reported by Mark Dilger: the working buffer allocated by interval_in() was too short, which resulted in rejecting some perfectly valid interval input values. I added a regression test for this fix.
2005-05-05Stamp release 8.0.3.Tom Lane
2005-04-11Fix interaction between materializing holdable cursors and firingTom Lane
deferred triggers: either one can create more work for the other, so we have to loop till it's all gone. Per example from andrew@supernews. Add a regression test to help spot trouble in this area in future.
2005-04-07Stamp 8.0.2.REL8_0_2Tom Lane
2005-03-26Tag for 8.0.2beta1PostgreSQL Daemon
2005-03-25Add missing min/max parameters to DefineCustomIntVariable() andTom Lane
DefineCustomRealVariable(). Thomas Hallgren
2005-03-25Kerberos fixes from Magnus Hagander --- in theory Kerberos 5 authTom Lane
should work on Windows now. Also, rename set_noblock to pg_set_noblock; since it is included in libpq, the former name polluted application namespace.
2005-03-24array_map can't use the fn_extra field of the provided fcinfo struct asTom Lane
its private storage, because that belongs to the function that it is supposed to call. Per report from Ezequiel Tolnay.
2005-03-24Change Win32 O_SYNC method to O_DSYNC because that is what the methodBruce Momjian
currently does. This is now the default Win32 wal sync method because we perfer o_datasync to fsync. Also, change Win32 fsync to a new wal sync method called fsync_writethrough because that is the behavior of _commit, which is what is used for fsync on Win32. Backpatch to 8.0.X.
2005-03-23WAL must log CREATE and DROP DATABASE operations *without* using anyTom Lane
explicit paths, so that the log can be replayed in a data directory with a different absolute path than the original had. To avoid forcing initdb in the 8.0 branch, continue to accept the old WAL log record types; they will never again be generated however, and the code can be dropped after the next forced initdb. Per report from Oleg Bartunov. We still need to think about what it really means to WAL-log CREATE TABLESPACE commands: we more or less have to put the absolute path into those, but how to replay in a different context??
2005-03-18Need to reset local buffer pin counts, not only shared buffer pins,Tom Lane
before we attempt any file deletions in ShutdownPostgres. Per Tatsuo.
2005-03-17Backpatch to 8.0.X, already in HEAD:Bruce Momjian
Allow Win32 to support the O_SYNC open flag as an wal_sync_method method.
2005-03-16Prevent locale-aware handling of upper, lower, and initcap when theBruce Momjian
locale is C. Backpatch to 8.0.X because some operating systems were throwing errors for such operations, rather than ignoring the locale when it was C.
2005-02-03Ensure that all details of the ARC algorithm are hidden within freelist.c.Tom Lane
This refactoring does not change any algorithms or data structures, just remove visibility of the ARC datastructures from other source files.
2005-01-30Stamp 8.0 branch as 8.0.1.Tom Lane
2005-01-28Improve planner's estimation of the space needed for HashAgg plans:Tom Lane
look at the actual aggregate transition datatypes and the actual overhead needed by nodeAgg.c, instead of using pessimistic round numbers. Per a discussion with Michael Tiemann.
2005-01-28pg_aggregate.h fails to compile standalone, for lack of an #includeTom Lane
defining List.
2005-01-23The result of a FULL or RIGHT join can't be assumed to be sorted by theTom Lane
left input's sorting, because null rows may be inserted at various points. Per report from Ferenc Lutischá¸n.
2005-01-17its that time ... tag it for releaseREL8_0_0PostgreSQL Daemon
2005-01-11up release to rc5REL8_0_0RC5PostgreSQL Daemon
2005-01-10Separate the functions of relcache entry flush and smgr cache entry flushTom Lane
so that we can get the size of a shared inval message back down to what it was in 7.4 (and simplify the logic too). Phase 2 of fixing the 'SMgrRelation hashtable corrupted' problem.
2005-01-10Phase 1 of fix for 'SMgrRelation hashtable corrupted' problem. ThisTom Lane
is the minimum required fix. I want to look next at taking advantage of it by simplifying the message semantics in the shared inval message queue, but that part can be held over for 8.1 if it turns out too ugly.
2005-01-07upgrade tags to rc4REL8_0_0RC4PostgreSQL Daemon
2005-01-06Don't list port twice in SUBDIRS. Caught by Honda Shigehiro.Tom Lane
2005-01-06Make the various places that determine the user's "home directory"Tom Lane
consistent. On Unix we now always consult getpwuid(); $HOME isn't used at all. On Windows the code currently consults $USERPROFILE, or $HOME if that's not defined, but I expect this will change as soon as the win32 hackers come to a consensus. Nothing done yet about changing the file names used underneath $USERPROFILE.
2005-01-01Some more missed copyright notices. Many of these look like theyTom Lane
should have been caught by the src/tools/copyright script ... why weren't they?
2005-01-01Update copyrights that were missed.Bruce Momjian
2004-12-31Tag appropriate files for rc3PostgreSQL Daemon
Also performed an initial run through of upgrading our Copyright date to extend to 2005 ... first run here was very simple ... change everything where: grep 1996-2004 && the word 'Copyright' ... scanned through the generated list with 'less' first, and after, to make sure that I only picked up the right entries ...
2004-12-29Refactor EXEC_BACKEND code so that postmaster child processes reattachTom Lane
to shared memory as soon as possible, ie, right after read_backend_variables. The effective difference from the original code is that this happens before instead of after read_nondefault_variables(), which loads GUC information and is apparently capable of expanding the backend's memory allocation more than you'd think it should. This should fix the failure-to-attach-to-shared-memory reports we've been seeing on Windows. Also clean up a few bits of unnecessarily grotty EXEC_BACKEND code.
2004-12-26Rearrange include file contents into a saner order, add inclusion ofTom Lane
<signal.h>. Per Andrew Dunstan.
2004-12-21tag files for rc2REL8_0_0RC2PostgreSQL Daemon
2004-12-16Update version for Win32-client include file.Bruce Momjian
2004-12-12Upgrade formrdesc() so that it can correctly initialize the tupledescTom Lane
(rd_att) field of a nailed-in-cache relcache entry. This fixes the bug reported by Alvaro 8-Dec-2004; I believe it probably also explains Grant Finnemore's report of 10-Sep-2004. In an unrelated change in the same file, put back 7.4's response to failure to rename() the relcache init file, ie, unlink the useless temp file. I did not put back the warning message, since there might actually be some reason not to have that.
2004-12-11Instead of supposing (wrongly, in the general case) that the rowtypeTom Lane
of an inheritance child table is binary-compatible with the rowtype of its parent, invent an expression node type that does the conversion correctly. Fixes the new bug exhibited by Kris Shannon as well as a lot of old bugs that would only show up when using multiple inheritance or after altering the parent table.
2004-12-04Back out addition of Win1252 encoding.Bruce Momjian
2004-12-03Back out fix for Unicode characters above 0x10000Bruce Momjian
2004-12-02Fix for Unicode characters above 0x10000.Bruce Momjian
John Hansen
2004-12-02Add Charset WIN1252 support.Bruce Momjian
Roland Volkmann
2004-12-01Allow libpq to build on MS Visual Studio .NET 2003 on Windows XP.Bruce Momjian
2004-12-01Change planner to use the current true disk file size as its estimate ofTom Lane
a relation's number of blocks, rather than the possibly-obsolete value in pg_class.relpages. Scale the value in pg_class.reltuples correspondingly to arrive at a hopefully more accurate number of rows. When pg_class contains 0/0, estimate a tuple width from the column datatypes and divide that into current file size to estimate number of rows. This improved methodology allows us to jettison the ancient hacks that put bogus default values into pg_class when a table is first created. Also, per a suggestion from Simon, make VACUUM (but not VACUUM FULL or ANALYZE) adjust the value it puts into pg_class.reltuples to try to represent the mean tuple density instead of the minimal density that actually prevails just after VACUUM. These changes alter the plans selected for certain regression tests, so update the expected files accordingly. (I removed join_1.out because it's not clear if it still applies; we can add back any variant versions as they are shown to be needed.)
2004-11-26RelOptInfo.pages should really be declared as BlockNumber, not long.Tom Lane
2004-11-24A client_encoding specification coming from the connection request hasTom Lane
to be processed by GUC before InitPostgres, because any required lookup of the encoding conversion function has to be done during InitializeClientEncoding. So, I broke this last week by moving GUC processing to after InitPostgres :-(. What we can do as a compromise is process non-SUSET variables during command line scanning (the same as before), and postpone the processing of only SUSET variables. None of the SUSET variables need to be set before InitPostgres.
2004-11-17Miscellaneous Cygwin build fixes from Reini Urban.Tom Lane
2004-11-17Install include/port header files, and fix PGXS build to use them.Tom Lane
Fabien COELHO
2004-11-17Fix Win32 problems with signals and sockets, by making the forkexec codeTom Lane
even uglier than it was already :-(. Also, on Windows only, use temporary shared memory segments instead of ordinary files to pass over critical variable values from postmaster to child processes. Magnus Hagander
2004-11-16Rethink plpgsql's way of handling SPI execution during an exception block.Tom Lane
We don't really want to start a new SPI connection, just keep using the old one; otherwise we have memory management problems as illustrated by John Kennedy's bug report of today. This requires a bit of a hack to ensure the SPI stack state is properly restored, but then again what we were doing before was a hack too, strictly speaking. Add a regression test to cover this case.
2004-11-14Remove GUC USERLIMIT variable category, making the affected variablesTom Lane
plain SUSET instead. Also delay processing of options received in client connection request until after we know if the user is a superuser, so that SUSET values can be set that way by legitimate superusers. Per recent discussion.
2004-11-12Fix obsolete comments.Tom Lane
2004-11-09Put in place some defenses against being fooled by accidental match ofTom Lane
shared memory segment ID. If we can't access the existing shmem segment, it must not be relevant to our data directory. If we can access it, then attach to it and check for an actual match to the data directory. This should avoid some cases of failure-to-restart-after-boot without introducing any significant risk of failing to detect a still-running old backend.