summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2006-06-26Use Unix line endings instead of DOS ones, per Magnus.Bruce Momjian
2006-06-26Update include files to Unix newline format, per report from Magnus.Bruce Momjian
2006-06-26Update comment description of geo routines and move comment to moreBruce Momjian
relevant location.
2006-06-26Added some more coverity report patches send in by Joachim Wieland ↵Michael Meskes
<joe@mcknight.de>.
2006-06-25Tweak dynahash.c to avoid wasting memory space in non-shared hash tables.Tom Lane
palloc() will normally round allocation requests up to the next power of 2, so make dynahash choose allocation sizes that are as close to a power of 2 as possible. Back-patch to 8.1 --- the problem exists further back, but a much larger patch would be needed and it doesn't seem worth taking any risks.
2006-06-25Moved some free() calls that coverity correctly complains about.Michael Meskes
2006-06-25Our version of getopt_long does not set optarg upon detecting an error, asAlvaro Herrera
opposed to what other versions apparently do, so it's not safe to print an error message. Besides, getopt_long itself already did, so it's redundant anyway.
2006-06-25Remove individual user copyright because the code is contributed toBruce Momjian
PGDG: > Yes. In fact the copyright belongs to credativ GmbH the company that > paid Carsten for his work. As you may or may not know I'm the CEO of > that company and can assure you that his work was contributed to the > PostgreSQL project.
2006-06-25Fix GEVHDRSZ for Win32.Bruce Momjian
Magnus Hagander
2006-06-25Fix Win32/Cygwin problems:Bruce Momjian
After updating to the latest cvs, and also building most of the addons (like PLs), the following patch is neededf for win32 + Visual C++. * Switch to use the new win32 semaphore code * Rename win32_open to pgwin32_open. win32_open collides with symbols defined in Perl. MingW didn't detect ig, MSVC did. And it's a bit too generic a name to export globally, imho... * Python defines some partially broken #pragmas in the headers when doing a debug build. Workaround. Magnus Hagander
2006-06-24Fix re-inclusion of port header file on Windows, per Magnus.Tom Lane
2006-06-23Clarified copyright noticeMichael Meskes
2006-06-22Remove dllinit.c; it was only needed for long-obsolete Cygwin versions,Tom Lane
and there was some question about its copyright status.
2006-06-22pg_stop_backup was calling XLogArchiveNotify() twice for the newly createdTom Lane
backup history file. Bug introduced by the 8.1 change to make pg_stop_backup delete older history files. Per report from Masao Fujii.
2006-06-22Standalone backends need pgstat_bestart() too, per Qingqing Zhou.Tom Lane
2006-06-21Move setup_cancel_handler() up near start of psql main(), where theTom Lane
setup_win32_locks() call formerly was, to ensure that cancelConnLock is valid when it needs to be. Per Yoshiyuki Asaba.
2006-06-21Remove ancient kluge that kept nodeAgg.c from crashing on UPDATEs involvingTom Lane
aggregates. We just disallowed that, and AFAICS there should be no other cases where direct (non-aggregated) references to input columns are allowed in a query with aggregation and no GROUP BY.
2006-06-21Disallow aggregate functions in UPDATE commands (unless within a sub-SELECT).Tom Lane
This is disallowed by the SQL spec because it doesn't have any very sensible interpretation. Historically Postgres has allowed it but behaved strangely. As of PG 8.1 a server crash is possible if the MIN/MAX index optimization gets applied; rather than try to "fix" that, it seems best to just enforce the spec restriction. Per report from Josh Drake and Alvaro Herrera.
2006-06-21Eliminate a gratuitously different wording of the 'cannot use aggregate ↵Tom Lane
function in check constraint' error message.
2006-06-21Clean up psql variable code a little: eliminate unnecessary tests inTom Lane
GetVariable() and be consistent about treatment of the list header. Motivated by noticing strspn() taking an unreasonable percentage of runtime --- the call removed from GetVariable() was the only one that could be in a high-usage path ...
2006-06-21Added some more coverity report patches send in by Martijn van Oosterhout ↵Michael Meskes
<kleptog@svana.org>.
2006-06-21Fixed small typo in changelogMichael Meskes
2006-06-21Added fixed from the coverity report send in by Joachim Wieland ↵Michael Meskes
<joe@mcknight.de> Added missing error handling in a few functions in ecpglib
2006-06-20Remove redundant gettimeofday() calls to the extent practical withoutTom Lane
changing semantics too much. statement_timestamp is now set immediately upon receipt of a client command message, and the various places that used to do their own gettimeofday() calls to mark command startup are referenced to that instead. I have also made stats_command_string use that same value for pg_stat_activity.query_start for both the command itself and its eventual replacement by <IDLE> or <idle in transaction>. There was some debate about that, but no argument that seemed convincing enough to justify an extra gettimeofday() call.
2006-06-20Split definitions for md5.c out of crypt.h and into their own headerTom Lane
libpq/md5.h, so that there's a clear separation between backend-only definitions and shared frontend/backend definitions. (Turns out this is reversing a bad decision from some years ago...) Fix up references to crypt.h as needed. I looked into moving the code into src/port, but the headers in src/include/libpq are sufficiently intertwined that it seems more work than it's worth to do that.
2006-06-19Do not use already free'ed errmsg, bug found by Joachim WielandMichael Meskes
<joachim.wieland@credativ.de>
2006-06-19Take the statistics collector out of the loop for monitoring backends'Tom Lane
current commands; instead, store current-status information in shared memory. This substantially reduces the overhead of stats_command_string and also ensures that pg_stat_activity is fully up to date at all times. Per my recent proposal.
2006-06-18Don't try to call posix_fadvise() unless <fcntl.h> supplies a declarationTom Lane
for it. Hopefully will fix core dump evidenced by some buildfarm members since fadvise patch went in. The actual definition of the function is not ABI-compatible with compiler's default assumption in the absence of any declaration, so it's clearly unsafe to try to call it without seeing a declaration.
2006-06-18Fix saveHistory() to not emit bogus complaint during psql exit when usingTom Lane
Darwin's libedit; per my proposal last August. Also, suppress cast-away- const warnings.
2006-06-18Increase timeout in statement_timeout test from 1 second to 2 seconds.Tom Lane
We have once or twice seen failures suggesting that control didn't get to the exception block before the timeout elapsed, which is unlikely but not impossible in a parallel regression test (with a dozen other backends competing for cycles). This change doesn't completely prevent the problem of course, but it should reduce the probability enough that we don't see it anymore. Per buildfarm results.
2006-06-18Merge postmaster and postgres command into just postgres. postmasterPeter Eisentraut
symlink is kept for now for compatibility. To call single-user mode, use postgres --single.
2006-06-16Fix a couple of obvious problems in DROP IF EXISTS patch.Tom Lane
2006-06-16Code review for SELECT INTO STRICT patch: use saner choices of errorTom Lane
SQLSTATEs, fix some documentation problems.
2006-06-16Document issues with non-default tablespaces and pg_dumpall restores.Bruce Momjian
Backpatch documentation addition to 8.1.X.
2006-06-16DROP ... IF EXISTS for the following cases:Andrew Dunstan
language, tablespace, trigger, rule, opclass, function, aggregate. operator, and cast.
2006-06-16Fix problems with cached tuple descriptors disappearing while still in useTom Lane
by creating a reference-count mechanism, similar to what we did a long time ago for catcache entries. The back branches have an ugly solution involving lots of extra copies, but this way is more efficient. Reference counting is only applied to tupdescs that are actually in caches --- there seems no need to use it for tupdescs that are generated in the executor, since they'll go away during plan shutdown by virtue of being in the per-query memory context. Neil Conway and Tom Lane
2006-06-16Test for POSIX_FADV_DONTNEED to use posix_fadvise().Bruce Momjian
2006-06-15Use posix_fadvise() to avoid kernel caching of WAL contents on WAL fileBruce Momjian
close. ITAGAKI Takahiro
2006-06-15Add STRICT to PL/pgSQL SELECT INTO, so exceptions are thrown if more orBruce Momjian
less than one row is returned by the SELECT, for Oracle PL/SQL compatibility. Improve SELECT INTO documentation. Matt Miller
2006-06-15Remove the limit on the number of entries allowed in catcaches, andTom Lane
remove the infrastructure needed to enforce the limit, ie, the global LRU list of cache entries. On small-to-middling databases this wins because maintaining the LRU list is a waste of time. On large databases this wins because it's better to keep more cache entries (we assume such users can afford to use some more per-backend memory than was contemplated in the Berkeley-era catcache design). This provides a noticeable improvement in the speed of psql \d on a 10000-table database, though it doesn't make it instantaneous. While at it, use per-catcache settings for the number of hash buckets per catcache, rather than the former one-size-fits-all value. It's a bit silly to be using the same number of hash buckets for, eg, pg_am and pg_attribute. The specific values I used might need some tuning, but they seem to be in the right ballpark based on CATCACHE_STATS results from the standard regression tests.
2006-06-14Further thoughts about lo_export/lo_import error handling: if one ofTom Lane
the lower-level large object functions fails, it will have already set a suitable error message --- probably something from the backend --- and it is not useful to overwrite that with a generic 'error while reading large object' message. So remove redundant messages.
2006-06-14Clean up psql's control-C handling to avoid longjmp'ing out of randomTom Lane
places --- that risks corrupting data structures, losing sync with the backend, etc. We now longjmp only from calls to readline, fgets, and fread, which we assume are coded to protect themselves against interrupts at undesirable times. This requires adding explicit tests for cancel_pressed in long-running loops, but on the whole it's far cleaner. Martijn van Oosterhout and Tom Lane.
2006-06-14Improve error detection and recovery in lo_import()/lo_export().Tom Lane
Problems noted while experimenting with new control-C code for psql.
2006-06-14Do a CHECK_FOR_INTERRUPTS immediately before terminating a fastpathTom Lane
function call. Previously, there may have been no CHECK_FOR_INTERRUPTS at all in the fastpath code path, making it impossible to cancel an operation such as \lo_import externally. This addition doesn't ensure you can cancel, since your SIGINT may arrive while the backend is idle waiting for the client, but it gives the largest window we can easily provide. Noted while experimenting with new control-C code for psql.
2006-06-12Add BY clause to PL/PgSQL FOR loop, to control the iteration increment.Bruce Momjian
Jaime Casanova
2006-06-12Avoid use of C commment inside C comment from recent Win32 int overflow patch.Bruce Momjian
2006-06-12Prevent Win32 from displaying a popup box on backend crash. Instead letBruce Momjian
the postmaster deal with it. Magnus Hagander
2006-06-12Win32 can't catch the exception thrown by INT_MIN / -1 or INT_MIN * -1,Bruce Momjian
so on that platform we test for those before the computation and throw an "out of range" error. Backpatch to 8.1.X.
2006-06-12Minor code cleanup: make the WIN32 case less gratuitously different fromTom Lane
the other platform-specific cases in ps_status.
2006-06-11Code review for psql multiline history patch(es). Fix memory leak,Tom Lane
failure to enter commands in history if canceled by control-C, other infelicities.