Commit Graph

  • d30d8f3aa0 Update expected result for new inet error message wording. Bruce Momjian 2007-01-02 23:38:42 +00:00
  • f2a19cf3a5 Adjust network errmsg("result is out of range") message to be consistent with other places. Bruce Momjian 2007-01-02 22:21:08 +00:00
  • 182676ae27 Some platforms set errno on pow(), exp() overflow, some do not, so if isinf(), fall through to our own infinity checks. Bruce Momjian 2007-01-02 22:19:42 +00:00
  • 09d09b988d Add a regression test for ALTER SET TABLESPACE; this is a whole separate code path in tablecmds.c that wasn't exercised at all before. Tom Lane 2007-01-02 21:43:36 +00:00
  • cac2d912d9 finite() no longer used; remove finite() platform-specific infrastructure. Bruce Momjian 2007-01-02 21:25:50 +00:00
  • 2955f1ebf4 Add n_live_tuples and n_dead_tuples to pg_stat_all_tables. Bruce Momjian 2007-01-02 20:59:32 +00:00
  • 7bb1cc50b2 Add #include <float.h> for platforms that still need it. Bruce Momjian 2007-01-02 20:50:35 +00:00
  • f9ac414c35 Fix float4/8 to handle Infinity and Nan consistently, e.g. Infinity is a 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. Bruce Momjian 2007-01-02 20:00:50 +00:00
  • 0b56be8344 Found the problem with my operator-family changes: by fetching from 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. Tom Lane 2006-12-31 20:32:04 +00:00
  • 5725b9d9af Support type modifiers for user-defined types, and pull most knowledge about typmod representation for standard types out into type-specific typmod I/O functions. Teodor Sigaev, with some editorialization by Tom Lane. Tom Lane 2006-12-30 21:21:56 +00:00
  • 24b1f14eae Clarify wording on when ctid is modified by VACUUM FULL. Bruce Momjian 2006-12-30 20:31:11 +00:00
  • cd44c23eb4 Add support for XML build option to MSVC build scripts. Magnus Hagander Tom Lane 2006-12-29 16:49:02 +00:00
  • dbfb727444 Fix multiple breakages in last XML patch. Tom Lane 2006-12-29 16:44:28 +00:00
  • 8832f0f358 De-escape XML names when reverse-compiling XML expressions. Peter Eisentraut 2006-12-29 10:50:22 +00:00
  • 9aefd56669 Fix up btree's initial scankey processing to be able to detect redundant 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. Tom Lane 2006-12-28 23:16:39 +00:00
  • 3870341d1e Add TLS thread URL: Bruce Momjian 2006-12-28 20:51:13 +00:00
  • bb554e0d9c Remove: Bruce Momjian 2006-12-28 20:44:00 +00:00
  • e1b8a55ec8 Remove caveat about avoiding cross-type operators in constraints intended for use with constraint exclusion. We can prove those cases now... Tom Lane 2006-12-28 20:02:38 +00:00
  • c99ddfc43d Enable btree_predicate_proof() to make proofs involving cross-data-type predicate operators. The hard stuff turns out to be already done in the previous commit, we need merely open the floodgates... Tom Lane 2006-12-28 19:53:05 +00:00
  • 91868e7df0 Done: Bruce Momjian 2006-12-28 18:01:20 +00:00
  • ad1425ae43 Add send and recv functions for xml type. Peter Eisentraut 2006-12-28 14:28:36 +00:00
  • d9e1c97feb Handle content and document options in xmlparse() correctly. Peter Eisentraut 2006-12-28 03:17:38 +00:00
  • 32d029573d Add a defense to prevent core dumps if 8.2 version of rank_cd() is used with 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.) Tom Lane 2006-12-28 01:09:04 +00:00
  • 859b8dd51a Add a defense to prevent core dumps if 8.2 version of rank_cd() is used with 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.) Tom Lane 2006-12-28 01:09:01 +00:00
  • 3a7f5459d7 fflush the \o file, if any, after each backslash command. We already do this for ordinary SQL commands, so it seems consistent to do it for backslash commands too. Per gripe from Rajesh Kumar Mallah. Tom Lane 2006-12-28 00:29:13 +00:00
  • 46d90d6b52 Revert exports.list change pending closer study. Tom Lane 2006-12-28 00:01:12 +00:00
  • 36b8706236 Revert exports.list change pending closer study. Tom Lane 2006-12-28 00:01:05 +00:00
  • 37dc08bff0 Use a more backward-compatible syntax for exports.list on Linux. Per Thorkil Olesen. Tom Lane 2006-12-27 23:53:21 +00:00
  • 65b541b38f Use a more backward-compatible syntax for exports.list on Linux. Per Thorkil Olesen. Tom Lane 2006-12-27 23:53:13 +00:00
  • 7accb29478 Clean up pgindent handling of comments after 'else' by only moving multi-line comments to the next line. Bruce Momjian 2006-12-27 23:03:52 +00:00
  • 34aabc2071 Modify local buffer management to request memory for local buffers in blocks 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. Tom Lane 2006-12-27 22:32:03 +00:00
  • 1e78ea0ffe Modify local buffer management to request memory for local buffers in blocks 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. Tom Lane 2006-12-27 22:31:59 +00:00
  • 72619f8191 Modify local buffer management to request memory for local buffers in blocks 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. Tom Lane 2006-12-27 22:31:54 +00:00
  • c22dea8900 Improve memory management code to avoid inefficient behavior when a context 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. Tom Lane 2006-12-27 22:30:48 +00:00
  • 38b72135c9 Print combining characters (those reported as having zero width by 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. Tom Lane 2006-12-27 19:45:51 +00:00
  • 6bb7b467c0 Print combining characters (those reported as having zero width by 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. Tom Lane 2006-12-27 19:45:36 +00:00
  • 094ccd1ca3 Use FROM clause in example UPDATE commands where appropriate. Also remove long-obsolete statement that there isn't a check for infinite recursion in view rules. Tom Lane 2006-12-27 16:07:42 +00:00
  • de9be563d4 Use FROM clause in example UPDATE commands where appropriate. Also remove long-obsolete statement that there isn't a check for infinite recursion in view rules. Tom Lane 2006-12-27 16:07:36 +00:00
  • 66a7fd2ec1 Fix broken markup. Tom Lane 2006-12-27 16:04:47 +00:00
  • 4f1e49119e Use "dead" rather than "expired" for vacuumable rows. Bruce Momjian 2006-12-27 14:55:17 +00:00
  • 4a1bffa066 Fix failure due to accessing an already-freed tuple descriptor in a plan 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. Tom Lane 2006-12-26 21:37:28 +00:00
  • 0cbc5b1ed4 Fix failure due to accessing an already-freed tuple descriptor in a plan 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. Tom Lane 2006-12-26 21:37:20 +00:00
  • d3db2bd80c Repair bug #2839: the various ExecReScan functions need to reset 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. Tom Lane 2006-12-26 19:27:26 +00:00
  • 0fbfdf55f8 Repair bug #2839: the various ExecReScan functions need to reset 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. Tom Lane 2006-12-26 19:27:20 +00:00
  • cbca48aa24 Repair bug #2839: the various ExecReScan functions need to reset 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. Tom Lane 2006-12-26 19:27:10 +00:00
  • f1d8828e3c Repair bug #2839: the various ExecReScan functions need to reset 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. Tom Lane 2006-12-26 19:27:04 +00:00
  • 85a373b1f0 Repair bug #2839: the various ExecReScan functions need to reset 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. Tom Lane 2006-12-26 19:26:56 +00:00
  • 68996463d4 Repair bug #2839: the various ExecReScan functions need to reset 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. Tom Lane 2006-12-26 19:26:46 +00:00
  • b85a4cda83 Repair bug #2836: SPI_execute_plan returned zero if none of the querytrees 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. Tom Lane 2006-12-26 16:56:22 +00:00
  • fccf99f0c8 Repair bug #2836: SPI_execute_plan returned zero if none of the querytrees 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. Tom Lane 2006-12-26 16:56:18 +00:00
  • 4a836bad3a Remove incorrect semicolon in example. Joachim Wieland Tom Lane 2006-12-26 16:14:58 +00:00
  • 5ceb508422 Fix memory reallocation condition Teodor Sigaev 2006-12-26 14:55:00 +00:00
  • 49b64d346f Fix memory reallocation condition Teodor Sigaev 2006-12-26 14:54:24 +00:00
  • 39def593c5 Call srandom() instead of srand(). pgbench calls random() later, so it should have called srandom(). On most platforms except Windows srandom() is actually identical to srand(), so the bug only bites Windows users. per bug report from Akio Ishida. Tatsuo Ishii 2006-12-26 01:02:05 +00:00
  • 3b1645d119 Make HISTCONTROL=ignoredups work again (broken by misordering of operations during recent code refactoring). Per bug #2840 from Ned Crigler. Tom Lane 2006-12-24 19:14:41 +00:00
  • 506a9893b7 Make HISTCONTROL=ignoredups work again (broken by misordering of operations during recent code refactoring). Per bug #2840 from Ned Crigler. Tom Lane 2006-12-24 19:14:28 +00:00
  • 57f1630cf0 Bring some order and sanity to error handling in the xml patch. Use a TRY block instead of (inadequate) ad-hoc coding to ensure that libxml is cleaned up after a failure. Report the intended SQLCODE instead of defaulting to XX000. Avoid risking use of a dangling pointer by keeping the persistent error buffer in TopMemoryContext. Be less trusting that error messages don't contain %. Tom Lane 2006-12-24 18:25:58 +00:00
  • e9da20ab4d Fix machine-dependent crash in sqlchar_to_unicode(). Get rid of bletcherous and unsafe manipulation of global encoding setting. Clean up libxml reporting mechanism a bit (it still looks like a dangling-pointer crash waiting to happen, though, not to mention being far less than sane from a localization standpoint). Tom Lane 2006-12-24 00:57:48 +00:00
  • c957c0bac7 Code review for XML patch. Instill a bit of sanity in the location of the XmlExpr code in various lists, use a representation that has some hope of reverse-listing correctly (though it's still a de-escaping function shy of correctness), generally try to make it look more like Postgres coding conventions. Tom Lane 2006-12-24 00:29:20 +00:00
  • 64974613c9 Suppress various compiler warnings in new xml code. Tom Lane 2006-12-23 04:56:50 +00:00
  • 426030eda1 Remove unnecessary parentheses in if() statements. Bruce Momjian 2006-12-23 02:13:24 +00:00
  • ef5870350a Change a VACUUM manual page word from 'deleted' to 'expired', so DELETE and UPDATE are clearly covered by the term. Bruce Momjian 2006-12-23 01:58:40 +00:00
  • 05911de4da Document that CREATE TYPE names should not begin with an underscore, rather than being disallowed. Bruce Momjian 2006-12-23 01:28:09 +00:00
  • 27eeca5c5b For GUC values, check for partial string matches on 'on' and 'off', but require at least two characters for uniqueness. This now matches the behavior of other boolean strings we support, per report from Gurjeet Singh. Bruce Momjian 2006-12-23 00:52:40 +00:00
  • a78fcfb512 Restructure operator classes to allow improved handling of cross-data-type cases. Operator classes now exist within "operator families". While most families are equivalent to a single class, related classes can be grouped into one family to represent the fact that they are semantically compatible. Cross-type operators are now naturally adjunct parts of a family, without having to wedge them into a particular opclass as we had done originally. Tom Lane 2006-12-23 00:43:13 +00:00
  • d31ccb6c3e Add a link to the developer's FAQ for my article about how companies can work effectively with open source communities. Bruce Momjian 2006-12-22 22:42:36 +00:00
  • 03d2a1c688 Slight adjustments to xml documentation to reflect functionality just added. Bruce Momjian 2006-12-22 22:09:31 +00:00
  • 2c0efff2a0 Fix expected file. Peter Eisentraut 2006-12-21 19:18:04 +00:00
  • d030a2bb20 Catalog version bump for SQL/XML changes. Peter Eisentraut 2006-12-21 18:32:56 +00:00
  • b328083249 Fix convertion for 'PFX flag N num' Teodor Sigaev 2006-12-21 17:36:08 +00:00
  • 3dd05aba09 Fix convertion for 'PFX flag N num' Teodor Sigaev 2006-12-21 17:35:55 +00:00
  • 593d020ff6 Fix convertion for 'PFX flag N num' Teodor Sigaev 2006-12-21 17:35:44 +00:00
  • ca5bc1ae51 Fix convertion for 'PFX flag N num' Teodor Sigaev 2006-12-21 17:35:28 +00:00
  • 8c1de5fb00 Initial SQL/XML support: xml data type and initial set of functions. Peter Eisentraut 2006-12-21 16:05:16 +00:00
  • ed1e9cd501 8.3 release schedule is year 2007, not 2006. Bruce Momjian 2006-12-20 16:22:14 +00:00
  • 1cacb3a098 Add timeline for next release to developer's FAQ. Bruce Momjian 2006-12-19 22:37:37 +00:00
  • d686dccdb8 Remove completed TODO item about xid wrap-around from 8.2.X. Bruce Momjian 2006-12-19 21:58:43 +00:00
  • f528e242fc Item done. Bruce Momjian 2006-12-19 21:57:10 +00:00
  • 5133dd786b Interpret a dbName param to PQsetdbLogin as a conninfo string if it contains an = sign. Tom Lane and Andrew Dunstan. Andrew Dunstan 2006-12-19 01:53:36 +00:00
  • 93b4f0ff77 Set pg_am.amstrategies to zero for index AMs that don't have fixed operator strategy numbers, ie, GiST and GIN. This is almost cosmetic enough to not need a catversion bump, but since the opr_sanity regression test has to change in sync with the catalog entry, I figured I'd better do one. Tom Lane 2006-12-18 18:56:29 +00:00
  • 6b4fe0460c fix thinko in placement of TimeValStruct typedef in Windows case, as reported by Magnus. Andrew Dunstan 2006-12-18 14:17:41 +00:00
  • cdcee16588 Fix typo: Bruce Momjian 2006-12-17 03:57:07 +00:00
  • 6874fb90c0 Move entry into CLUSTER section: Bruce Momjian 2006-12-17 03:55:21 +00:00
  • 7bdc55cc71 enable \timing oputput for \copy commands Andrew Dunstan 2006-12-16 00:38:43 +00:00
  • 14bdb023cc Fix some planner bugs exposed by reports from Arjen van der Meijden. These are all in new-in-8.2 logic associated with indexability of ScalarArrayOpExpr (IN-clauses) or amortization of indexscan costs across repeated indexscans on the inside of a nestloop. In particular: Tom Lane 2006-12-15 18:42:35 +00:00
  • 281f40187f Fix some planner bugs exposed by reports from Arjen van der Meijden. These are all in new-in-8.2 logic associated with indexability of ScalarArrayOpExpr (IN-clauses) or amortization of indexscan costs across repeated indexscans on the inside of a nestloop. In particular: Tom Lane 2006-12-15 18:42:26 +00:00
  • 4f554024a8 Put JST back into the default set of timezone abbreviations; was removed in an unexplainable moment of brain fade. Tom Lane 2006-12-15 16:54:56 +00:00
  • 782d68e38d Put JST back into the default set of timezone abbreviations; was removed in an unexplainable moment of brain fade. Tom Lane 2006-12-15 16:54:43 +00:00
  • 880dae5f2b Back out double-run of PDF/PS output. Requires building bookindex.sgml properly. Bruce Momjian 2006-12-15 16:50:10 +00:00
  • 421c1ca48d Back out double-run of PDF/PS output. Requires building bookindex.sgml properly. Bruce Momjian 2006-12-15 16:50:07 +00:00
  • 8186e7ef89 TODO item not wanted: Bruce Momjian 2006-12-15 15:40:52 +00:00
  • 6d3985b46e Drop indentation of verbatim environments in print output. This increased the build time by what seemed like infinity. Peter Eisentraut 2006-12-15 14:54:48 +00:00
  • 2356c9fc4c Link to summary XML email, rather than thread top: Bruce Momjian 2006-12-15 13:28:54 +00:00
  • eb838baf49 Document issues for SGML and XML: Bruce Momjian 2006-12-15 03:01:20 +00:00
  • 169f9f4cb6 Document patch needed to get PDF and PS output in a reasonable amount of time. Bruce Momjian 2006-12-15 02:44:33 +00:00
  • c4dfc4137e Document patch needed to get PDF and PS output in a reasonable amount of time. Bruce Momjian 2006-12-15 02:44:28 +00:00
  • 9c92007029 Remove unneeded tab in file. Bruce Momjian 2006-12-15 02:19:21 +00:00
  • 87047e4ca5 Run Jade twice when outputting Postscript and PDF so the index is correct, add comments about other multiple runs in the Makefile. Bruce Momjian 2006-12-15 01:21:08 +00:00
  • 6f84d53110 Run Jade twice when outputting Postscript and PDF so the index is correct, add comments about other multiple runs in the Makefile. Bruce Momjian 2006-12-15 01:20:59 +00:00
  • 8867ffc519 Make --with-ldap build on Unixware, per Olivier Prenant. Tom Lane 2006-12-14 21:50:07 +00:00