4646 Function-inlining for simple SQL functions
4747 Simple SQL functions can now be inlined by including their SQL
4848 in the main query. This improves performance by eliminating
49- per-call overhead. That means, simple SQL functions now behave
49+ per-call overhead. That means simple SQL functions now behave
5050 like macros.
5151
5252 Full support for IPv6 connections and IPv6 address data types
5858 Several people very familiar with the SSL API have overhauled
5959 our SSL code to improve SSL key negotiation and error recovery.
6060
61- Make free space mapto efficiently reuse empty index pages, and other
61+ Make free space map efficiently reuse empty index pages, and other
6262 free space management improvements
6363 In previous releases, B-tree index pages that were left empty
6464 because of deleted rows could only be reused by rows with index
65- values similar to theoriginal rows indexed on that page. In
65+ values similar to the rows originally indexed on that page. In
6666 7.4, "VACUUM" records empty index pages and allows them to be
6767 reused for any future index rows.
6868
7171 to access information about the schema objects defined in a
7272 database.
7373
74- Cursors conform more closelywith the SQL standard
74+ Cursors conform more closelyto the SQL standard
7575 The commands "FETCH" and "MOVE" have been overhauled to conform
7676 more closely to the SQL standard.
7777
7878 Cursors can exist outside transactions
79- These cursors are also called holdable cursors
79+ These cursors are also called holdable cursors.
8080
8181 New client-to-server protocol
8282 The new protocol adds error codes, more status information,
124124 Significant effort was invested to make the messages more
125125 consistent and user-oriented. If your applications try to detect
126126 different error conditions by parsing the error message, you are
127- stronglyencourage to use the new error code facility.
127+ stronglyencouraged to use the new error code facility instead .
128128 * Inner joins using the explicit JOIN syntax may behave differently
129129 because they are now better optimized.
130130 * A number of server configuration parameters have been renamed for
@@ -238,8 +238,8 @@ Performance Improvements
238238 of function-allocated memory when the function call completes,
239239 reducing the total memory used by functions.
240240 * Improve GEQO optimizer performance (Tom)
241- There were several inefficiencies in the way the GEQO optimizer
242- managed potential query paths. This release fixes this .
241+ This release fixes several inefficiencies in the way the GEQO
242+ optimizer manages potential query paths.
243243 * Allow IN/NOT IN to be handled via hash tables (Tom)
244244 * Improve NOT IN (subquery) performance (Tom)
245245 * Allow most IN subqueries to be processed as joins (Tom)
@@ -430,8 +430,9 @@ Utility Command Changes
430430 deleted on transaction commit.
431431 * Allow cursors outside transactions using WITH HOLD (Neil)
432432 In previous releases, cursors were removed at the end of the
433- transaction. Using WITH HOLD, the current release allows cursors
434- to remain readable after the creating transaction.
433+ transaction that created them. Cursors can now be created with the
434+ WITH HOLD option, which allows them to continue to be accessed
435+ after the creating transaction has committed.
435436 * FETCH 0 and MOVE 0 now do nothing (Bruce)
436437 In previous releases, FETCH 0 fetched all remaining rows, and MOVE
437438 0 moved to the end of the cursor.
@@ -441,10 +442,12 @@ Utility Command Changes
441442 In prior releases, the row count returned by "FETCH" and "MOVE"
442443 did not accurately reflect the number of rows processed.
443444 * Properly handle SCROLL with cursors, or report an error (Neil)
444- Certain cursors can not be fetched backwards optimally. By
445- specifying SCROLL, extra work will be performed to guarantee that
446- the cursor can be fetched in reverse or random order.
447- * Implement SQL-compatible option FIRST, LAST, ABSOLUTE n, RELATIVE
445+ Allowing random access (both forward and backward scrolling) to
446+ some kinds of queries cannot be done without some additional work.
447+ If SCROLL is specified when the cursor is created, this additional
448+ work will be performed. Furthermore, if the cursor has been
449+ created with NO SCROLL, no random access is allowed.
450+ * Implement SQL-compatible options FIRST, LAST, ABSOLUTE n, RELATIVE
448451 n for "FETCH" and "MOVE" (Tom)
449452 * Allow "EXPLAIN" on "DECLARE CURSOR" (Tom)
450453 * Allow "CLUSTER" to use index marked as pre-clustered by default
@@ -460,8 +463,9 @@ Utility Command Changes
460463 * Recover from "COPY" failure cleanly (Tom)
461464 * Prevent possible memory leaks in "COPY" (Tom)
462465 * Make "TRUNCATE" transaction-safe (Rod)
463- "TRUNCATE" can now be used inside a transaction, and rolled back
464- if the transaction aborts.
466+ "TRUNCATE" can now be used inside a transaction. If the
467+ transaction aborts, the changes made by the "TRUNCATE" are
468+ automatically rolled back.
465469 * Allow prepare/bind of utility commands like "FETCH" and "EXPLAIN"
466470 (Tom)
467471 * Add "EXPLAIN EXECUTE" (Neil)
@@ -758,8 +762,8 @@ Contrib Changes
758762 * Fix bug in metaphone() in fuzzystrmatch
759763 * Improve adddepend (Rod)
760764 * Update spi/timetravel (B�jthe Zolt�n)
761- * Fix dbase "-s" option and improve non-ASCII handling (Thomas
762- Behr, M�rcio Smiderle)
765+ * Fix dbase "-s" option and improve non-ASCII handling (Thomas Behr,
766+ M�rcio Smiderle)
763767 * Remove array module because features now included by default (Joe)
764768 _________________________________________________________________
765769