summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2007-01-06Put back ERANGE test in dpow(). There are platforms that need this,Tom Lane
like my HPPA ...
2007-01-06Document that we need to update the ecpg regression files when we updateBruce Momjian
the library version number.
2007-01-05Update ecpg regresison output for new library version number.Bruce Momjian
2007-01-05Update CVS HEAD for 2007 copyright. Back branches are typically notBruce Momjian
back-stamped for this.
2007-01-05Update copyright script, report year usedBruce Momjian
2007-01-05Modify copyright script to pull current year from `date`.Bruce Momjian
2007-01-05Stamp major release 8.3.0, and increment library version numbers.Bruce Momjian
2007-01-05Call setrlimit if possible in pg_regress to allow core file generation, and ↵Andrew Dunstan
provide a switch for similar behaviour in pg_ctl.
2007-01-05Update float dpow() comment about whick platforms had issues with Nan.Bruce Momjian
Stefan Kaltenbrunner
2007-01-04Fix AddDefine to handle quotes properly. MagnusTom Lane
2007-01-04Tweak pg_dumpall to add GRANT CONNECT ON DATABASE ... TO PUBLIC when dumpingTom Lane
database privileges from a pre-8.2 server. This ensures that the reloaded database will maintain the same behavior it had in the previous installation, ie, everybody has connect privilege. Per gripe from L Bayuk.
2007-01-04Fix some small typos in comments. Greg StarkTom Lane
2007-01-04Simplify assignment of Inf for pow Nan (don't worry about the sign).Bruce Momjian
2007-01-04Fix erroneous implementation of -s in postmaster.c (the switch doesn't takeTom Lane
an optarg). Add some comments noting that code in three different files has to be kept in sync. Fix erroneous description of -S switch (it sets work_mem not silent_mode), and do some light copy-editing elsewhere in postgres-ref.
2007-01-03Fix regex_fixed_prefix() to cope reasonably well with regex patterns of theTom Lane
form '^(foo)$'. Before, these could never be optimized into indexscans. The recent changes to make psql and pg_dump generate such patterns (for \d commands and -t and related switches, respectively) therefore represented a big performance hit for people with large pg_class catalogs, as seen in recent gripe from Erik Jones. While at it, be more paranoid about case-sensitivity checking in multibyte encodings, and fix some other corner cases in which a regex might be interpreted too liberally.
2007-01-03Update pow() tests to check for both errno==EDOM _and_ result==Nan, andBruce Momjian
document why this happens. Remove exp() errno check because not needed.
2007-01-03Fix erroneous error tests in pow/exp.Tom Lane
2007-01-03Clean up smgr.c/md.c APIs as per discussion a couple months ago. Instead ofTom Lane
having md.c return a success/failure boolean to smgr.c, which was just going to elog anyway, let md.c issue the elog messages itself. This allows better error reporting, particularly in cases such as "short read" or "short write" which Peter was complaining of. Also, remove the kluge of allowing mdread() to return zeroes from a read-beyond-EOF: this is now an error condition except when InRecovery or zero_damaged_pages = true. (Hash indexes used to require that behavior, but no more.) Also, enforce that mdwrite() is to be used for rewriting existing blocks while mdextend() is to be used for extending the relation EOF. This restriction lets us get rid of the old ad-hoc defense against creating huge files by an accidental reference to a bogus block number: we'll only create new segments in mdextend() not mdwrite() or mdread(). (Again, when InRecovery we allow it anyway, since we need to allow updates of blocks that were later truncated away.) Also, clean up the original makeshift patch for bug #2737: move the responsibility for padding relation segments to full length into md.c.
2007-01-03Attempt to return proper overflow/underflow messages for platforms thatBruce Momjian
only return Nan and set errno for pow/exp overflow/underflow.
2007-01-03For float4/8, remove errno checks for pow() and exp() because only someBruce Momjian
platforms set errno, and we already have a check macro that detects under/overflow, so there is no reason for platform-specific code anymore.
2007-01-03Widen the money type to 64 bits.D'Arcy J.M. Cain
2007-01-02Update expected result for new inet error message wording.Bruce Momjian
2007-01-02Adjust network errmsg("result is out of range") message to be consistentBruce Momjian
with other places.
2007-01-02Some platforms set errno on pow(), exp() overflow, some do not, so ifBruce Momjian
isinf(), fall through to our own infinity checks.
2007-01-02Add a regression test for ALTER SET TABLESPACE; this is a whole separateTom Lane
code path in tablecmds.c that wasn't exercised at all before.
2007-01-02finite() no longer used; remove finite() platform-specificBruce Momjian
infrastructure.
2007-01-02Add n_live_tuples and n_dead_tuples to pg_stat_all_tables.Bruce Momjian
The purpose is to allow autovacuum-esq conditional vacuuming and clustering using SQL to discover the required stats. No documentation updates required. Catalog version updated. Glen Parker
2007-01-02Add #include <float.h> for platforms that still need it.Bruce Momjian
2007-01-02Fix float4/8 to handle Infinity and Nan consistently, e.g. Infinity is aBruce Momjian
valid result from a computation if one of the input values was infinity. The previous code assumed an operation that returned infinity was an overflow. Handle underflow/overflow consistently, and add checks for aggregate overflow. Consistently prevent Inf/Nan from being cast to integer data types. Fix INT_MIN % -1 to prevent overflow. Update regression results for new error text. Per report from Roman Kononov.
2006-12-31Found the problem with my operator-family changes: by fetching fromTom Lane
pg_opclass during LookupOpclassInfo(), I'd turned pg_opclass_oid_index into a critical system index. However the problem could only manifest during a backend's first attempt to load opclass data, and then only if it had successfully loaded pg_internal.init and subsequently received a relcache flush; which made it impossible to reproduce in sequential tests and darn hard even in parallel tests. Memo to self: when exercising cache flush scenarios, must disable LookupOpclassInfo's internal cache too.
2006-12-30Support type modifiers for user-defined types, and pull most knowledgeTom Lane
about typmod representation for standard types out into type-specific typmod I/O functions. Teodor Sigaev, with some editorialization by Tom Lane.
2006-12-29Add support for XML build option to MSVC build scripts.Tom Lane
Magnus Hagander
2006-12-29Fix multiple breakages in last XML patch.Tom Lane
2006-12-29De-escape XML names when reverse-compiling XML expressions.Peter Eisentraut
2006-12-28Fix up btree's initial scankey processing to be able to detect redundantTom Lane
or contradictory keys even in cross-data-type scenarios. This is another benefit of the opfamily rewrite: we can find the needed comparison operators now.
2006-12-28Enable btree_predicate_proof() to make proofs involving cross-data-typeTom Lane
predicate operators. The hard stuff turns out to be already done in the previous commit, we need merely open the floodgates...
2006-12-28Add send and recv functions for xml type.Peter Eisentraut
2006-12-28Handle content and document options in xmlparse() correctly.Peter Eisentraut
2006-12-28Add a defense to prevent core dumps if 8.2 version of rank_cd() is used withTom Lane
the 8.1 SQL function definition for it. Per report from Rajesh Kumar Mallah, such a DBA error doesn't seem at all improbable, and the cost of checking for it is not very high compared to the cost of running this function. (It would have been better to change the C name of the function so it wouldn't be called by the old SQL definition, but it's too late for that now in the 8.2 branch.)
2006-12-28fflush the \o file, if any, after each backslash command. We alreadyTom Lane
do this for ordinary SQL commands, so it seems consistent to do it for backslash commands too. Per gripe from Rajesh Kumar Mallah.
2006-12-28Revert exports.list change pending closer study.Tom Lane
2006-12-27Use a more backward-compatible syntax for exports.list on Linux.Tom Lane
Per Thorkil Olesen.
2006-12-27Clean up pgindent handling of comments after 'else' by only movingBruce Momjian
multi-line comments to the next line.
2006-12-27Modify local buffer management to request memory for local buffers in blocksTom Lane
of increasing size, instead of one at a time. This reduces the memory management overhead when num_temp_buffers is large: in the previous coding we would actually waste 50% of the space used for temp buffers, because aset.c would round the individual requests up to 16K. Problem noted while studying a performance issue reported by Steven Flatt. Back-patch as far as 8.1 --- older versions used few enough local buffers that the issue isn't significant for them.
2006-12-27Improve memory management code to avoid inefficient behavior when a contextTom Lane
has a small maxBlockSize: the maximum request size that we will treat as a "chunk" needs to be limited to fit in maxBlockSize. Otherwise we will round up the request size to the next power of 2, wasting space, which is a bit pointless if we aren't going to make the blocks big enough to fit additional stuff in them. The example motivating this is local buffer management, which makes repeated allocations of 8K (one BLCKSZ buffer) in TopMemoryContext, which has maxBlockSize = 8K because for the most part allocations there are small. This leads to each local buffer actually eating 16K of space, which adds up when there are thousands of them. I intend to change localbuf.c to aggregate its requests, which will prevent this particular misbehavior, but it seems likely that similar scenarios could arise elsewhere, so fixing the core problem seems wise as well.
2006-12-27Print combining characters (those reported as having zero width byTom Lane
PQdsplen()) normally, instead of replacing them by \uXXXX sequences. Assume that they in fact occupy zero screen space for formatting purposes. Per gripe from Michael Fuhr and ensuing discussion.
2006-12-26Fix failure due to accessing an already-freed tuple descriptor in a planTom Lane
involving HashAggregate over SubqueryScan (this is the known case, there may well be more). The bug is only latent in releases before 8.2 since they didn't try to access tupletable slots' descriptors during ExecDropTupleTable. The least bogus fix seems to be to make subqueries share the parent query's memory context, so that tupdescs they create will have the same lifespan as those of the parent query. There are comments in the code envisioning going even further by not having a separate child EState at all, but that will require rethinking executor access to range tables, which I don't want to tackle right now. Per bug report from Jean-Pierre Pelletier.
2006-12-26Repair bug #2839: the various ExecReScan functions need to resetTom Lane
ps_TupFromTlist in plan nodes that make use of it. This was being done correctly in join nodes and Result nodes but not in any relation-scan nodes. Bug would lead to bogus results if a set-returning function appeared in the targetlist of a subquery that could be rescanned after partial execution, for example a subquery within EXISTS(). Bug has been around forever :-( ... surprising it wasn't reported before.
2006-12-26Repair bug #2836: SPI_execute_plan returned zero if none of the querytreesTom Lane
were marked canSetTag. While it's certainly correct to return the result of the last one that is marked canSetTag, it's less clear what to do when none of them are. Since plpgsql will complain if zero is returned, the 8.2.0 behavior isn't good. I've fixed it to restore the prior behavior of returning the physically last query's result code when there are no canSetTag queries.
2006-12-24Make HISTCONTROL=ignoredups work again (broken by misordering ofTom Lane
operations during recent code refactoring). Per bug #2840 from Ned Crigler.