1
1
<!--
2
- $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.229 2003/10/31 04:44:25 momjian Exp $
2
+ $Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.230 2003/10/31 19: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 only IPv6 connections and IP data types only
76
+ Prior releases allowed only IPv4 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>Fix subquery aggregates of upper query columns to match SQL spec. (Tom)</para>
484
+ <listitem><para>Fix aggregates in 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>Multiple pggla_dump fixes, including tar format and large objects</para></listitem>
647
+ <listitem><para>Multiple pg_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>
0 commit comments