Commit Graph

  • cac8953d52 Remove redundant logging of send failures when SSL is in use. While pqcomm.c had been taught not to do that ages ago, the SSL code was helpfully bleating anyway. Resolves some recent reports such as bug #3266; however the underlying cause of the related bug #2829 is still unclear. Tom Lane 2007-05-18 01:20:25 +00:00
  • d1972c52a8 Remove redundant logging of send failures when SSL is in use. While pqcomm.c had been taught not to do that ages ago, the SSL code was helpfully bleating anyway. Resolves some recent reports such as bug #3266; however the underlying cause of the related bug #2829 is still unclear. Tom Lane 2007-05-18 01:20:16 +00:00
  • 16b5254318 dded to TODO: Bruce Momjian 2007-05-17 23:42:33 +00:00
  • db5ff64df1 Tweaks for SGML markup. Neil Conway 2007-05-17 23:36:04 +00:00
  • 2f6d85101b Temporary fix for the problem that pg_stat_activity, inet_client_addr(), and inet_server_addr() fail if the client connected over a "scoped" IPv6 address. In this case getnameinfo() will return a string ending with a poorly-standardized "%something" zone specifier, which these functions try to feed to network_in(), which won't take it. So that we don't lose functionality altogether, suppress the zone specifier before giving the string to network_in(). Per report from Brian Hirt. Tom Lane 2007-05-17 23:31:59 +00:00
  • dbb769352d Temporary fix for the problem that pg_stat_activity, inet_client_addr(), and inet_server_addr() fail if the client connected over a "scoped" IPv6 address. In this case getnameinfo() will return a string ending with a poorly-standardized "%something" zone specifier, which these functions try to feed to network_in(), which won't take it. So that we don't lose functionality altogether, suppress the zone specifier before giving the string to network_in(). Per report from Brian Hirt. Tom Lane 2007-05-17 23:31:49 +00:00
  • 3f186a2034 Add URL for: Bruce Momjian 2007-05-17 22:53:23 +00:00
  • 347534e85a Add, per Alvaro: Bruce Momjian 2007-05-17 22:44:11 +00:00
  • a11d4b8bea Add: Bruce Momjian 2007-05-17 22:42:54 +00:00
  • 9c326ad6bc Add CVS comment for recent commit: Bruce Momjian 2007-05-17 21:43:19 +00:00
  • 3e7956cab7 Removed mktime() call to hopefully get rid of some compatibility problems. Michael Meskes 2007-05-17 20:07:35 +00:00
  • b11123b675 Fix parameter recalculation for Limit nodes: during a ReScan call we must recompute the limit/offset immediately, so that the updated values are available when the child's ReScan function is invoked. Add a regression test for this, too. Bug is new in HEAD (due to the bounded-sorting patch) so no need for back-patch. Tom Lane 2007-05-17 19:35:08 +00:00
  • 64058429c5 Add database page inspection /contrib module. Bruce Momjian 2007-05-17 19:11:25 +00:00
  • 3b0347b36e Move the tuple freezing point in CLUSTER to a point further back in the past, to avoid losing useful Xid information in not-so-old tuples. This makes CLUSTER behave the same as VACUUM as far a tuple-freezing behavior goes (though CLUSTER does not yet advance the table's relfrozenxid). Alvaro Herrera 2007-05-17 15:28:29 +00:00
  • 90cbc63fd1 Have TRUNCATE advance the affected table's relfrozenxid to RecentXmin, to avoid a later needless VACUUM for Xid-wraparound purposes. We can do this since the table is known to be left empty, so no Xid remains on it. Alvaro Herrera 2007-05-16 17:28:20 +00:00
  • dfed0012bc Have the rewriteheap code freeze old tuples. This is safe because it is only applied to live tuples older than a recent Xmin, not to tuples that may be part of an update chain. Those still keep their original markings. Alvaro Herrera 2007-05-16 16:36:56 +00:00
  • cac0d6922f Avoid emitting empty role names in the GRANTED BY clause of GRANT ROLE when the grantor has been dropped. This is a workaround for the fact that we don't track the grantor as a shared dependency. Alvaro Herrera 2007-05-15 20:20:29 +00:00
  • d42e2b7502 Avoid emitting empty role names in the GRANTED BY clause of GRANT ROLE when the grantor has been dropped. This is a workaround for the fact that we don't track the grantor as a shared dependency. Alvaro Herrera 2007-05-15 20:20:24 +00:00
  • d365ce1f5c Avoid emitting empty role names in the GRANTED BY clause of GRANT ROLE when the grantor has been dropped. This is a workaround for the fact that we don't track the grantor as a shared dependency. Alvaro Herrera 2007-05-15 20:20:21 +00:00
  • 0f77636c2e Remove directory qualification in <ossp/uuid.h> because it's not always installed in ossp. Workaround for when it is: include the ossp directory using --with-includes. Andrew Dunstan 2007-05-15 19:47:51 +00:00
  • fbef95ef13 Fix a bunch of bad grammar in the docs: "<link>, which see for more information" is un-good English. Neil Conway 2007-05-15 19:43:59 +00:00
  • dfcf99bf93 Fix a bunch of bad grammar in the docs: "<link>, which see for more information" is un-good English. Neil Conway 2007-05-15 19:43:51 +00:00
  • 79ba540b78 Various fixes for the SGML docs. Consistently use spaces before/after parentheses in syntax descriptions. Consistently use the present tense when describing the basic purpose of each "DROP" command. Add a few more hyperlinks. Neil Conway 2007-05-15 19:13:55 +00:00
  • 178214d2ae Update comments for PG_DETOAST_PACKED and VARDATA_ANY on a structures that require alignment. Bruce Momjian 2007-05-15 17:39:54 +00:00
  • 39712d1184 Make a few marginal improvements to the documentation for the AV launcher daemon. Neil Conway 2007-05-15 15:52:40 +00:00
  • 10d1f31253 Add a note to the documentation to clarify that even when "autovacuum = off", the system may still periodically start autovacuum processes to prevent XID wraparound. Patch from David Fetter, with editorializing. Neil Conway 2007-05-15 15:35:58 +00:00
  • 513836c7aa Add a note to the documentation to clarify that even when "autovacuum = off", the system may still periodically start autovacuum processes to prevent XID wraparound. Patch from David Fetter, with editorializing. Neil Conway 2007-05-15 15:35:46 +00:00
  • 3288d5a989 Add URLs for: Bruce Momjian 2007-05-15 02:36:43 +00:00
  • ea7f18d15b fix perl thinko Andrew Dunstan 2007-05-15 01:57:57 +00:00
  • 42a65e39a5 Use configured pgport in MSVC config file. Andrew Dunstan 2007-05-15 00:15:01 +00:00
  • 0a9cbcbfd2 Get rid of the pg_shdepend entry for a TOAST table; it's unnecessary since there's an indirect dependency on the owner via the parent table. We were already handling indexes that way, but not toast tables for some reason. Saves a little catalog space and cuts down the verbosity of checkSharedDependencies reports. Tom Lane 2007-05-14 20:24:41 +00:00
  • 2b321533f3 Fix up grammar and translatability of recent checkSharedDependencies patch; also make the code logic a bit more self-consistent. Tom Lane 2007-05-14 20:07:01 +00:00
  • fd53a67dcd Prevent RevalidateCachedPlan from making any permanent change in ActiveSnapshot. Having it affect ActiveSnapshot only in the unusual case of needing to replan seems a bad idea, and there's also the problem that the created snap might be in a relatively short-lived context, as noted by Jan Wieck. Also, there's no need to force a new snap at all unless we are called with no snap currently set, which is an unusual case in itself. Tom Lane 2007-05-14 18:13:21 +00:00
  • 689dea424d Report all dependent objects to the server log when a shared object is dropped, and only a truncated log of the objects in the current database to the client. Also, instead of reporting object counts for all databases on which the user might own objects, report only as many as fit in the predefined line count. Alvaro Herrera 2007-05-14 16:50:36 +00:00
  • ed9a31b89b Update instructions on creating TODO entry. Bruce Momjian 2007-05-14 16:38:42 +00:00
  • 38e6aea5a7 Document that CLUSTER breaks MVCC visibility rules. (Not needed in cvs head, because CLUSTER itself is fixed there) Magnus Hagander 2007-05-13 16:04:40 +00:00
  • 6a94e76e47 Document that CLUSTER breaks MVCC visibility rules. (Not needed in cvs head, because CLUSTER itself is fixed there) Magnus Hagander 2007-05-13 16:04:35 +00:00
  • 8e0bcdc855 Document that CLUSTER breaks MVCC visibility rules. (Not needed in cvs head, because CLUSTER itself is fixed there) Magnus Hagander 2007-05-13 16:04:28 +00:00
  • 7ee0498772 Document that CLUSTER breaks MVCC visibility rules. (Not needed in cvs head, because CLUSTER itself is fixed there) Magnus Hagander 2007-05-13 16:04:22 +00:00
  • 2ede0ecacc Log directory we're installing into. Magnus Hagander 2007-05-13 15:33:07 +00:00
  • c59cb9d325 Mark as done, add URL for other item: Bruce Momjian 2007-05-13 11:22:04 +00:00
  • 9083e91339 Add: Bruce Momjian 2007-05-12 22:10:40 +00:00
  • c01b4d50e0 Add: Bruce Momjian 2007-05-12 22:06:42 +00:00
  • 1e7f0c3a14 Improve predicate_refuted_by_simple_clause() to handle IS NULL and IS NOT NULL more completely. The motivation for having it understand IS NULL at all was to allow use of "foo IS NULL" as one of the subsets of a partitioning on "foo", but as reported by Aleksander Kmetec, it wasn't really getting the job done. Backpatch to 8.2 since this is arguably a performance bug. Tom Lane 2007-05-12 19:22:43 +00:00
  • 1856e609ec Improve predicate_refuted_by_simple_clause() to handle IS NULL and IS NOT NULL more completely. The motivation for having it understand IS NULL at all was to allow use of "foo IS NULL" as one of the subsets of a partitioning on "foo", but as reported by Aleksander Kmetec, it wasn't really getting the job done. Backpatch to 8.2 since this is arguably a performance bug. Tom Lane 2007-05-12 19:22:35 +00:00
  • 9aa3c782c9 Fix the problem that creating a user-defined type named _foo, followed by one named foo, would work but the other ordering would not. If a user-specified type or table name collides with an existing auto-generated array name, just rename the array type out of the way by prepending more underscores. This should not create any backward-compatibility issues, since the cases in which this will happen would have failed outright in prior releases. Tom Lane 2007-05-12 00:55:00 +00:00
  • 4a898fbb20 Fix my oversight in enabling domains-of-domains: ALTER DOMAIN ADD CONSTRAINT needs to check the new constraint against columns of derived domains too. Tom Lane 2007-05-11 20:18:21 +00:00
  • d8326119c8 Fix my oversight in enabling domains-of-domains: ALTER DOMAIN ADD CONSTRAINT needs to check the new constraint against columns of derived domains too. Tom Lane 2007-05-11 20:17:15 +00:00
  • 3b6afdd7f9 Improvements to the SGML docs for TRUNCATE and CLUSTER. Neil Conway 2007-05-11 19:40:08 +00:00
  • bc8036fc66 Support arrays of composite types, including the rowtypes of regular tables and views (but not system catalogs, nor sequences or toast tables). Get rid of the hardwired convention that a type's array type is named exactly "_type", instead using a new column pg_type.typarray to provide the linkage. (It still will be named "_type", though, except in odd corner cases such as maximum-length type names.) Tom Lane 2007-05-11 17:57:14 +00:00
  • b1110aaa8b Added some more error logging. Michael Meskes 2007-05-10 14:29:21 +00:00
  • 1aca1cde52 - Synced parser and keyword list - Renamed update test so it hopefully runs on Vista Michael Meskes 2007-05-10 09:53:17 +00:00
  • 5b7cf08d33 Reserve some pg_statistic "kind" codes for use by the ESRI ST_Geometry datatype project. Per request from Ale Raza (araza at esri.com). Tom Lane 2007-05-08 19:13:52 +00:00
  • ade493e02d Add a hash function for "numeric". Mark the equality operator for numerics as "oprcanhash", and make the corresponding system catalog updates. As a result, hash indexes, hashed aggregation, and hash joins can now be used with the numeric type. Bump the catversion. Neil Conway 2007-05-08 18:56:48 +00:00
  • 97f796942f Add an explicit comment about POSIX time zone names having the reverse sign convention from everyplace else in Postgres. I don't suppose that this will stop people from being confused, but at least we can say that it's documented. Tom Lane 2007-05-08 17:02:59 +00:00
  • 3b4f9fe5d2 The appended patch addresses the outstanding issues of the recent guc patch. It makes PGCLIENTENCODING work again and uses bsearch() instead of iterating over the array of guc variables in guc_get_index(). Peter Eisentraut 2007-05-08 16:33:51 +00:00
  • 067deaf83d Make sure we don't skip databases that are supposed to be vacuumed "exactly now". This can happen if the time granularity is not very high. Alvaro Herrera 2007-05-07 20:41:24 +00:00
  • e292090b59 Grammar correction Peter Eisentraut 2007-05-07 07:53:26 +00:00
  • 3a96742ad2 Doc tweak: add an xref. Neil Conway 2007-05-07 02:03:58 +00:00
  • ff5ff47b5d Check return code from strxfrm on Windows since it has a non-standard way of indicating errors, so we don't try to allocate INT_MAX bytes to store a result in. Magnus Hagander 2007-05-05 17:05:55 +00:00
  • 343a9a27a9 Check return code from strxfrm on Windows since it has a non-standard way of indicating errors, so we don't try to allocate INT_MAX bytes to store a result in. Magnus Hagander 2007-05-05 17:05:48 +00:00
  • 4835df303d Done: Bruce Momjian 2007-05-05 15:40:01 +00:00
  • dc9d3947e6 Move item: Bruce Momjian 2007-05-05 14:47:45 +00:00
  • b573fec82b Done: Bruce Momjian 2007-05-05 14:44:15 +00:00
  • aec9dc0efe Wording update to FAQ_DEV.. Bruce Momjian 2007-05-05 14:33:55 +00:00
  • 799bd9e8c8 Add note to FAQ_DEV that regression tests might need to be added. Bruce Momjian 2007-05-05 14:31:16 +00:00
  • 6488275b49 In developer's FAQ, update list API, from Tom Lane. Bruce Momjian 2007-05-05 10:21:13 +00:00
  • 1b57f0e3da Add FAQ item about how patches are reviewed. Bruce Momjian 2007-05-05 04:09:25 +00:00
  • 71f8127bc6 Done: Bruce Momjian 2007-05-05 03:14:40 +00:00
  • d2a4a4069f Add a line to the EXPLAIN ANALYZE output for a Sort node, showing the actual sort strategy and amount of space used. By popular demand. Tom Lane 2007-05-04 21:29:53 +00:00
  • c7464720a3 tas() support for Renesas' M32R processor. Kazuhiro Inaoka Tom Lane 2007-05-04 15:20:52 +00:00
  • 774de1d90a Make clearer how arguments and return values in pl/perl are escaped. This is to clarify the situation that Theo Schlossnagle recently reported on -bugs. Andrew Dunstan 2007-05-04 14:55:32 +00:00
  • fab789eac9 Suppress a recently-introduced 'variable might be clobbered by longjmp' warning. Tom Lane 2007-05-04 02:06:13 +00:00
  • 79ca7ffeb6 A few fixups in error handling: mark pg_re_throw() as noreturn for gcc, and for other compilers, insert a dummy exit() call so that they understand PG_RE_THROW() doesn't return. Insert fflush(stderr) in ExceptionalCondition, per recent buildfarm evidence that that might not happen automatically on some platforms. And const-ify ExceptionalCondition's declaration while at it. Tom Lane 2007-05-04 02:01:02 +00:00
  • d26559dbf3 Teach tuplesort.c about "top N" sorting, in which only the first N tuples need be returned. We keep a heap of the current best N tuples and sift-up new tuples into it as we scan the input. For M input tuples this means only about M*log(N) comparisons instead of M*log(M), not to mention a lot less workspace when N is small --- avoiding spill-to-disk for large M is actually the most attractive thing about it. Patch includes planner and executor support for invoking this facility in ORDER BY ... LIMIT queries. Greg Stark, with some editorialization by moi. Tom Lane 2007-05-04 01:13:45 +00:00
  • 0fef38da21 Tweak hash index AM to use the new ReadOrZeroBuffer bufmgr API when fetching pages it intends to zero immediately. Just to show there is some use for that function besides WAL recovery :-). Along the way, fold _hash_checkpage and _hash_pageinit calls into _hash_getbuf and friends, instead of expecting callers to do that separately. Tom Lane 2007-05-03 16:45:58 +00:00
  • 1aefa0489f Fix a few more double words in docs. Alvaro Herrera 2007-05-03 15:47:48 +00:00
  • 61f9c3a54d Fix a few more double words in docs. Alvaro Herrera 2007-05-03 15:47:37 +00:00
  • 6c6ab55b8c Fix some typos in the documentation. Patch from Brian Gough. Backport the relevant fixes to 8.2 as well. Neil Conway 2007-05-03 15:06:13 +00:00
  • 75b4ee1cd1 Fix some typos in the documentation. Patch from Brian Gough. Backport the relevant fixes to 8.2 as well. Neil Conway 2007-05-03 15:05:56 +00:00
  • 40f7b9e169 Release builds generate different strangely formatted export names for local symbols, that shouldn't be exported. This patch excludes them, cutting down about 10,000 exported symbols and decreasing the binary size by 20%. Magnus Hagander 2007-05-03 14:04:03 +00:00
  • 63735ca815 Dept. of second thoughts: add comments cautioning against using ReadOrZeroBuffer to fetch pages from beyond physical EOF. This would usually work, but would cause problems for md.c if writes occurred beyond a segment boundary when the previous segment file hadn't been fully extended. Tom Lane 2007-05-02 23:34:48 +00:00
  • 8c3cc86e7b During WAL recovery, when reading a page that we intend to overwrite completely from the WAL data, don't bother to physically read it; just have bufmgr.c return a zeroed-out buffer instead. This speeds recovery significantly, and also avoids unnecessary failures when a page-to-be-overwritten has corrupt page headers on disk. This replaces a former kluge that accomplished the latter by pretending zero_damaged_pages was always ON during WAL recovery; which was OK when the kluge was put in, but is unsafe when restoring a WAL log that was written with full_page_writes off. Tom Lane 2007-05-02 23:18:03 +00:00
  • 8ec943856a Fix things so that when CREATE INDEX CONCURRENTLY sets pg_index.indisvalid true at the very end of its processing, the update is broadcast via a shared-cache-inval message for the index; without this, existing backends that already have relcache entries for the index might never see it become valid. Also, force a relcache inval on the index's parent table at the same time, so that any cached plans for that table are re-planned; this ensures that the newly valid index will be used if appropriate. Aside from making C.I.C. behave more reasonably, this is necessary infrastructure for some aspects of the HOT patch. Pavan Deolasee, with a little further stuff from me. Tom Lane 2007-05-02 21:08:46 +00:00
  • 229d33801d Use the new TimestampDifferenceExceeds API instead of timestamp_cmp_internal and TimestampDifference, to make coding clearer. I think this should also fix the failure to start workers in platforms with low resolution timers, as reported by Itagaki Takahiro. Alvaro Herrera 2007-05-02 18:27:57 +00:00
  • a115bfe3b9 Fix failure to check for INVALID worker entry in the new autovacuum code, which could happen when a worker took to long to start and was thus "aborted" by the launcher. Noticed by lionfish buildfarm member. Alvaro Herrera 2007-05-02 15:47:14 +00:00
  • 88f1fd2989 Fix oversight in PG_RE_THROW processing: it's entirely possible that there isn't any place to throw the error to. If so, we should treat the error as FATAL, just as we would have if it'd been thrown outside the PG_TRY block to begin with. Tom Lane 2007-05-02 15:32:42 +00:00
  • d6013a34f2 Add wrapper script around install.pl that calls buildenv.bat before doing the install. Magnus Hagander 2007-05-01 20:11:14 +00:00
  • e449e19124 Fix a thinko in my patch of a couple months ago for bug #3116: it did the wrong thing when inlining polymorphic SQL functions, because it was using the function's declared return type where it should have used the actual result type of the current call. In 8.1 and 8.2 this causes obvious failures even if you don't have assertions turned on; in 8.0 and 7.4 it would only be a problem if the inlined expression were used as an input to a function that did run-time type determination on its inputs. Add a regression test, since this is evidently an under-tested area. Tom Lane 2007-05-01 18:54:24 +00:00
  • 3afb834ab6 Fix a thinko in my patch of a couple months ago for bug #3116: it did the wrong thing when inlining polymorphic SQL functions, because it was using the function's declared return type where it should have used the actual result type of the current call. In 8.1 and 8.2 this causes obvious failures even if you don't have assertions turned on; in 8.0 and 7.4 it would only be a problem if the inlined expression were used as an input to a function that did run-time type determination on its inputs. Add a regression test, since this is evidently an under-tested area. Tom Lane 2007-05-01 18:54:17 +00:00
  • 5bdefc83a8 Fix a thinko in my patch of a couple months ago for bug #3116: it did the wrong thing when inlining polymorphic SQL functions, because it was using the function's declared return type where it should have used the actual result type of the current call. In 8.1 and 8.2 this causes obvious failures even if you don't have assertions turned on; in 8.0 and 7.4 it would only be a problem if the inlined expression were used as an input to a function that did run-time type determination on its inputs. Add a regression test, since this is evidently an under-tested area. Tom Lane 2007-05-01 18:54:09 +00:00
  • 1430b51761 Fix a thinko in my patch of a couple months ago for bug #3116: it did the wrong thing when inlining polymorphic SQL functions, because it was using the function's declared return type where it should have used the actual result type of the current call. In 8.1 and 8.2 this causes obvious failures even if you don't have assertions turned on; in 8.0 and 7.4 it would only be a problem if the inlined expression were used as an input to a function that did run-time type determination on its inputs. Add a regression test, since this is evidently an under-tested area. Tom Lane 2007-05-01 18:54:02 +00:00
  • b4349519c1 Fix a thinko in my patch of a couple months ago for bug #3116: it did the wrong thing when inlining polymorphic SQL functions, because it was using the function's declared return type where it should have used the actual result type of the current call. In 8.1 and 8.2 this causes obvious failures even if you don't have assertions turned on; in 8.0 and 7.4 it would only be a problem if the inlined expression were used as an input to a function that did run-time type determination on its inputs. Add a regression test, since this is evidently an under-tested area. Tom Lane 2007-05-01 18:53:52 +00:00
  • c432061963 Change the timestamps recorded in transaction commit/abort xlog records from time_t to TimestampTz representation. This provides full gettimeofday() resolution of the timestamps, which might be useful when attempting to do point-in-time recovery --- previously it was not possible to specify the stop point with sub-second resolution. But mostly this is to get rid of TimestampTz-to-time_t conversion overhead during commit. Per my proposal of a day or two back. Tom Lane 2007-04-30 21:01:53 +00:00
  • 641912b4d1 Fix oversight in my patch of yesterday: forgot to ensure that stats would still be forced out at backend exit. Tom Lane 2007-04-30 16:37:08 +00:00
  • 957d08c81f Implement rate-limiting logic on how often backends will attempt to send messages to the stats collector. This avoids the problem that enabling stats_row_level for autovacuum has a significant overhead for short read-only transactions, as noted by Arjen van der Meijden. We can avoid an extra gettimeofday call by piggybacking on the one done for WAL-logging xact commit or abort (although that doesn't help read-only transactions, since they don't WAL-log anything). Tom Lane 2007-04-30 03:23:49 +00:00
  • 57b82bf324 Marginal performance hack: use a dedicated routine instead of copyObject to copy nodes that are known to be Vars during plan reference adjustment. Saves useless memzero operation as well as the big switch in copyObject. Tom Lane 2007-04-30 00:16:43 +00:00
  • afaa6b9821 Marginal performance hack: avoid unnecessary work in expression_tree_mutator. We can just palloc, instead of using makeNode, when we are going to overwrite the whole node anyway in the FLATCOPY macro. Also, use FLATCOPY instead of copyObject for common node types Var and Const. Tom Lane 2007-04-30 00:14:54 +00:00
  • 39a333aa2b Marginal performance hack: remove the loop that used to be needed to look through a freelist for a chunk of adequate size. For a long time now, all elements of a given freelist have been exactly the same allocated size, so we don't need a loop. Since the loop never iterated more than once, you'd think this wouldn't matter much, but it makes a noticeable savings in a simple test --- perhaps because the compiler isn't optimizing on a mistaken assumption that the loop would repeat. AllocSetAlloc is called often enough that saving even a couple of instructions is worthwhile. Tom Lane 2007-04-30 00:12:08 +00:00
  • b1a1ea49da Update to 8.4: Bruce Momjian 2007-04-29 07:17:12 +00:00