Commit Graph

25370 Commits

Author SHA1 Message Date
Tom Lane
282d2a03dd HOT updates. When we update a tuple without changing any of its indexed
columns, and the new version can be stored on the same heap page, we no longer
generate extra index entries for the new version.  Instead, index searches
follow the HOT-chain links to ensure they find the correct tuple version.

In addition, this patch introduces the ability to "prune" dead tuples on a
per-page basis, without having to do a complete VACUUM pass to recover space.
VACUUM is still needed to clean up dead index entries, however.

Pavan Deolasee, with help from a bunch of other people.
2007-09-20 17:56:33 +00:00
Neil Conway
bbf4fdc253 Prevent corr() from returning the wrong results for negative correlation
values. The previous coding essentially assumed that x = sqrt(x*x), which
does not hold for x < 0.

Thanks to Jie Zhang at Greenplum and Gavin Sherry for reporting this
issue.
2007-09-19 22:31:48 +00:00
Bruce Momjian
4893eadc3c Remove tabs from SGML file. 2007-09-19 03:13:57 +00:00
Andrew Dunstan
55613bf9cd Close previously open holes for invalidly encoded data to enter the
database via builtin functions, as recently discussed on -hackers.

chr() now returns a character in the database encoding. For UTF8 encoded databases
the argument is treated as a Unicode code point. For other multi-byte encodings
the argument must designate a strict ascii character, or an error is raised,
as is also the case if the argument is 0.

ascii() is adjusted so that it remains the inverse of chr().

The two argument form of convert() is gone, and the three argument form now
takes a bytea first argument and returns a bytea. To cover this loss three new
functions are introduced:
. convert_from(bytea, name) returns text - converts the first argument from the
  named encoding to the database encoding
. convert_to(text, name) returns bytea - converts the first argument from the
  database encoding to the named encoding
. length(bytea, name) returns int - gives the length of the first argument in
  characters in the named encoding
2007-09-18 17:41:17 +00:00
Teodor Sigaev
8544110042 Avoid possibly-unportable initializer, per buildfarm warning
per notice by Gregory Stark <stark@enterprisedb.com>
2007-09-18 15:03:23 +00:00
Bruce Momjian
dc29d703d8 Doc reminder that integer pg version also needs updating. 2007-09-18 01:52:39 +00:00
Bruce Momjian
851745a97a Remove extra tab in postgresql.conf 2007-09-17 21:40:40 +00:00
Tom Lane
039dc49d55 Remove Assert(BgWriterShmem != NULL), which is rather pointless since
we'd dump core anyway immediately afterward if it were null; and it
seems to confuse some versions of icc into generating bad code.
Per report from Sergey Koposov.  Patched in HEAD only, for the moment,
since this is only likely to affect developers.
2007-09-16 16:33:04 +00:00
Tom Lane
22d98e7934 Fix overflow in extract(epoch from interval) for intervals exceeding 68 years.
Seems to have been introduced in 8.1 by careless SECS_PER_DAY
search-and-replace.
2007-09-16 15:56:20 +00:00
Tom Lane
e92da1a9d1 Update release notes for last-minute fix. 2007-09-16 03:03:00 +00:00
Tom Lane
43b0c9182f Fix aboriginal mistake in lazy VACUUM's code for truncating away
no-longer-needed pages at the end of a table.  We thought we could throw away
pages containing HEAPTUPLE_DEAD tuples; but this is not so, because such
tuples very likely have index entries pointing at them, and we wouldn't have
removed the index entries.  The problem only emerges in a somewhat unlikely
race condition: the dead tuples have to have been inserted by a transaction
that later aborted, and this has to have happened between VACUUM's initial
scan of the page and then rechecking it for empty in count_nondeletable_pages.
But that timespan will include an index-cleaning pass, so it's not all that
hard to hit.  This seems to explain a couple of previously unsolved bug
reports.
2007-09-16 02:37:46 +00:00
Bruce Momjian
9a36a09f2e Update Japanese FAQ.
Jun Kuwamura
2007-09-15 00:58:19 +00:00
Bruce Momjian
c16ffbc677 Add:
>
> 	o Prevent long-lived temporary tables from causing frozen-xid
> 	  advancement starvation
>
> 	  http://archives.postgresql.org/pgsql-general/2007-06/msg01645.php
2007-09-14 19:02:46 +00:00
Bruce Momjian
dc8a8a0463 Add:
>
> * Make it possible to use RETURNING together with conditional DO INSTEAD
>   rules, such as for partitioning setups
>
>   http://archives.postgresql.org/pgsql-hackers/2007-09/msg00577.php
2007-09-14 18:50:48 +00:00
Bruce Momjian
18cad61e67 Fix markup. 2007-09-14 18:39:58 +00:00
Bruce Momjian
637878cd85 Update pronunciation FAQ item. 2007-09-14 18:38:44 +00:00
Bruce Momjian
23221f4eea Update to mention alternate project name is "Postgres". 2007-09-14 18:29:59 +00:00
Bruce Momjian
63490ddf1e Remove GIN interface section, which is now documented in SGML.
Heikki Linnakangas
2007-09-14 16:28:17 +00:00
Tom Lane
b2acd633e4 Fix markup that doesn't work in back branches. 2007-09-14 16:15:35 +00:00
Bruce Momjian
7f9de5407a Fix GSS API pointer checking.
Kris Jurka
2007-09-14 15:58:02 +00:00
Bruce Momjian
12afe7bc76 Document atan2() as y/x, rather than x/y, to conform to general usage.
Andrew Maclean
2007-09-14 15:53:48 +00:00
Tom Lane
9b2afa90bf Minor editorialization on release notes. 2007-09-14 15:50:51 +00:00
Bruce Momjian
4b836d8312 Add some links for escape strings.
Brendan Jurd

Fix markup in previous commit.
2007-09-14 14:54:25 +00:00
Bruce Momjian
f6a168e2c3 Add LDAP URL documentation.
Albe Laurenz
2007-09-14 14:31:22 +00:00
Bruce Momjian
13e26073bd Update documentation to mention that autovacuum also does analyze so we
don't need to recommend nightly analyzes anymore unless autovacuum is off.
2007-09-14 13:43:03 +00:00
Bruce Momjian
fc79628641 Clarify tar documentation about return error codes.
Backpatch to 8.2.X.
2007-09-14 13:26:22 +00:00
Bruce Momjian
ae36e0d589 Update tsearch include location in example.
Oleg.
2007-09-14 13:21:30 +00:00
Bruce Momjian
17aae41afd Add tsearch tab completion support:
* adds a few missing words to some commands (like adding GIN as a valid
index type or OWNED BY for ALTER SEQUENCE,...)

* support for ALTER TABLE foo ENABLE/DISABLE REPLICA TRIGGER/RULE

* autocomplete CREATE DATABASE foo TEMPLATE (mostly done to prevent
conflicts with the TEMPLATE keyword for text search)

* support for ALTER/CREATE/DROP TEXT SEARCH as well as COMMENT ON TEXT
SEARCH and the corresponding psql backslash commands.
This proved a little more difficult than expected due to the fact that
words_after_create[] is used for two purposes - one is to provide a list
of words that follow immediatly after CREATE (or DROP) and the other
purpose is to use it for autocompleting anywhere in the statement if the
word in that struct is found with a query.
Since TEXT SEARCH CONFIGURATION|DICTIONARY|TEMPLATE|PARSER results in 3
words instead of one (as all the other words in that list are) I added a
flag to the struct to tell create_command_generator() to skip that entry
 for autocompleting immediatly after CREATE which feels like a dirty
hack (but that holds true for a lot of code in tab-complete.c).


Stefan Kaltenbrunner
2007-09-14 04:25:24 +00:00
Bruce Momjian
c0f2b109bc This is small patch fixes a spi example (PG_MODULE_MAGIC is required as
of PostgreSQL 8.2) and provides a link to compiling and linking section.

Euler Taveira de Oliveira
2007-09-14 04:18:27 +00:00
Bruce Momjian
edc18429bd Update GNU tar error code documentation.
Backpatch to 8.2.X.
2007-09-14 04:15:50 +00:00
Bruce Momjian
6c9e4d7e08 Mentino that PAM doesn't work for Unix system authentication because of
the problems non-root reading /etc/shadow.
2007-09-14 03:53:54 +00:00
Tom Lane
2d6cb170d4 Remove ill-considered (not to mention undocumented) attempt to make
contrib/intarray's GIN opclass override the built-in default.  Per bug #3048
and other complaints.
2007-09-14 03:25:31 +00:00
Bruce Momjian
aa33bdd783 Update documented error text.
Fujii Masao
2007-09-14 02:43:18 +00:00
Bruce Momjian
dfe2e3f7a5 Clarify age() 'months' calculation documentation. 2007-09-14 00:52:45 +00:00
Bruce Momjian
f307fe4c9b Update documentation to emphasize autovacuum rather than
administrator-scheduled vacuums.
2007-09-13 23:43:35 +00:00
Teodor Sigaev
3e805fdcf7 Fix typo in typecasting.
patch from  ITAGAKI Takahiro <itagaki.takahiro@oss.ntt.co.jp>
2007-09-13 06:54:35 +00:00
Bruce Momjian
e8e2bd799f Update Japanese FAQ, backpatch.
Jun Kuwamura
2007-09-13 03:34:11 +00:00
Alvaro Herrera
945ba50dc3 Fix a memory leak in the autovacuum launcher code. Noted by Darcy Buskermolen,
who reported it privately to me.
2007-09-12 22:14:59 +00:00
Tom Lane
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.
2007-09-12 22:10:26 +00:00
Andrew Dunstan
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.
2007-09-12 20:49:27 +00:00
Bruce Momjian
22b613ebd9 Whitespace improvement. 2007-09-12 19:27:16 +00:00
Tom Lane
e435bddb9c Revert ill-starred change to ICC anti-aliasing switches. Per
Jeremy Drake.
2007-09-12 14:28:55 +00:00
Magnus Hagander
6ee3b2dfe4 Install dictionary sample files.
Per buildfarm and Teodor.
2007-09-12 13:58:23 +00:00
Bruce Momjian
1e0eeab155 Document an efficient way to create documentation for back branches. 2007-09-12 03:21:20 +00:00
Bruce Momjian
8049626ee2 Update Japanese FAQ to current release number. 2007-09-12 03:11:42 +00:00
Alvaro Herrera
9588e1bd65 Add a CHECK_FOR_INTERRUPTS call in the site where the vacuum delay point
was removed.
2007-09-12 02:05:48 +00:00
Tom Lane
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.
2007-09-11 19:50:25 +00:00
Tom Lane
16f8a9e4e1 Sync timezone data with 2007g zic release. 2007-09-11 17:43:27 +00:00
Bruce Momjian
0735264aab Upcoming most recent release will be 8.2.5. 2007-09-11 17:34:12 +00:00
Bruce Momjian
da7192d1d4 Stamp 2007-09-11 17:19:49 +00:00