summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2004-12-02Change Win32 dlerror message to:Bruce Momjian
return "dynamic loading error";
2004-12-02Disallow the combination VACUUM FULL FREEZE for safety's sake, for theTom Lane
reasons I outlined in pghackers a few days ago. Also, undo someone's overly optimistic decision to reduce tuple state checks from if (...) elog() to Asserts. If I trusted this code more, I might think it was a good idea to disable these checks in production installations. But I don't.
2004-12-02Don't bother adding to cflags/cppflags, just set them because configureBruce Momjian
handles that, and make solaris debug use no optimization.
2004-12-02Rework libpq threaded SIGPIPE handling to avoid interference withBruce Momjian
calling applications. This is done by blocking sigpipe in the libpq thread and using sigpending/sigwait to possibily discard any sigpipe we generated.
2004-12-02Teach regex_fixed_prefix() the correct handling of advanced regexTom Lane
escapes --- they aren't simply quoted characters. Problem noted by Antti Salmela. Also fix problem with incorrect handling of multibyte characters when followed by a quantifier.
2004-12-02Make some adjustments to reduce platform dependencies in plan selection.Tom Lane
In particular, there was a mathematical tie between the two possible nestloop-with-materialized-inner-scan plans for a join (ie, we computed the same cost with either input on the inside), resulting in a roundoff error driven choice, if the relations were both small enough to fit in sort_mem. Add a small cost factor to ensure we prefer materializing the smaller input. This changes several regression test plans, but with any luck we will now have more stability across platforms.
2004-12-01Allow libpq to build on MS Visual Studio .NET 2003 on Windows XP.Bruce Momjian
2004-12-01Fix timestamptz_age() to do calculation in local timezone not GMT, per bug 1332.Tom Lane
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-30Add \n to end of output for psql \s with no history file name.Bruce Momjian
This prevents the next psql prompt from showing up on the end of the last history line.
2004-11-30Quote SHELL arguments only on Win32.Bruce Momjian
2004-11-30Fix a few typos in comments.Neil Conway
2004-11-29Update plperl to use ereport() not elog() for user-facing messages,Tom Lane
so that they will be translatable. Give messages some semblance of conformance to the style guide.
2004-11-29Clean up initdb's error handling so that it prints something moreTom Lane
useful than just \'failed\' when there's a problem. Per gripe from Chris Albertson. In an unrelated change, use VACUUM FULL; VACUUM FREEZE; rather than a single VACUUM FULL FREEZE command, to respond to my worries of a couple days ago about the reliability of doing this in one go.
2004-11-29Add comment explaining possible compiler warning:Bruce Momjian
/* * Some compilers with throw a warning knowing this test can never be * true because off_t can't exceed the compared maximum. */ if (th->fileLen > MAX_TAR_MEMBER_FILELEN) die_horribly(AH, modulename, "archive member too large for tar format\n");
2004-11-29Have initdb display relative paths to start postmaster if used to invokeBruce Momjian
initdb, and display in a path-native way.
2004-11-28Avoid scribbling on original parsetree during DECLARE CURSOR. ThisTom Lane
prevents problems when the DECLARE is in a portal and is executed repeatedly, as is possible in v3 protocol. Per analysis by Oliver Jowett, though I didn't use his patch exactly.
2004-11-27Work around lack of NLS support in libpgport by making those componentsPeter Eisentraut
who use it scan the relevant source files for their own catalog. It creates a bit of duplicate work for translators, but it gets the job done for now.
2004-11-27Update of conformance information to SQL:2003Peter Eisentraut
by Troels Arvin, Simon Riggs, Elein Mustain Make spelling of SQL standard names uniform.
2004-11-27Fix HAVE_OPTRESET to be HAVE_INT_OPTRESET. Typos spotted by Lorne Sunley.Tom Lane
2004-11-27Add to CPPFLAGS/CFLAGS in template files, don't over-ride them.Bruce Momjian
2004-11-26RelOptInfo.pages should really be declared as BlockNumber, not long.Tom Lane
2004-11-24Install Tcl regex fixes to sync our regex engine with Tcl 8.4.8 (up fromTom Lane
8.4.1). This corrects some curious regex bugs, though not the greediness issue I was hoping to find a solution for :-(
2004-11-24Our interface code for Spencer's regexp package was checking for regexpTom Lane
error conditions during regexp compile, but not during regexp execution; any sort of "can't happen" errors would be treated as no-match instead of being reported as they should be. Noticed while trying to duplicate a reported Tcl bug.
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-24Avoid getting bit by roundoff error while checking $Safe::VERSION.Tom Lane
Per report from Mark Kirkwood.
2004-11-24Trivial fix for a bug introduced in r1.94 of help.c: we want to onlyNeil Conway
include "\s" in \? output when readline is enabled, but that commit supressed "\s" whether readline was enabled or not.
2004-11-24Assert that BufferIsPinned() in IncrBufferRefCount(), rather than usingNeil Conway
a home-brewed combination of assertions that boiled down to the same thing.
2004-11-23New translationsPeter Eisentraut
2004-11-23Translation updatesPeter Eisentraut
2004-11-23Further plperl cleanup: be more paranoid about checking the type ofTom Lane
data returned from Perl. Consolidate multiple bits of code to convert a Perl hash to a tuple, and drive the conversion off the keys present in the hash rather than the tuple column names, so we detect error if the hash contains keys it shouldn't. (This means keys not in the hash will silently default to NULL, which seems ok to me.) Fix a bunch of reference-count leaks too.
2004-11-22The beginnings of a regression test for plperl. Right now it onlyTom Lane
covers return value processing, but that was the most broken stuff...
2004-11-22Try to instill some sanity in plperl's function result processing.Tom Lane
Get rid of static variables for SETOF result, don't crash when called from non-FROM context, eliminate dead code, etc.
2004-11-21Fix rounding problem in dynahash.c's decision about when the targetTom Lane
fill factor has been exceeded. We usually run with ffactor == 1, but the way the test was coded, it wouldn't split a bucket until the actual fill factor reached 2.0, because of use of integer division. Change from > to >= so that it will split more aggressively when the table starts to get full.
2004-11-21Reduce the default size of the PortalHashTable in order to save aTom Lane
few cycles during transaction exit. A typical session probably wouldn't have as many as half a dozen portals open at once, so the original value of 64 seems far larger than needed.
2004-11-21While fixing plperl and pltcl, I realized plpgsql wasn't doingTom Lane
subtransactions quite right either: the ReleaseCurrentSubTransaction call should occur inside the PG_TRY, so that the proper path is taken if an error occurs during subtransaction commit. This assumes that AbortSubTransaction can cope with the state left behind if CommitSubTransaction fails partway through, but we were already requiring that.
2004-11-21Suppress remaining compile warnings, and add a comment about whyTom Lane
it's not really broken. Andrew Dunstan
2004-11-21Fix plperl and pltcl error handling per my previous proposal. SPITom Lane
operations are now run as subtransactions, so that errors in them can be reported as ordinary Perl or Tcl errors and caught by the normal error handling convention of those languages. Also do some minor code cleanup in pltcl.c: extract a large chunk of duplicated code in pltcl_SPI_execute and pltcl_SPI_execute_plan into a shared subroutine.
2004-11-20Patch of 2004-03-30 corrected date_part(timestamp) for extractingTom Lane
the year from a BC date, but failed to make the same fix in date_part(timestamptz).
2004-11-20Fix up makefile dependencies for pg_config_paths.h.Tom Lane
2004-11-20Avoid scanning the relcache during AtEOSubXact_RelationCache when thereTom Lane
is nothing to do, which is most of the time. This is another simple improvement to cut subtransaction entry/exit overhead.
2004-11-20Reduce the default size of the local lock hash table. There's usuallyTom Lane
no need for it to be nearly as big as the global hash table, and since it's not in shared memory it can grow if it does need to be bigger. By reducing the size, we speed up hash_seq_search(), which saves a significant fraction of subtransaction entry/exit overhead.
2004-11-20Fix plperl's elog() function to convert elog(ERROR) into Perl croak(),Tom Lane
rather than longjmp'ing clear out of Perl and thereby leaving Perl in a broken state. Also some minor prettification of error messages. Still need to do something with spi_exec_query() error handling.
2004-11-20Fix one more place where we were expecting lcons() to be nondestructiveTom Lane
to the original List; per report from Sebastian BÎck. I think this is the last such bug --- I examined every lcons() call in the backend and the rest seem OK --- but it's nervous-making that we're still finding 'em so many months after the List rewrite went in.
2004-11-20On some HPUX versions/hardware, it seems we need to include libgcc.a inTom Lane
the regression test shared libraries.
2004-11-20Fix unportable isdigit() call --- must cast arg to unsigned char.Tom Lane
2004-11-20Move pgstat_report_tabstat() call so that stats are not reported to theTom Lane
collector until the transaction commits. Per recent discussion, this should avoid confusing autovacuum when an updating transaction runs for a long time.
2004-11-20Make sure we produce a useful error message for the case where theTom Lane
postgresql.crt file simply isn't there, too.
2004-11-20Improve error reporting for SSL connection failures. Remove redundantTom Lane
free operations in client_cert_cb --- openssl will also attempt to free these structures, resulting in core dumps.
2004-11-19Clean up rpath handling for HPUX --- we can't use the cc-style rpathTom Lane
switch syntax when calling ld directly.