diff options
author | Bruce Momjian <bruce@momjian.us> | 2003-10-31 04:44:25 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2003-10-31 04:44:25 +0000 |
commit | ef1b846daf058e2c64f2d5249aca4a6a06c6047b (patch) | |
tree | a209265e70e8a4d389c093062babf1bf7a9f80fb /HISTORY | |
parent | 88a7576897bdf29dcb868ec8e6ce75e12abec741 (diff) | |
download | postgresql-ef1b846daf058e2c64f2d5249aca4a6a06c6047b.tar.gz |
Remove <note> take, use another paragraph for description.
Diffstat (limited to 'HISTORY')
-rw-r--r-- | HISTORY | 573 |
1 files changed, 234 insertions, 339 deletions
@@ -14,52 +14,44 @@ ordinary joins and so is much faster, and is now faster than EXISTS subqueries. * Improved GROUP BY processing by using hash buckets - - Note: 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 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. * New multi-key hash join capability - - Note: In previous releases, hash joins could only occur on - single-column joins. This release allows multi-column hash joins. + In previous releases, hash joins could only occur on single-column + joins. This release allows multi-column hash joins. * ANSI joins are now better optimized - - Note: 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. + 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. * Faster and more powerful regular expression code - - Note: 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. + 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. * Function-inlining for simple SQL functions - - Note: 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. + 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. * Full support for IPv6 connections and IPv6 address data types - - Note: 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. + 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. * Major improvements in SSL performance and reliability - - Note: Several people very familiar with the SSL API have overhauled - our SSL code to improve SSL key negotiation and error recovery. + Several people very familiar with the SSL API have overhauled our + SSL code to improve SSL key negotiation and error recovery. * Allow free space map to efficiently reuse empty index pages, and other free space management improvements. - - Note: 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. + 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. * Implement information schema * Support for read-only transactions * Make cursors comply more closely with the SQL standard @@ -70,20 +62,17 @@ cursors * libpq and ecpg are now fully thread-safe with --enable-thread-safety - - Note: 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. + 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. * New version of full text indexing in /contrib/tsearch2 * New autovacuum tool in /contrib - - Note: This new tool monitors the database statistics tables for - INSERT/UPDATE/DELETE activity and automatically vacuums tables when - needed. + This new tool monitors the database statistics tables for + INSERT/UPDATE/DELETE activity and automatically vacuums tables + when needed. * Array handling has been improved and moved into the main server - - Note: Many array limitations have been removed and they behave more - like fully-supported data types. + Many array limitations have been removed and they behave more like + fully-supported data types. _________________________________________________________________ Migration to version 7.4 @@ -95,11 +84,10 @@ * The server-side autocommit setting was removed and reimplemented in client applications and languages. - - Note: 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. + 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. * 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 @@ -107,14 +95,12 @@ * A number of server variables have been renamed for clarity, primarily those related to logging * MOVE/FETCH 0 now does nothing - - Note: In prior releases, FETCH 0 would fetch all remaining rows, - and MOVE 0 would move to the end of the cursor. + In prior releases, FETCH 0 would fetch all remaining rows, and + MOVE 0 would move to the end of the cursor. * MOVE/FETCH now returns the actual number of rows moved/fetched, or zero if at the beginning/end of the cursor - - Note: Prior releases would return the tuple count passed to the - command, not the actual number of rows FETCHed or MOVEd. + Prior releases would return the tuple count passed to the command, + not the actual number of rows FETCHed or MOVEd. * 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 @@ -124,33 +110,27 @@ * FLOAT(p) now measures 'p' in bits, not digits * Ambiguous date values now must match the ordering specified by DateStyle - - Note: 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. + 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. * The oidrand(), oidsrand(), and userfntest() functions have been removed. - - Note: These functions were determined to be no longer useful. + These functions were determined to be no longer useful. * 'now' will no longer work as a column default; now() or CURRENT_TIMESTAMP should be used instead - - Note: 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. + 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. * 'today' will no longer work as a column default; CURRENT_DATE should be used instead - - Note: Same description as above. + Same description as above. * Dollar sign ($) is no longer allowed in operator names * Dollar sign ($) can be a non-first character in identifiers - - Note: This was done to improve compatibility with other database - systems. + This was done to improve compatibility with other database + systems. _________________________________________________________________ Server Operation Changes @@ -158,44 +138,36 @@ * Allow IPv6 server connections (Nigel Kukard, Johan Jordaan, Bruce, Tom, Kurt Roeckx, Andrew Dunstan) * Fix SSL to handle errors cleanly (Nathan Mueller) - - Note: In prior releases, certain rare SSL API error reports were - not handled correctly. This release fixes those problems. - gracefully. + In prior releases, certain rare SSL API error reports were not + handled correctly. This release fixes those problems. gracefully. * SSL protocol security and performance improvements (Sean Chittenden) - - Note: SSL key renegotiation was happening too frequently, causing - poor SSL performance. Also, initial key handling was improved. + SSL key renegotiation was happening too frequently, causing poor + SSL performance. Also, initial key handling was improved. * Print lock information when a deadlock is detected (Tom) - - Note: This allows easier debugging of deadlock situations. + This allows easier debugging of deadlock situations. * Update "/tmp" socket mod. times regularly to avoid their removal (Tom) - - Note: This should help prevent "/tmp" directory cleaner - administration scripts from removing server socket files. + This should help prevent "/tmp" directory cleaner administration + scripts from removing server socket files. * Enable PAM for MAC OS X (Aaron Hillegass) * Make btree indexes fully WAL-safe (Tom) - - Note: 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. + 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. * Allow btree index compaction and empty page reuse (Tom) * Fix inconsistent index lookups during split of first root page (Tom) - - Note: 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. + 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. * Improve free space map allocation logic (Tom) * Preserve free space information between postmaster restarts (Tom) - - Note: 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. + 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. * Set proper schema permissions in initdb (Peter) * Add start time to pg_stat_activity (Neil) * New code to detect corrupt disk pages; erase with @@ -219,24 +191,21 @@ * Improve constant folding (Tom) * Add ability to inline simple SQL functions (Tom) * Reduce memory usage for queries using complex functions (Tom) - - Note: 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. + 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. * Improve GEQO optimizer performance (Tom) - - Note: There were several inefficiencies in the way the GEQO - optimizer managed potential query paths. This release fixes this. + There were several inefficiencies in the way the GEQO optimizer + managed potential query paths. This release fixes this. * 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) - - Note: 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. + 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. * Improve optimizer cost computations, particularly for subqueries (Tom) * Avoid sort when subquery ORDER BY matches upper query (Tom) @@ -251,109 +220,93 @@ (Henry Spencer, Tom) * Use bit-mapped relation sets in the optimizer (Tom) * Improve backend startup time (Tom) - - Note: The new network protocol requires fewer network packets to - start a database session. + The new network protocol requires fewer network packets to start a + database session. * 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) - - Note: 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. + 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. * Align shared buffers on 32-byte boundary for copy speed improvement (Manfred Spraul) - - Note: Certain CPU's perform faster data copies when addresses are - 32-bit aligned. + Certain CPU's perform faster data copies when addresses are 32-bit + aligned. * The NUMERIC datatype has been reimplemented for better performance (Tom) - - Note: NUMERIC used to be stored in base-100. The new code uses - base-10000, for significantly better performance. + NUMERIC used to be stored in base-100. The new code uses + base-10000, for significantly better performance. _________________________________________________________________ Server Configuration Changes * Rename server parameter server_min_messages to log_min_messages (Bruce) - - Note: This was done so most parameters that control the server logs - being with log_. + This was done so most parameters that control the server logs + being with log_. * Rename show_*_stats to log_*_stats (Bruce) * Rename show_source_port to log_source_port (Bruce) * Rename hostname_lookup to log_hostname (Bruce) * Add checkpoint_warning to warn of excessive checkpointing (Bruce) - - Note: In prior releases, it was difficult to determine if - checkpoint was happening too frequently. This feature adds a - warning to the server logs when excessive checkpointing happens. + In prior releases, it was difficult to determine if checkpoint was + happening too frequently. This feature adds a warning to the + server logs when excessive checkpointing happens. * New read-only server parameters for localization (Tom) * Change debug server log messages to output as DEBUG rather than LOG (Bruce) * Prevent server log variables from being turned off by non-super users (Bruce) - - Note: This is a security feature so non-super-users can't disable - logging that was enabled by the administrator. + This is a security feature so non-super-users can't disable + logging that was enabled by the administrator. * log_min_messages/client_min_messages now controls debug_* output (Bruce) - - Note: This centralizes client debug information so all debug output - can be sent to either the client or server logs. + This centralizes client debug information so all debug output can + be sent to either the client or server logs. * Add OS X Rendezvous server support (Chris Campbell) - - Note: This allows OS X machines to query the network for available - PostgreSQL servers. + This allows OS X machines to query the network for available + PostgreSQL servers. * Add ability to print only slow statements using log_min_duration_statement (Christopher) - - Note: This is an often requested debugging feature that allows - administrators to see only slow queries in their server logs. + This is an often requested debugging feature that allows + administrators to see only slow queries in their server logs. * Allow pg_hba.conf to accept netmasks in CIDR format (Andrew Dunstan) - - Note: This allows administrators to merge the host IP address and - netmask fields into a single CIDR field in pg_hba.conf. + This allows administrators to merge the host IP address and + netmask fields into a single CIDR field in pg_hba.conf. * New is_superuser read-only variable (Tom) * New server-side parameter log_error_verbosity to control error detail (Tom) - - Note: This works with the new error reporting feature to supply - additional error information like hints, file names and line - numbers. + This works with the new error reporting feature to supply + additional error information like hints, file names and line + numbers. * postgres --describe-config now dumps server config variables (Aizaz Ahmed, Peter) - - Note: This option is useful for administration tools that need to - know the configuration variable names and their minimum, maximums, - defaults, and descriptions. + This option is useful for administration tools that need to know + the configuration variable names and their minimum, maximums, + defaults, and descriptions. * Make default shared_buffers 1000 and max_connections 100, if possible (Tom) - - Note: Prior versions defaulted to 64 shared buffers so PostgreSQL - would start on even old computers. This release tests the amount of - shared memory supported by the hardware and sizes it accordingly. - Of course, users are still encouraged to evaluate their resource - load and size shared_buffers accordingly. + Prior versions defaulted to 64 shared buffers so PostgreSQL would + start on even old computers. This release tests the amount of + shared memory supported by the hardware and sizes it accordingly. + Of course, users are still encouraged to evaluate their resource + load and size shared_buffers accordingly. * Add new columns in pg_settings: context, type, source, min_val, max_val (Joe) * New pg_hba.conf 'hostnossl' to prevent SSL connections (Jon Jensen) - - Note: In prior releases, there was no way to prevent SSL - connections if both the client and server supported SSL. This - option allows that capability. + In prior releases, there was no way to prevent SSL connections if + both the client and server supported SSL. This option allows that + capability. * Remove geqo_random_seed server parameter (Tom) _________________________________________________________________ Query Changes * New SQL-standard information schema (Peter) - - Note: bjm + bjm * Add read-only transactions (Peter) * Add server variable regex_flavor to control regular expression processing (Tom) @@ -361,121 +314,97 @@ Tkach) * Allow users to see their own queries in pg_stat_activity (Kevin Brown) - - Note: In prior releases, only the super-user could see query - strings using pg_stat_activity. Now ordinary users can see their - own query strings. + In prior releases, only the super-user could see query strings + using pg_stat_activity. Now ordinary users can see their own query + strings. * Fix subquery aggregates of upper query columns to match SQL spec. (Tom) - - Note: bjm + bjm * Add option to prevent auto-addition of tables referenced in query (Nigel J. Andrews) - - Note: 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. + 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. * Allow UPDATE ... SET col = DEFAULT (Rod) - - Note: This allows UPDATE to set a column to its default value. + This allows UPDATE to set a column to its default value. * Allow expressions to be used in LIMIT/OFFSET (Tom) - - Note: In prior releases, LIMIT/OFFSET could only use constants, not - expressions. + In prior releases, LIMIT/OFFSET could only use constants, not + expressions. * Change EXECUTE INTO to CREATE TABLE AS EXECUTE (Peter) - - Note: bjm ? + bjm ? _________________________________________________________________ Object Manipulation Changes * Make CREATE SEQUENCE grammar more SQL1999 standards compliant (Neil) - - Note: bjm ? + bjm ? * Add FOR EACH STATEMENT statement-level triggers (Neil) - - Note: While this allows a trigger to fire at the end of a - statement, it does not allow the trigger to access all rows - modified by the query. This capability is planned for a future - release. + While this allows a trigger to fire at the end of a statement, it + does not allow the trigger to access all rows modified by the + query. This capability is planned for a future release. * Add DOMAIN CHECK constraints (Rod) - - Note: This greatly increases the usefulness of domains by allowing - them to use CHECK constraints. + This greatly increases the usefulness of domains by allowing them + to use CHECK constraints. * Add ALTER DOMAIN .. SET / DROP NOT NULL, SET / DROP DEFAULT, ADD / DROP CONSTRAINT (Rod) - - Note: This allows manipulation of existing domains. + This allows manipulation of existing domains. * Fix several zero-column table bugs (Tom) - - Note: PostgreSQL supports zero-column tables. This fixes various - bugs that occur when using such tables. + PostgreSQL supports zero-column tables. This fixes various bugs + that occur when using such tables. * Have ALTER TABLE ... ADD PRIMARY KEY add NOT NULL constraint (Rod) - - Note: In prior releases, ALTER TABLE ADD PRIMARY would add a unique - index, but not a NOT NULL constraint. That is fixed in this - release. + In prior releases, ALTER TABLE ADD PRIMARY would add a unique + index, but not a NOT NULL constraint. That is fixed in this + release. * Add ALTER DOMAIN OWNER (Rod) * Add ALTER TABLE ... WITHOUT OIDS (Rod) - - Note: This allows control over whether new and updated rows will - have an oid column. This is most useful for saving storage space. + This allows control over whether new and updated rows will have an + oid column. This is most useful for saving storage space. * Add ALTER SEQUENCE to modify min/max/increment/cache/cycle values (Rod) * Add ALTER TABLE ... CLUSTER ON (Alvaro Herrera) - - Note: This command is used by pg_dump to record the CLUSTER column - for each table previously clustered. This information is used by - database-wide cluster to cluster all previously clustered tables. + This command is used by pg_dump to record the CLUSTER column for + each table previously clustered. This information is used by + database-wide cluster to cluster all previously clustered tables. * Improve DOMAIN automatic type casting (Rod, Tom) * Allow dollar signs in identifiers, except as first character (Tom) * Disallow dollar signs in operator names, so x=$1 works (Tom) * Allow SQL200X inheritance syntax LIKE *subtable*, INCLUDING DEFAULTS (Rod) * Add WITH GRANT OPTION clause to GRANT, per SQL spec (Peter) - - Note: Allow GRANT to give other users the ability to grant - permissions on a object. + Allow GRANT to give other users the ability to grant permissions + on a object. _________________________________________________________________ Utility Command Changes * Add ON COMMIT clause to CREATE TABLE for temp tables (Gavin) - - Note: This adds the ability for a table to be dropped or all rows - deleted on transaction commit. + This adds the ability for a table to be dropped or all rows + deleted on transaction commit. * Allow cursors outside transactions using WITH HOLD (Neil) - - Note: In previous releases, cursors were removed at the end of the - transaction. Using WITH HOLD, the current release allows - transaction to remain outside their own transaction. + In previous releases, cursors were removed at the end of the + transaction. Using WITH HOLD, the current release allows + transaction to remain outside their own transaction. * MOVE/FETCH 0 now does nothing (Bruce) - - Note: In previous releases, MOVE 0 moved to the end of the cursor, - and FETCH 0 fetched all remaning rows. + In previous releases, MOVE 0 moved to the end of the cursor, and + FETCH 0 fetched all remaning rows. * Cause MOVE/FETCH to return the number of rows moved/fetched, or zero if at the beginning/end of cursor, per SQL spec (Bruce) - - Note: In prior releases, the row count returned by MOVE and FETCH - did not accurately reflect the number of rows processed. + In prior releases, the row count returned by MOVE and FETCH did + not accurately reflect the number of rows processed. * Properly handle SCROLL with cursors, or report an error (Neil) - - Note: Certain cursors can not be fetched backwards optimally. By - specifying SCROLL, extra work will be performed to guarantee that - the cursor can be fetched in reverse or random order. + Certain cursors can not be fetched backwards optimally. By + specifying SCROLL, extra work will be performed to guarantee that + the cursor can be fetched in reverse or random order. * Implement SQL92-compatible FIRST, LAST, ABSOLUTE n, RELATIVE n options for FETCH and MOVE (Tom) * Allow EXPLAIN on DECLARE CURSOR (Tom) - - Note: Prior versions would not allow EXPLAIN on a DECLARE - statement. + Prior versions would not allow EXPLAIN on a DECLARE statement. * Allow CLUSTER to use index marked as pre-clustered by default (Alvaro Herrera) * Allow CLUSTER to cluster all tables (Alvaro Herrera) - - Note: This allows all previously clustered tables in a database to - be reclustered with a single command. + This allows all previously clustered tables in a database to be + reclustered with a single command. * Prevent CLUSTER on partial indexes (Tom) * Allow \r and \r\n termination for COPY files (Bruce) * Disallow literal carriage return as a data value, @@ -484,15 +413,13 @@ * Recover from COPY IN/OUT failure cleanly (Tom) * Prevent possible memory leaks in COPY (Tom) * Make TRUNCATE transaction-safe (Rod) - - Note: Truncate can now be used inside a transaction, and rolled - back if the transaction aborts. + Truncate can now be used inside a transaction, and rolled back if + the transaction aborts. * Multiple pggla_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) - - Note: This preserves ALTER TABLE ... SET STORAGE information. + This preserves ALTER TABLE ... SET STORAGE information. * Allow pg_dump to preserve CLUSTER characteristics (Christopher) * Have pg_dumpall use GRANT/REVOKE to dump database-level permissions (Tom) @@ -510,56 +437,47 @@ * Allow pg_ctl to better handle non-standard ports (Greg) * Functional indexes have been generalized into expressional indexes (Tom) - - Note: In prior releases, only columns could be used in functional - indexes. This release allows any type of expression. + In prior releases, only columns could be used in functional + indexes. This release allows any type of expression. * Syntax errors now reported as 'syntax error' rather than 'parse error' (Tom) * Have SHOW TRANSACTION_ISOLATION match input to SET TRANSACTION_ISOLATION (Tom) * Have COMMENT ON DATABASE on non-local database generate a warning (Rod) - - Note: Database comments are stored in database-local tables so - comments on a database have to be stored in each database. + Database comments are stored in database-local tables so comments + on a database have to be stored in each database. * Improve reliability of LISTEN/NOTIFY (Tom) * Allow REINDEX to reliably reindex non-shared system catalog indexes (Tom) - - Note: This allows system tables to be reindexed without the - requirement of a standalone backend, which was necessary in - previous releases. The only tables that now require a standalone - backend for reindex are the global system tables pg_database, - pg_shadow, and pg_group. + This allows system tables to be reindexed without the requirement + of a standalone backend, which was necessary in previous releases. + The only tables that now require a standalone backend for reindex + are the global system tables pg_database, pg_shadow, and pg_group. * pg_dump --use-set-session-authorization and --no-reconnect now do nothing, all dumps use SET SESSION AUTHORIZATION - - Note: pg_dump now no longer reconnects to switch users, but instead - uses SET SESSION AUTHORIZATION. This should reduce password - prompting during restores. + pg_dump now no longer reconnects to switch users, but instead uses + SET SESSION AUTHORIZATION. This should reduce password prompting + during restores. * Long options for pg_dump are now available on all platforms - - Note: We now include our own long option processing routines. + We now include our own long option processing routines. _________________________________________________________________ Data Type and Function Changes * New extra_float_digits server parameter to control float precision display (Pedro Ferreira, Tom) - - Note: This controls precision output which was causing regression - testing problems. + This controls precision output which was causing regression + testing problems. * Allow +1300 as a numeric timezone specifier, for FJST (Tom) * Remove rarely used oidrand(), oidsrand(), and userfntest() functions (Neil) * Add md5() function to main server, already in /contrib/pgcrypto (Joe) - - Note: An md5 function was frequently requested. For more complex - encryption capabilities, use /contrib/pgcrypto. + An md5 function was frequently requested. For more complex + encryption capabilities, use /contrib/pgcrypto. * Increase date range of timestamp (John Cochran) - - Note: bjm ?? + bjm ?? * Change EXTRACT(EPOCH FROM timestamp) so timestamp without time zone is assumed to be in local time, not GMT (Tom) * Trap division by zero in case the operating system doesn't prevent @@ -569,9 +487,8 @@ * Fixes for to_char() (Karel) * Allow functions that can take any argument data type and return any data type, using ANYELEMENT and ANYARRAY (Joe) - - Note: This allows the creation of functions that can work with any - data type. + This allows the creation of functions that can work with any data + type. * Arrays may now be specified as ARRAY[1,2,3], ARRAY[['a','b'],['c','d']], or ARRAY[ARRAY[ARRAY[2]]] (Joe) * Allow proper comparisons for arrays (Joe) @@ -580,31 +497,26 @@ (Joe) * Allow WHERE qualification 'expr >oper< ANY/SOME/ALL (array-expr)' (Joe) - - Note: This allows arrays to behave like subqueries or a list of - values: SELECT * FROM tab WHERE col IN array_val + This allows arrays to behave like subqueries or a list of values: + SELECT * FROM tab WHERE col IN array_val * Allow polymorphic SQL functions (Joe) - - Note: bjm ?? + bjm ?? * New array functions array_append(), array_cat(), array_lower(), array_prepend(), array_to_string(), array_upper(), string_to_array() (Joe) * Allow user defined aggregates to use polymorphic functions (Joe) - - Note: bjm ?? + bjm ?? * Allow polymorphic user defined aggregates (Joe) * Allow assignments to empty arrays (Joe) * Allow 60 in seconds fields of timestamp, time, interval input values (Tom) - - Note: Sixty-second values are needed for leap seconds. + Sixty-second values are needed for leap seconds. * Allow CIDR data type to be cast to text (Tom) * Allow the creation of special LIKE indexes for non-C locales (Peter) - - Note: There is no way for non-ASCII locales to use indexes for LIKE - comparisons. However, this release adds a way to create a special - index for LIKE. bjm ?? + There is no way for non-ASCII locales to use indexes for LIKE + comparisons. However, this release adds a way to create a special + index for LIKE. bjm ?? * Disallow invalid timezone names (Tom) * Trim trailing spaces when CHAR() is cast to VARCHAR or TEXT (Tom) * Make FLOAT(p) measure the precision p in bits, not decimal digits @@ -618,12 +530,9 @@ convention for the sign of timezone offsets, ie, positive is east from UTC (Tom) * Fix date_trunc('quarter',...) (B?jthe Zolt?n) - - Note: Prior releases returned an incorrect value for this function - call. + Prior releases returned an incorrect value for this function call. * Make initcap() more compatible with Oracle (Mike Nolan) - - Note: bjm ?? + bjm ?? * Allow only DateStyle field order for date values not in ISO format (Greg) * Add new DateStyle values MDY, DMY, and YMD; honor US and European @@ -649,11 +558,10 @@ * Fix PL/python _quote() function to handle big integers (?) * Make PL/python an untrusted language, now called plpythonu (Kevin Jacobs, Tom) - - Note: The Python language no longer supports a restricted execution - environment, so we removed the trusted version of PL/python. If - this situation changes, we will re-add a version of PL/python that - can be used by non-super users. + The Python language no longer supports a restricted execution + environment, so we removed the trusted version of PL/python. If + this situation changes, we will re-add a version of PL/python that + can be used by non-super users. * Allow polymorphic PL/pgSQL functions (Tom, Joe) * Improved compiled function caching mechanism in PL/pgSQL with full support for polymorphism (Joe) @@ -668,32 +576,26 @@ Psql Changes * Add "\pset pager always" to always use pager (Greg) - - Note: This forces the pager to be used even if the number of rows - is less than the screen height --- this is valuable for rows that - wrap across several screen rows. + This forces the pager to be used even if the number of rows is + less than the screen height --- this is valuable for rows that + wrap across several screen rows. * Improve tab completion (Rod, Ross Reedstrom, Ian Barwick) * Reorder \? help into groupings (Harald Armin Massa, Bruce) * Add backslash commands for listing schemas, casts, and conversions (Christopher) * \encoding now changes based on the client_encoding server variable (Tom) - - Note: In previous versions, \encoding was not aware of encoding - changes made using SET CLIENT_ENCODING. + In previous versions, \encoding was not aware of encoding changes + made using SET CLIENT_ENCODING. * Save edit history into readline history (Ross) - - Note: When \e is used to edit a query, the result is saved in the - readline history for retrieval using the up arrow. + When \e is used to edit a query, the result is saved in the + readline history for retrieval using the up arrow. * Improve \d display (Christopher) * Enhance HTML mode to be more standards-compliant (Greg) * New '\set AUTOCOMMIT off' capability (Tom) - - Note: This takes the place of the remove server variable - 'autocommit'. + This takes the place of the remove server variable 'autocommit'. * New '\set VERBOSITY' to control error detail (Tom) - - Note: This controls the new error reporting details. + This controls the new error reporting details. * New %T prompt string to show transaction status (Tom) * Long options for psql are now available on all platforms _________________________________________________________________ @@ -703,16 +605,14 @@ * Allow PQcmdTuples() to return row counts for MOVE and FETCH (Neil) * Add PQfreemem() for freeing memory on Win32, suggest for NOTIFY (Bruce) - - Note: Win32 requires that memory allocated in a library be freed by - a function in the same library, hence free() doesn't work for - freeing memory allocated by libpq. PQfreemem() is the proper way to - free libpq memory, especially on Win32, and is recommended for - other platforms as well. + Win32 requires that memory allocated in a library be freed by a + function in the same library, hence free() doesn't work for + freeing memory allocated by libpq. PQfreemem() is the proper way + to free libpq memory, especially on Win32, and is recommended for + other platforms as well. * Document service capability, and add sample file (Bruce) - - Note: This allows clients to look up connection information in a - central file on the client machine. + This allows clients to look up connection information in a central + file on the client machine. * Make PQsetdbLogin() have the same defaults as PQconnectdb() (Tom) * Allow libpq to cleanly fail when result sets are too large (Tom) * Improve performance of PGunescapeBytea() (Ben Lamb) @@ -725,10 +625,9 @@ * Allow new error codes and levels of text (Tom) * Allow access to the underlying table and column of a query result (Tom) - - Note: This is helpful for query-builder applications that want to - know the underlying table and column names associated with a - specific result set. + This is helpful for query-builder applications that want to know + the underlying table and column names associated with a specific + result set. * Allow access to the current transaction status (Tom) * Add ability to pass binary data directly to the backend (Tom) * Add PQexecPrepared() and PQsendQueryPrepared() functions which @@ -749,15 +648,13 @@ * Prevent possible memory leak or core dump during libpgtcl shutdown (Tom) * Add ecpg Informix compatibility (Michael) - - Note: This allows ecpg to process embedded C programs that were - written using certain Informix extensions. + This allows ecpg to process embedded C programs that were written + using certain Informix extensions. * Add ecpg DECIMAL type that is fixed length, for Informix (Michael) * Allow thread-safe ecpg with --enable-thread-safety (Lee Kindness, Bruce) - - Note: This allows multiple ecpg threads to access the database at - the same time. + This allows multiple ecpg threads to access the database at the + same time. * Move python client interface to http://www.pygresql.org (Marc) _________________________________________________________________ @@ -786,13 +683,11 @@ * Improve Linux startup scripts (Slawomir Sudnik, Darko Prenosil) * Add support for AMD Opteron and Itanium (Jeffrey W. Baker, Bruce) * Remove --enable-recode option to configure - - Note: This was no longer needed now that we have CREATE CONVERSION. + This was no longer needed now that we have CREATE CONVERSION. * Generate a compile error if spinlock code is not found (Bruce) - - Note: Platforms without spinlock code will now fail to compile, - rather than silently using semaphores. This failure can be disabled - with a new configure option. + Platforms without spinlock code will now fail to compile, rather + than silently using semaphores. This failure can be disabled with + a new configure option. _________________________________________________________________ Contrib Changes |