From d908c8e23889fbeb4d7917a64606c174fa8c2f60 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Fri, 31 Oct 2003 19:24:17 +0000 Subject: [PATCH] Release updates suggested by Tom. --- doc/src/sgml/release.sgml | 48 +++++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index 6af025bdef..e378ff255d 100644 --- a/doc/src/sgml/release.sgml +++ b/doc/src/sgml/release.sgml @@ -1,5 +1,5 @@ @@ -18,19 +18,19 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.229 2003/10/31 04:44:25 mo In previous releases, IN/NOT IN subqueries were joined to the upper query by sequentially scanning the subquery looking for a join. The 7.4 code uses the same sophisticated techniques - used by ordinary joins and so is much faster, and is now faster - than EXISTS subqueries. + used by ordinary joins and so is much faster. An IN + will now usually as fast as or faster than an equivalent EXISTS + subquery; this reverses the conventional wisdom that applied to + previous releases. Improved GROUP BY processing by using hash buckets - In previous releases, GROUP BY totals were accumulated by - sequentially scanning the list of groups looking for a match; - the 7.4 code places GROUP BY values in hash buckets so the - proper match can be found much quicker. This is particularly - significant in speeding up queries that have a large - number of distinct GROUP BY values. + In previous releases, GROUP BY values were accumulated and sorted + to obtain group-by counts; the 7.4 code places GROUP BY values in + hash buckets so sorting is not required, or reverts to the old + behavior if the group-by buckets will not fit in memory. @@ -47,6 +47,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.229 2003/10/31 04:44:25 mo specified by the query; 7.4 allows full optimization of queries using ANSI join syntax, meaning the optimizer considers all possible join orderings and chooses the most efficient. + Outer joins, however, must still follow the declared ordering. @@ -72,7 +73,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.229 2003/10/31 04:44:25 mo Full support for IPv6 connections and IPv6 address data types - Prior releases allowed only IPv6 connections and IP data types only + Prior releases allowed only IPv4 connections and IP data types only supported IPv4 addresses. This release adds full IPv6 support in both of these areas. @@ -107,9 +108,13 @@ pages, and other free space management improvements. - New protocol improves connection speed/reliability, -and adds error codes, status information, a binary protocol, error -reporting verbosity, and cleaner startup packets. + New client-to-server protocol adds error codes, more status +information, better support for binary data transmission, parameter +values separated from SQL commands, prepared statements available at the +protocol level, clean recovery from COPY failures, and cleaner startup +packets. The older protocol is still supported by both servers and +clients. + Allow cursors to exist outside transactions, @@ -230,6 +235,7 @@ required for those wishing to migrate data from any previous release. systems. + Syntax errors now reported as 'syntax error' rather than 'parse error' (Tom) Server Operation Changes @@ -358,7 +364,7 @@ required for those wishing to migrate data from any previous release. Align shared buffers on 32-byte boundary for copy speed improvement (Manfred Spraul) - Certain CPU's perform faster data copies when addresses are 32-bit + Certain CPU's perform faster data copies when addresses are 32-byte aligned. @@ -475,17 +481,21 @@ required for those wishing to migrate data from any previous release. strings. -Fix subquery aggregates of upper query columns to match SQL spec. (Tom) +Fix aggregates in subqueries to match SQL spec (Tom) - bjm + The SQL spec says that an aggregate function appearing within a nested + subquery belongs to the outer query if its argument contains only + outer-query variables. Prior PG releases did not handle this fine point + correctly. Add option to prevent auto-addition of tables referenced in query (Nigel J. Andrews) By default, tables mentioned in the query are automatically added - to the FROM clause if they are not already there. This option - disabled that behavior. + to the FROM clause if they are not already there. This is compatible with + historic Postgres behavior but is contrary to the SQL spec. + This option allows selecting spec-compatible behavior. Allow UPDATE ... SET col = DEFAULT (Rod) @@ -634,7 +644,7 @@ required for those wishing to migrate data from any previous release. the transaction aborts. -Multiple pggla_dump fixes, including tar format and large objects +Multiple pg_dump fixes, including tar format and large objects Allow pg_dump to dump specific schemas (Neil) Allow pg_dump to preserve column storage characteristics (Christopher)