Commit Graph

  • e8e2bd799f Update Japanese FAQ, backpatch. Bruce Momjian 2007-09-13 03:34:11 +00:00
  • 945ba50dc3 Fix a memory leak in the autovacuum launcher code. Noted by Darcy Buskermolen, who reported it privately to me. Alvaro Herrera 2007-09-12 22:14:59 +00:00
  • 6889303531 Redefine the lp_flags field of item pointers as having four states, rather than two independent bits (one of which was never used in heap pages anyway, or at least hadn't been in a very long time). This gives us flexibility to add the HOT notions of redirected and dead item pointers without requiring anything so klugy as magic values of lp_off and lp_len. The state values are chosen so that for the states currently in use (pre-HOT) there is no change in the physical representation. Tom Lane 2007-09-12 22:10:26 +00:00
  • eb0a7735ba Perform post-escaping encoding validity checks on SQL literals and COPY input so that invalidly encoded data cannot enter the database by these means. Andrew Dunstan 2007-09-12 20:49:27 +00:00
  • 07c822672b Make REINDEX DATABASE silently skip remote temp tables. Alvaro Herrera 2007-09-12 20:21:23 +00:00
  • 22b613ebd9 Whitespace improvement. Bruce Momjian 2007-09-12 19:27:16 +00:00
  • 23df99783e Fix the database-wide version of CLUSTER to silently skip temp tables of remote sessions, instead of erroring out in the middle of the operation. Alvaro Herrera 2007-09-12 15:16:24 +00:00
  • bf476b94b1 Fix the database-wide version of CLUSTER to silently skip temp tables of remote sessions, instead of erroring out in the middle of the operation. Alvaro Herrera 2007-09-12 15:16:23 +00:00
  • 57dcb0f81d Fix the database-wide version of CLUSTER to silently skip temp tables of remote sessions, instead of erroring out in the middle of the operation. Alvaro Herrera 2007-09-12 15:16:20 +00:00
  • e435bddb9c Revert ill-starred change to ICC anti-aliasing switches. Per Jeremy Drake. Tom Lane 2007-09-12 14:28:55 +00:00
  • 6ee3b2dfe4 Install dictionary sample files. Per buildfarm and Teodor. Magnus Hagander 2007-09-12 13:58:23 +00:00
  • 1e0eeab155 Document an efficient way to create documentation for back branches. Bruce Momjian 2007-09-12 03:21:20 +00:00
  • 7d880486d0 Update Japanese FAQ to current release number. Bruce Momjian 2007-09-12 03:11:49 +00:00
  • 8049626ee2 Update Japanese FAQ to current release number. Bruce Momjian 2007-09-12 03:11:42 +00:00
  • 073164b767 Add a CHECK_FOR_INTERRUPTS call in the site where the vacuum delay point was removed. Alvaro Herrera 2007-09-12 02:05:55 +00:00
  • d48f8ab8e1 Add a CHECK_FOR_INTERRUPTS call in the site where the vacuum delay point was removed. Alvaro Herrera 2007-09-12 02:05:53 +00:00
  • 9588e1bd65 Add a CHECK_FOR_INTERRUPTS call in the site where the vacuum delay point was removed. Alvaro Herrera 2007-09-12 02:05:48 +00:00
  • d41c420e3b Add a CHECK_FOR_INTERRUPTS call in the site where the vacuum delay point was removed. Alvaro Herrera 2007-09-12 02:05:36 +00:00
  • 861f7357b9 Give ICC its preferred, documented form of the no-strict-aliasing switch, viz '-fno-alias'. Since we have a separate code path here anyway, it's just as easy to cooperate. Tom Lane 2007-09-11 19:50:25 +00:00
  • 6f3727c5e7 Sync timezone data with 2007g zic release. Tom Lane 2007-09-11 17:44:01 +00:00
  • 459b26f727 Sync timezone data with 2007g zic release. Tom Lane 2007-09-11 17:43:45 +00:00
  • ba438dfccd Sync timezone data with 2007g zic release. Tom Lane 2007-09-11 17:43:36 +00:00
  • 16f8a9e4e1 Sync timezone data with 2007g zic release. Tom Lane 2007-09-11 17:43:27 +00:00
  • 5dc3723781 Stamp releases 8.2.5, 8.1.10, 8.0.14, 7.4.18, 7.3.20. Bruce Momjian 2007-09-11 17:37:30 +00:00
  • 1116c0d4d3 Stamp releases 8.2.5, 8.1.10, 8.0.14, 7.4.18, 7.3.20. Bruce Momjian 2007-09-11 17:37:08 +00:00
  • 37ac2f6d1f Stamp releases 8.2.5, 8.1.10, 8.0.14, 7.4.18, 7.3.20. Bruce Momjian 2007-09-11 17:36:57 +00:00
  • 59f7d47ed7 Stamp releases 8.2.5, 8.1.10, 8.0.14, 7.4.18, 7.3.20. Bruce Momjian 2007-09-11 17:36:45 +00:00
  • 5373878775 Stamp releases 8.2.5, 8.1.10, 8.0.14, 7.4.18, 7.3.20. Bruce Momjian 2007-09-11 17:36:33 +00:00
  • 0735264aab Upcoming most recent release will be 8.2.5. Bruce Momjian 2007-09-11 17:34:12 +00:00
  • 6dfff52791 Stamp Bruce Momjian 2007-09-11 17:20:01 +00:00
  • da7192d1d4 Stamp Bruce Momjian 2007-09-11 17:19:49 +00:00
  • 07403e67dd Stamp Bruce Momjian 2007-09-11 17:19:36 +00:00
  • 30099c28f0 Stamp Bruce Momjian 2007-09-11 17:19:25 +00:00
  • 465ae004ce Stamp Bruce Momjian 2007-09-11 17:19:15 +00:00
  • 4147492693 Stamp Bruce Momjian 2007-09-11 17:19:07 +00:00
  • 371b213929 Make sure that open hash table scans are cleaned up when bgwriter tries to recover from elog(ERROR). Problem was created by introduction of hash seq search tracking awhile back, and affects all branches that have bgwriter; in HEAD the disease has snuck into autovacuum and walwriter too. (Not sure that the latter two use hash_seq_search at the moment, but surely they might someday.) Per report from Sergey Koposov. Tom Lane 2007-09-11 17:15:55 +00:00
  • 4603c29e3a Make sure that open hash table scans are cleaned up when bgwriter tries to recover from elog(ERROR). Problem was created by introduction of hash seq search tracking awhile back, and affects all branches that have bgwriter; in HEAD the disease has snuck into autovacuum and walwriter too. (Not sure that the latter two use hash_seq_search at the moment, but surely they might someday.) Per report from Sergey Koposov. Tom Lane 2007-09-11 17:15:48 +00:00
  • b58dba7976 Make sure that open hash table scans are cleaned up when bgwriter tries to recover from elog(ERROR). Problem was created by introduction of hash seq search tracking awhile back, and affects all branches that have bgwriter; in HEAD the disease has snuck into autovacuum and walwriter too. (Not sure that the latter two use hash_seq_search at the moment, but surely they might someday.) Per report from Sergey Koposov. Tom Lane 2007-09-11 17:15:40 +00:00
  • f181f9e1e4 Make sure that open hash table scans are cleaned up when bgwriter tries to recover from elog(ERROR). Problem was created by introduction of hash seq search tracking awhile back, and affects all branches that have bgwriter; in HEAD the disease has snuck into autovacuum and walwriter too. (Not sure that the latter two use hash_seq_search at the moment, but surely they might someday.) Per report from Sergey Koposov. Tom Lane 2007-09-11 17:15:33 +00:00
  • 5cf785a4de Include hash table name in all the internal-error elog messages in dynahash.c. Sergey Koposov's current open problem shows the possible usefulness of this, and it doesn't add much code. Tom Lane 2007-09-11 16:17:46 +00:00
  • 476045a21b Remove QueryOperand->istrue flag, it was used only in cover ranking (ts_rank_cd). Use palloc'ed array in ranking instead of flag. Teodor Sigaev 2007-09-11 16:01:40 +00:00
  • 13ad48eb8a Fix header's size of structs defines in ispell. Teodor Sigaev 2007-09-11 13:15:41 +00:00
  • 8605cfaa3d Fix header's size of structs defines in ispell. Teodor Sigaev 2007-09-11 13:06:28 +00:00
  • 7176065273 Fix header's size of structs defines in ispell. Teodor Sigaev 2007-09-11 13:04:53 +00:00
  • 13553cbbff Fix header's size of structs defines in ispell. Backpatch is needed for contrib version. Teodor Sigaev 2007-09-11 12:57:05 +00:00
  • 64def09592 Add regression tests for ispell, synonym and thesaurus dictionaries. Rename synonym.syn.sample and thesaurs.ths.sample to synonym_sample.syn and thesaurs_sample.ths accordingly to be able to use they in regression test. Teodor Sigaev 2007-09-11 11:54:42 +00:00
  • c4b2b2960a Fix ts_debug function to prevent unneeded calls of ts_lexize(). It will be mush better to reimplement ts_debug in C (instead of SQL as now), but it's planned for the future. Teodor Sigaev 2007-09-11 08:51:22 +00:00
  • 57cafe7982 Refactor from Heikki Linnakangas <heikki@enterprisedb.com>: Teodor Sigaev 2007-09-11 08:46:29 +00:00
  • ef4d38c86c Rename recently-added pg_stat_activity column from txn_start to xact_start, for consistency with other column names such as in pg_stat_database. Tom Lane 2007-09-11 03:28:05 +00:00
  • 82a47982f3 Arrange for SET LOCAL's effects to persist until the end of the current top transaction, unless rolled back or overridden by a SET clause for the same variable attached to a surrounding function call. Per discussion, these seem the best semantics. Note that this is an INCOMPATIBLE CHANGE: in 8.0 through 8.2, SET LOCAL's effects disappeared at subtransaction commit (leading to behavior that made little sense at the SQL level). Tom Lane 2007-09-11 00:06:42 +00:00
  • 8f11bb1919 Make CLUSTER and REINDEX silently skip remote temp tables in their database-wide editions. Alvaro Herrera 2007-09-10 22:02:05 +00:00
  • b366562e43 Make CLUSTER and REINDEX silently skip remote temp tables in their database-wide editions. Alvaro Herrera 2007-09-10 21:59:37 +00:00
  • 6a10f0f749 Release the exclusive lock on the table early after truncating it in lazy vacuum, instead of waiting till commit. Alvaro Herrera 2007-09-10 21:40:03 +00:00
  • f7379f5c88 Heikki Linnakangas <heikki@enterprisedb.com>: Teodor Sigaev 2007-09-10 20:37:36 +00:00
  • 53ef36cb4a Fix recently introduced bugs about parsing ispell/hunspell files. In most cases it cause because of unneeded lowercasing of flags. Teodor Sigaev 2007-09-10 20:27:12 +00:00
  • a441035198 Remove the vacuum_delay_point call in count_nondeletable_pages, because we hold an exclusive lock on the table at this point, which we want to release as soon as possible. This is called in the phase of lazy vacuum where we truncate the empty pages at the end of the table. Alvaro Herrera 2007-09-10 17:59:03 +00:00
  • e52f4ec325 Remove the vacuum_delay_point call in count_nondeletable_pages, because we hold an exclusive lock on the table at this point, which we want to release as soon as possible. This is called in the phase of lazy vacuum where we truncate the empty pages at the end of the table. Alvaro Herrera 2007-09-10 17:58:56 +00:00
  • 053731ab0a Remove the vacuum_delay_point call in count_nondeletable_pages, because we hold an exclusive lock on the table at this point, which we want to release as soon as possible. This is called in the phase of lazy vacuum where we truncate the empty pages at the end of the table. Alvaro Herrera 2007-09-10 17:58:50 +00:00
  • 21c27af65f Remove the vacuum_delay_point call in count_nondeletable_pages, because we hold an exclusive lock on the table at this point, which we want to release as soon as possible. This is called in the phase of lazy vacuum where we truncate the empty pages at the end of the table. Alvaro Herrera 2007-09-10 17:58:45 +00:00
  • d982daae0b Change void* opaque argument to Datum type, add argument's name to PushFunction type definition. Teodor Sigaev 2007-09-10 12:36:41 +00:00
  • 83d0b9f3ca Fixes from Heikki Linnakangas <heikki@enterprisedb.com>: Teodor Sigaev 2007-09-10 10:39:56 +00:00
  • f243a1a1bd Revert temporary patch that made synchronous_commit default to OFF. Tom Lane 2007-09-10 02:01:19 +00:00
  • b7adf47eda Set the correct context (PGC_SIGHUP) for log_autovacuum, per ITAGAKI Takahiro. Fix grammatical errors in its description. Tom Lane 2007-09-10 01:39:19 +00:00
  • 40fda15dce Code review for GUC revert-values-if-removed-from-postgresql.conf patch; and in passing, fix some bogosities dating from the custom_variable_classes patch. Fix guc-file.l to correctly check changes in custom_variable_classes that are attempted concurrently with additions/removals of custom variables, and don't allow the new setting to be applied in advance of checking it. Clean up messy and undocumented situation for string variables with NULL boot_val. Fix DefineCustomVariable functions to initialize boot_val correctly. Prevent find_option from inserting bogus placeholders for custom variables that are simply inquired about rather than being set. Tom Lane 2007-09-10 00:57:22 +00:00
  • 43df609daa fix typo in regression Makefile. Andrew Dunstan 2007-09-09 22:53:33 +00:00
  • 0cb74d3cec Provide for a file specifying non-standard config options for temp install for pg_regress, via --temp-config option. Pick this up in the make file via TEMP_CONFIG setting. Andrew Dunstan 2007-09-09 20:40:54 +00:00
  • 6bd4f401b0 Replace the former method of determining snapshot xmax --- to wit, calling ReadNewTransactionId from GetSnapshotData --- with a "latestCompletedXid" variable that is updated during transaction commit or abort. Since latestCompletedXid is written only in places that had to lock ProcArrayLock exclusively anyway, and is read only in places that had to lock ProcArrayLock shared anyway, it adds no new locking requirements to the system despite being cluster-wide. Moreover, removing ReadNewTransactionId from snapshot acquisition eliminates the need to take both XidGenLock and ProcArrayLock at the same time. Since XidGenLock is sometimes held across I/O this can be a significant win. Some preliminary benchmarking suggested that this patch has no effect on average throughput but can significantly improve the worst-case transaction times seen in pgbench. Concept by Florian Pflug, implementation by Tom Lane. Tom Lane 2007-09-08 20:31:15 +00:00
  • 0a51e7073c Don't take ProcArrayLock while exiting a transaction that has no XID; there is no need for serialization against snapshot-taking because the xact doesn't affect anyone else's snapshot anyway. Per discussion. Also, move various info about the interlocking of transactions and snapshots out of code comments and into a hopefully-more-cohesive discussion in access/transam/README. Tom Lane 2007-09-07 20:59:26 +00:00
  • 85e79a4a83 Add Hash thread URL: Bruce Momjian 2007-09-07 19:07:58 +00:00
  • 015659330f Improve page split in rtree emulation. Now if splitted result has big misalignement, then it tries to split page basing on distribution of boxe's centers. Teodor Sigaev 2007-09-07 17:19:52 +00:00
  • 4a78bd8a4d Improve page split in rtree emulation. Now if splitted result has big misalignement, then it tries to split page basing on distribution of boxe's centers. Teodor Sigaev 2007-09-07 17:04:46 +00:00
  • 0392ea5097 Improve page split in rtree emulation. Now if splitted result has big misalignement, then it tries to split page basing on distribution of boxe's centers. Teodor Sigaev 2007-09-07 17:04:26 +00:00
  • eb22ca6f9f Fix indefinit loop in rank_cd for some corner queries. Per Daniele Varrazzo <piro@develer.com> bug report. Teodor Sigaev 2007-09-07 16:26:59 +00:00
  • 978de9d06d Improvements from Heikki Linnakangas <heikki@enterprisedb.com> Teodor Sigaev 2007-09-07 16:03:40 +00:00
  • 8983852e34 Improving various checks by Heikki Linnakangas <heikki@enterprisedb.com> Teodor Sigaev 2007-09-07 15:35:11 +00:00
  • e5be89981f Refactoring by Heikki Linnakangas <heikki@enterprisedb.com> with small editorization by me Teodor Sigaev 2007-09-07 15:09:56 +00:00
  • da1248401d Add turkish stopword list. Thanks to Devrim GUNDUZ <devrim@CommandPrompt.com> Teodor Sigaev 2007-09-07 14:46:43 +00:00
  • cd1aae5864 Allow CREATE INDEX CONCURRENTLY to disregard transactions in other databases, per gripe from hubert depesz lubaczewski. Patch from Simon Riggs. Tom Lane 2007-09-07 00:58:57 +00:00
  • f8942f4a15 Make eval_const_expressions() preserve typmod when simplifying something like null::char(3) to a simple Const node. (It already worked for non-null values, but not when we skipped evaluation of a strict coercion function.) This prevents loss of typmod knowledge in situations such as exhibited in bug #3598. Unfortunately there seems no good way to fix that bug in 8.1 and 8.2, because they simply don't carry a typmod for a plain Const node. Tom Lane 2007-09-06 17:31:58 +00:00
  • 190df8a4cf Done: Bruce Momjian 2007-09-05 21:58:47 +00:00
  • 0ecb4ea773 Volatile-qualify the ProcArray PGPROC pointer in a bunch of routines that examine fields that could change under them. This is just to make really sure that when we are fetching a value 'only once', that's what actually happens. Possibly this is a bug that should be back-patched, but in the absence of solid evidence that it's needed, I won't bother. Tom Lane 2007-09-05 21:11:19 +00:00
  • 4bf2dfb9a2 Quick hack to make the VXID of a prepared transaction be -1/XID, so that different prepared xacts can be told apart in the pg_locks view. Per suggestion from Florian. Tom Lane 2007-09-05 20:53:17 +00:00
  • 295e63983d Implement lazy XID allocation: transactions that do not modify any database rows will normally never obtain an XID at all. We already did things this way for subtransactions, but this patch extends the concept to top-level transactions. In applications where there are lots of short read-only transactions, this should improve performance noticeably; not so much from removal of the actual XID-assignments, as from reduction of overhead that's driven by the rate of XID consumption. We add a concept of a "virtual transaction ID" so that active transactions can be uniquely identified even if they don't have a regular XID. This is a much lighter-weight concept: uniqueness of VXIDs is only guaranteed over the short term, and no on-disk record is made about them. Tom Lane 2007-09-05 18:10:48 +00:00
  • 2e74c53ec1 Provide for binary input/output of enums, to fix complaint from Merlin Moncure. This just provides text values, we're not exposing the underlying Oid representation. Catalog version bumped. Andrew Dunstan 2007-09-04 16:41:43 +00:00
  • a6b5765c7e Synced parser and keyword list. Michael Meskes 2007-09-04 10:02:29 +00:00
  • fcc6756341 Sync examples of psql \dF output with current CVS HEAD behavior. Random other wordsmithing. Tom Lane 2007-09-04 03:46:36 +00:00
  • 6d871a2538 Restrict tsearch config file base names to contain a-z, 0-9, and underscore, instead of the initial policy of whatever isalpha() likes. Per discussion. Tom Lane 2007-09-04 02:16:56 +00:00
  • e7889b83b7 Support SET FROM CURRENT in CREATE/ALTER FUNCTION, ALTER DATABASE, ALTER ROLE. (Actually, it works as a plain statement too, but I didn't document that because it seems a bit useless.) Unify VariableResetStmt with VariableSetStmt, and clean up some ancient cruft in the representation of same. Tom Lane 2007-09-03 18:46:30 +00:00
  • dd4594e332 Fix MSVC build (I think) for recent pg_proc.h column addition. This business with two independent build systems does kinda suck. Tom Lane 2007-09-03 02:51:47 +00:00
  • 7ab43b88d7 Improve stylistic consistency of descriptions of built-in objects by avoiding initcap style --- the vast majority of the existing descriptions do not use an initial cap. I didn't change places where the first word was all-cap. Tom Lane 2007-09-03 02:30:45 +00:00
  • 6f4a5462b4 Add an ORDER BY to nail down the expected row order from a query that's been shown to be sensitive to concurrent autovacuum. Per Alvaro. Tom Lane 2007-09-03 01:28:40 +00:00
  • a4df52f95f Fix breakage of GIN support for varchar[] and cidr[] that I introduced in the operator-family rewrite. I had mistakenly supposed that these could use the pg_amproc entries for text[] and inet[] respectively. However, binary compatibility of the underlying types does not make two array types binary compatible (since they must differ in the header field that gives the element type OID), and so the index support code doesn't consider those entries applicable. Add back the missing pg_amproc entries, and add an opr_sanity query to try to catch such mistakes in future. Per report from Gregory Maxwell. Tom Lane 2007-09-03 01:18:33 +00:00
  • 2abae34a2e Implement function-local GUC parameter settings, as per recent discussion. There are still some loose ends: I didn't do anything about the SET FROM CURRENT idea yet, and it's not real clear whether we are happy with the interaction of SET LOCAL with function-local settings. The documentation is a bit spartan, too. Tom Lane 2007-09-03 00:39:26 +00:00
  • fcfe801ab8 Clean up whitespace. Bruce Momjian 2007-09-02 01:13:55 +00:00
  • e6c36081c2 More SGML alignment cleanups. Bruce Momjian 2007-09-01 23:06:29 +00:00
  • 87ee7857ea Properly indent SGML source of libpq.sgml. Bruce Momjian 2007-09-01 22:08:41 +00:00
  • d2825e1c85 Since sort_bounded_heap makes state changes that should be made regardless of the number of tuples involved, it's incorrect to skip it when memtupcount = 1; the number of cycles saved is minuscule anyway. An alternative solution would be to pull the state changes out to the call site in tuplesort_performsort, but keeping them near the corresponding changes in make_bounded_heap seems marginally cleaner. Noticed by Greg Stark. Tom Lane 2007-09-01 18:47:39 +00:00
  • 7cee08efee Apply a band-aid fix for the problem that 8.2 and up completely misestimate the number of rows likely to be produced by a query such as SELECT * FROM t1 LEFT JOIN t2 USING (key) WHERE t2.key IS NULL; What this is doing is selecting for t1 rows with no match in t2, and thus it may produce a significant number of rows even if the t2.key table column contains no nulls at all. 8.2 thinks the table column's null fraction is relevant and thus may estimate no rows out, which results in terrible plans if there are more joins above this one. A proper fix for this will involve passing much more information about the context of a clause to the selectivity estimator functions than we ever have. There's no time left to write such a patch for 8.3, and it wouldn't be back-patchable into 8.2 anyway. Instead, put in an ad-hoc test to defeat the normal table-stats-based estimation when an IS NULL test is evaluated at an outer join, and just use a constant estimate instead --- I went with 0.5 for lack of a better idea. This won't catch every case but it will catch the typical ways of writing such queries, and it seems unlikely to make things worse for other queries. Tom Lane 2007-08-31 23:35:30 +00:00
  • 0ee5a39862 Apply a band-aid fix for the problem that 8.2 and up completely misestimate the number of rows likely to be produced by a query such as SELECT * FROM t1 LEFT JOIN t2 USING (key) WHERE t2.key IS NULL; What this is doing is selecting for t1 rows with no match in t2, and thus it may produce a significant number of rows even if the t2.key table column contains no nulls at all. 8.2 thinks the table column's null fraction is relevant and thus may estimate no rows out, which results in terrible plans if there are more joins above this one. A proper fix for this will involve passing much more information about the context of a clause to the selectivity estimator functions than we ever have. There's no time left to write such a patch for 8.3, and it wouldn't be back-patchable into 8.2 anyway. Instead, put in an ad-hoc test to defeat the normal table-stats-based estimation when an IS NULL test is evaluated at an outer join, and just use a constant estimate instead --- I went with 0.5 for lack of a better idea. This won't catch every case but it will catch the typical ways of writing such queries, and it seems unlikely to make things worse for other queries. Tom Lane 2007-08-31 23:35:22 +00:00
  • a55eab8921 Only use SGML indexterm "zone" when we want to get the entire section. Bruce Momjian 2007-08-31 21:33:48 +00:00