Fix markup for new release footnotes.

This commit is contained in:
Bruce Momjian 2003-10-30 03:46:42 +00:00
parent 60b198a768
commit d807bbe837
2 changed files with 216 additions and 42 deletions

251
HISTORY
View File

@ -8,27 +8,28 @@
Major changes in this release:
Performance
IN/NOT IN subqueries are now much more efficient
IN/NOT IN subqueries are now much more efficient [1]
Improved GROUP BY processing by using hash buckets
Improved GROUP BY processing by using hash buckets [2]
New multi-key hash join capability
New multi-key hash join capability [3]
ANSI joins are now better optimized
ANSI joins are now better optimized [4]
Faster and more powerful regular expression code
Faster and more powerful regular expression code [5]
Function-inlining for simple SQL functions
Function-inlining for simple SQL functions [6]
IPv6
Full support for IPv6 connections and IPv6 address data types
[7]
SSL
Major improvements in SSL performance and reliability
Major improvements in SSL performance and reliability [8]
Index Growth Prevention
Allow free space map to efficiently reuse empty index pages,
and other free space management improvements.
and other free space management improvements. [9]
Standards Compliance
Implement information schema
@ -47,14 +48,15 @@
Threads
libpq and ecpg are now fully thread-safe with
--enable-thread-safety
--enable-thread-safety [10]
Contrib
New version of full text indexing (tsearch2)
New autovacuum tool
New autovacuum tool [11]
Array handling has been improved and moved into the main server
[12]
_________________________________________________________________
Migration to version 7.4
@ -65,30 +67,33 @@
Observe the following incompatibilities:
* The server-side autocommit setting was removed and reimplemented
in client applications and languages.
in client applications and languages. [13]
* Error message wording has changed substantially in this release,
and error codes have been added.
* ANSI inner joins may behave differently because they are now
better optimized
* A number of server variables have been renamed for clarity
* MOVE/FETCH 0 now does nothing; return value of MOVE/FETCH 1/0
varies based on the current offset in the cursor
* COPY now can process carriage-return/line-feed and carriage-return
terminated files. Literal carriage-returns and line-feeds are no
longer accepted as data values; use \r and \n instead.
* A number of server variables have been renamed for clarity,
primarily those related to logging
* MOVE/FETCH 0 now does nothing [14]
* MOVE/FETCH now returns the actual number of rows moved/fetched, or
zero if at the beginning/end of the cursor [15]
* COPY now can process carriage-return and carriage-return/line-feed
end-of-line terminated files.
* Literal carriage-returns and line-feeds are no longer accepted as
data values; use \r and \n instead.
* Trailing spaces are now trimmed when converting from CHAR(n) to
VARCHAR(n) / TEXT
* FLOAT(p) now measures 'p' in bits, not digits
* Ambiguous date values now must match the ordering specified by
DateStyle
DateStyle [16]
* The oidrand(), oidsrand(), and userfntest() functions have been
removed.
removed. [17]
* 'now' will no longer work as a column default; now() or
CURRENT_TIMESTAMP should be used instead
CURRENT_TIMESTAMP should be used instead [18]
* 'today' will no longer work as a column default; CURRENT_DATE
should be used instead
should be used instead [19]
* Dollar sign ($) is no longer allowed in operator names
* Dollar sign ($) can be a non-first character in identifiers
* Dollar sign ($) can be a non-first character in identifiers [20]
_________________________________________________________________
Changes
@ -97,19 +102,20 @@ Server Operation
* Allow IPv6 server connections (Nigel Kukard, Johan Jordaan, Bruce,
Tom, Kurt Roeckx, Andrew Dunstan)
* Fix SSL to handle errors cleanly (Nathan Mueller)
* Fix SSL to handle errors cleanly (Nathan Mueller) [21]
* SSL protocol security and performance improvements (Sean
Chittenden)
* Print lock information when a deadlock is detected (Tom)
Chittenden) [22]
* Print lock information when a deadlock is detected (Tom) [23]
* Update "/tmp" socket mod. times regularly to avoid their removal
(Tom)
(Tom) [24]
* Enable PAM for MAC OS X (Aaron Hillegass)
* Make btree indexes fully WAL-safe (Tom)
* Make btree indexes fully WAL-safe (Tom) [25]
* Allow btree index compaction and empty page reuse (Tom)
* Fix inconsistent index lookups during split of first root page
(Tom)
(Tom) [26]
* Improve free space map allocation logic (Tom)
* Preserve free space information between postmaster restarts (Tom)
[27]
* Set proper schema permissions in initdb (Peter)
* Add start time to pg_stat_activity (Neil)
* New code to detect corrupt disk pages; erase with
@ -132,13 +138,13 @@ Performance
* Allow multi-key hash joins (Tom)
* Improve constant folding (Tom)
* Add ability to inline simple SQL functions (Tom)
* Reduce memory usage for queries using complex functions (Tom)
* Improve GEQO optimizer performance (Tom)
* Reduce memory usage for queries using complex functions (Tom) [28]
* Improve GEQO optimizer performance (Tom) [29]
* Allow IN/NOT IN to be handled via hash tables (Tom)
* Improve NOT IN (subquery) performance (Tom)
* Allow most IN subqueries to be processed as joins (Tom)
* Allow the postmaster to preload libraries using preload_libraries
(Joe)
(Joe) [30]
* Improve optimizer cost computations, particularly for subqueries
(Tom)
* Avoid sort when subquery ORDER BY matches upper query (Tom)
@ -156,17 +162,17 @@ Performance
* Improve trigger/constraint performance (Stephan)
* Improve speed of col IN (const, const, const, ...) (Tom)
* Fix hash indexes which were broken in rare cases (Tom)
* Improve hash index concurrency and speed (Tom)
* Improve hash index concurrency and speed (Tom) [31]
* Align shared buffers on 32-byte boundary for copy speed
improvement (Manfred Spraul)
improvement (Manfred Spraul) [32]
* The NUMERIC datatype has been reimplemented for better performance
(Tom)
(Tom) [33]
_________________________________________________________________
Server Configuration
* Rename server parameter server_min_messages to log_min_messages
(Bruce)
(Bruce) [34]
* Rename show_*_stats to log_*_stats (Bruce)
* Rename show_source_port to log_source_port (Bruce)
* Rename hostname_lookup to log_hostname (Bruce)
@ -243,10 +249,9 @@ Utility Commands
* Add ON COMMIT clause to CREATE TABLE for temp tables (Gavin)
* Allow cursors outside transactions using WITH HOLD (Neil)
* Make MOVE/FETCH 0 actually move/fetch 0 (Bruce)
* Cause FETCH 1 to return the next cursor row number, or zero if at
beginning/end of cursor, per SQL spec (Bruce)
* Have MOVE return 0 or 1 depending on cursor position (Bruce)
* MOVE/FETCH 0 now does nothing (Bruce)
* Cause MOVE/FETCH to return the number of rows moved/fetched, or
zero if at the beginning/end of cursor, per SQL spec (Bruce)
* Properly handle SCROLL with cursors, or report an error (Neil)
* Implement SQL92-compatible FIRST, LAST, ABSOLUTE n, RELATIVE n
options for FETCH and MOVE (Tom)
@ -4704,3 +4709,171 @@ The following bugs have been fixed in postgres95-beta-0.02:
Release date: 1995-05-01
Initial release.
Notes
[1]
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.
[2]
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.
[3]
In previous releases, hash joins could only occur on single-column
joins. This release allows multi-column hash joins.
[4]
Prior releases evaluated ANSI join syntax only in the order 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.
[5]
The entire regular expression module has been replaced with a new
version by Henry Spencer, originally written for TCL. The code greatly
improves performance and supports several flavors of regular
expressions.
[6]
Simple SQL functions can now be inlined by including their SQL in the
main query. This improves performance by preventing repeated calls to
the SQL function --- this allows simple SQL functions to behave like
macros.
[7]
Prior releases allowed only IPv6 connections and IP data types only
supported IPv4 addresses. This release adds full IPv6 support in both
of these areas.
[8]
Several people very familiar with the SSL API have overhauled our SSL
code to improve SSL key negotiation and error recovery.
[9]
In prior releases, index pages that were left empty because of deleted
rows could only be reused by rows with index values similar to the
original rows indexed on that page. In 7.4, VACUUM records empty index
pages and allows them to be used for any future index rows.
[10]
While prior libpq releases already supported threads, this release
improves thread safety by fixing some non-thread-safe code that was
used in the database connection routines.
[11]
This new tool monitors the database statistics tables for
INSERT/UPDATE/DELETE activity and automatically vacuums tables when
needed.
[12]
Many array limitations have been removed and they behave more like
fully-supported data types.
[13]
Server-side autocommit was causing too many problems with languages
and applications that wanted to control their own autocommit behavior
so autocommit was removed from the server and added to individual
client API's as appropriate.
[14]
In prior releases, FETCH 0 would fetch all remaining rows, and MOVE 0
would move to the end of the cursor.
[15]
Prior releases would return the tuple count passed to the command, not
the actual number of rows FETCHed or MOVEd.
[16]
In prior releases, a date of 10/20/03 was interpreted as a date in
October even if the DateStyle specified the day should be first. In
7.4, DateStyle is honored when converting such values and will throw
an error if the date is invalid for the current DateStyle.
[17]
These functions were determined to be no longer useful.
[18]
In prior releases, there was special code so the string 'now' was
interpreted at "INSERT" time and not at table creation time, but this
work around didn't cover all cases. Release 7.4 now requires that
defaults be defined properly using the now() or the special value
CURRENT_TIMESTAMP. These will work in all situations.
[19]
Same description as above.
[20]
This was done to improve compatibility with other database systems.
[21]
In prior releases, certain rare SSL API error reports were not handled
correctly. This release fixes those problems. gracefully.
[22]
SSL key renegotiation was happening too frequently, causing poor SSL
performance. Also, initial key handling was improved.
[23]
This allows easier debugging of deadlock situations.
[24]
This should help prevent "/tmp" directory cleaner administration
scripts from removing server socket files.
[25]
In prior releases, under certain rare cases, a server crash could
cause btree indexes to become corrupt. This release removes those last
few rare cases.
[26]
In prior releases, when a single-page index split into two page, there
was a brief period when another database session would miss seeing an
index entry. This failure was possible primarly on multi-cpu machines.
This release fixes that rare failure case.
[27]
In prior releases, the free space map was not saved when the
postmaster was stopped, so newly started servers has no free space
information. This release saves the free space map, which is loaded
when the server is restarted.
[28]
In prior releases, functions returning allocated memory would not free
it until the query completed. This release allows the freeing of
function-allocated memory when the function call completes, reducing
the total memory used by functions.
[29]
There were several inefficiencies in the way the GEQO optimizer
managed potential query paths. This release fixes this.
[30]
For shared libraries that require a long time to load, this option is
available so the library can be pre-loaded in the postmaster and
inherited by all database sessions.
[31]
Prior releases suffered from poor hash index performance, particularly
for high concurrency situations. This release fixes that, and the
development group is interested in reports comparing btree and hash
index performance.
[32]
Certain CPU's perform faster data copies when addresses are 32-bit
aligned.
[33]
NUMERIC used to be stored in base-100. The new code uses base-10000,
for significantly better performance.
[34]
This was done so most parameters that control the server logs being
with log_.

View File

@ -1,5 +1,5 @@
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.221 2003/10/29 23:28:59 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/release.sgml,v 1.222 2003/10/30 03:46:42 momjian Exp $
-->
<appendix id="release">
@ -456,13 +456,14 @@ required for those wishing to migrate data from any previous release.</para>
<sect3><title>Server Configuration</title>
<itemizedlist>
<listitem><para>Rename server parameter server_min_messages to log_min_messages (Bruce)</para></listitem>
<listitem><para>Rename server parameter server_min_messages to log_min_messages (Bruce)
<footnote>
<para>
This was done so most parameters that control the server logs being
with <literal>log_>/>.
with <literal>log_</>.
</para>
</footnote>
</para></listitem>
<listitem><para>Rename show_*_stats to log_*_stats (Bruce)</para></listitem>
<listitem><para>Rename show_source_port to log_source_port (Bruce)</para></listitem>
<listitem><para>Rename hostname_lookup to log_hostname (Bruce)</para></listitem>