1
1
<!--
2
- $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.229 2003/10/3104:44:25 momjian Exp $
2
+ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.230 2003/10/3119:24:17 momjian Exp $
3
3
-->
4
4
5
5
<appendix id="release">
@@ -18,19 +18,19 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.229 2003/10/31 04:44:25 mo
18
18
In previous releases, IN/NOT IN subqueries were joined to the
19
19
upper query by sequentially scanning the subquery looking for
20
20
a join. The 7.4 code uses the same sophisticated techniques
21
- used by ordinary joins and so is much faster, and is now faster
22
- than EXISTS subqueries.
21
+ used by ordinary joins and so is much faster. An IN
22
+ will now usually as fast as or faster than an equivalent EXISTS
23
+ subquery; this reverses the conventional wisdom that applied to
24
+ previous releases.
23
25
</para>
24
26
</listitem>
25
27
26
28
<listitem><para> Improved GROUP BY processing by using hash buckets</para>
27
29
<para>
28
- In previous releases, GROUP BY totals were accumulated by
29
- sequentially scanning the list of groups looking for a match;
30
- the 7.4 code places GROUP BY values in hash buckets so the
31
- proper match can be found much quicker. This is particularly
32
- significant in speeding up queries that have a large
33
- number of distinct GROUP BY values.
30
+ In previous releases, GROUP BY values were accumulated and sorted
31
+ to obtain group-by counts; the 7.4 code places GROUP BY values in
32
+ hash buckets so sorting is not required, or reverts to the old
33
+ behavior if the group-by buckets will not fit in memory.
34
34
</para>
35
35
</listitem>
36
36
@@ -47,6 +47,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.229 2003/10/31 04:44:25 mo
47
47
specified by the query; 7.4 allows full optimization of
48
48
queries using ANSI join syntax, meaning the optimizer considers
49
49
all possible join orderings and chooses the most efficient.
50
+ Outer joins, however, must still follow the declared ordering.
50
51
</para>
51
52
</listitem>
52
53
@@ -72,7 +73,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.229 2003/10/31 04:44:25 mo
72
73
<listitem><para> Full support for IPv6 connections and IPv6 address
73
74
data types</para>
74
75
<para>
75
- Prior releases allowed onlyIPv6 connections and IP data types only
76
+ Prior releases allowed onlyIPv4 connections and IP data types only
76
77
supported IPv4 addresses. This release adds full IPv6 support in
77
78
both of these areas.
78
79
</para>
@@ -107,9 +108,13 @@ pages, and other free space management improvements.</para>
107
108
</para>
108
109
</listitem>
109
110
110
- <listitem><para> New protocol improves connection speed/reliability,
111
- and adds error codes, status information, a binary protocol, error
112
- reporting verbosity, and cleaner startup packets.</para>
111
+ <listitem><para> New client-to-server protocol adds error codes, more status
112
+ information, better support for binary data transmission, parameter
113
+ values separated from SQL commands, prepared statements available at the
114
+ protocol level, clean recovery from COPY failures, and cleaner startup
115
+ packets. The older protocol is still supported by both servers and
116
+ clients.
117
+ </para>
113
118
</listitem>
114
119
115
120
<listitem><para> Allow cursors to exist outside transactions,
@@ -230,6 +235,7 @@ required for those wishing to migrate data from any previous release.</para>
230
235
systems.
231
236
</para>
232
237
</listitem>
238
+ <listitem><para>Syntax errors now reported as 'syntax error' rather than 'parse error' (Tom)</para></listitem>
233
239
</itemizedlist></para></sect2>
234
240
235
241
<sect2><title> Server Operation Changes</title>
@@ -358,7 +364,7 @@ required for those wishing to migrate data from any previous release.</para>
358
364
</listitem>
359
365
<listitem><para>Align shared buffers on 32-byte boundary for copy speed improvement (Manfred Spraul)</para>
360
366
<para>
361
- Certain CPU's perform faster data copies when addresses are 32-bit
367
+ Certain CPU's perform faster data copies when addresses are 32-byte
362
368
aligned.
363
369
</para>
364
370
</listitem>
@@ -475,17 +481,21 @@ required for those wishing to migrate data from any previous release.</para>
475
481
strings.
476
482
</para>
477
483
</listitem>
478
- <listitem><para>Fixsubquery aggregatesof upper query columns to match SQL spec. (Tom)</para>
484
+ <listitem><para>Fix aggregatesin subqueries to match SQL spec (Tom)</para>
479
485
<para>
480
- bjm
486
+ The SQL spec says that an aggregate function appearing within a nested
487
+ subquery belongs to the outer query if its argument contains only
488
+ outer-query variables. Prior PG releases did not handle this fine point
489
+ correctly.
481
490
</para>
482
491
</listitem>
483
492
<listitem><para>Add option to prevent auto-addition of tables referenced in query (Nigel J.
484
493
Andrews) </para>
485
494
<para>
486
495
By default, tables mentioned in the query are automatically added
487
- to the FROM clause if they are not already there. This option
488
- disabled that behavior.
496
+ to the FROM clause if they are not already there. This is compatible with
497
+ historic Postgres behavior but is contrary to the SQL spec.
498
+ This option allows selecting spec-compatible behavior.
489
499
</para>
490
500
</listitem>
491
501
<listitem><para>Allow UPDATE ... SET col = DEFAULT (Rod)</para>
@@ -634,7 +644,7 @@ required for those wishing to migrate data from any previous release.</para>
634
644
the transaction aborts.
635
645
</para>
636
646
</listitem>
637
- <listitem><para>Multiplepggla_dump fixes, including tar format and large objects</para></listitem>
647
+ <listitem><para>Multiplepg_dump fixes, including tar format and large objects</para></listitem>
638
648
<listitem><para>Allow pg_dump to dump specific schemas (Neil)</para></listitem>
639
649
<listitem><para>Allow pg_dump to preserve column storage characteristics (Christopher)</para>
640
650
<para>