From: Bruce Momjian Date: Sun, 3 Aug 2003 23:26:05 +0000 (+0000) Subject: Update HISTORY file for 7.4. X-Git-Tag: REL7_4_BETA1~32 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ed090b07cb8473114e7342185771e79e1ce2734c;p=postgresql Update HISTORY file for 7.4. --- diff --git a/HISTORY b/HISTORY index 495c0fa802..6953aac642 100644 --- a/HISTORY +++ b/HISTORY @@ -1,33 +1,331 @@ - Release Notes 7.4 Development Branch - Below is a subset of the changes that have gone into the development - branch of PostgreSQL since version 7.3. For a complete list of - changes, consult the CVS logs. - - Explicit JOINs no longer constrain query plan, unless - JOIN_COLLAPSE_LIMIT = 1 - Performance of "foo IN (SELECT ...)" queries has been considerably - improved - FETCH 0 now re-fetches cursor's current row, per SQL spec - Revised executor state representation; plan trees are read-only - to executor now - Information schema - Domains now support CHECK constraints - psql backslash commands for listing conversions, casts, and schemas - TRUNCATE TABLE is transaction-safe - CLUSTER can re-cluster a previously clustered table, or all such tables - Statement-level triggers - System can use either hash- or sort-based strategy for grouped - aggregation - ON COMMIT options for temp tables - extra_float_digits option allows pg_dump to dump float data accurately - Long options for psql and pg_dump are now available on all platforms - Read-only transactions - Object owners can allow grantees to grant the privilege to others - (grant option) + +Valid as of 2003-08-01. + + +Server Operation + +Allow IPv6 server connections (Nigel Kukard, Johan Jordaan, Bruce, Tom, Kurt + Roeckx, Andrew Dunstan) +Fix SSL to handle errors cleanly (Nathan Mueller) +SSL protocol security and performance improvements (Sean Chittenden) +Print lock information when a deadlock is detected (Tom) +Update /tmp socket files regularly to avoid their removal (Tom) +Enable PAM for MAC OS X (Aaron Hillegass) +Make btree indexes fully WAL-safe (Tom) +Allow btree index compaction and empty page reuse (Tom) +Fix inconsistent index lookups during split of first root page (Tom) +Improve free space map allocation logic (Tom) +Preserve free space information between postmaster restarts (Tom) +Set proper schema permissions in initdb (Peter) +Add start time to pg_stat_activity (Neil) +New code to detect corrupt disk pages; erase with zero_damaged_pages (Tom) +New client/server protocol: faster, no username length limit, allow + clean exit +Add transaction status, tableid, columnid to backend protocol (Tom) +Add new binary I/O protocol (Tom) +Remove autocommit server setting; move to client applications (Tom) +New error message wording, error codes, and three levels of error detail (Tom) + + _________________________________________________________________ + +Performance + +Add hashing for GROUP BY aggregates (Tom) +Allow nested loops to be smarter about multicolumn indexes (Tom) +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) +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) +Improve reverse index scan performance (Tom) +Improve optimizer cost computations, particularly for subqueries (Tom) +Assume WHERE a.x = b.y and b.y = 42 also means a.x = 42 (Tom) +Allow hash/merge joins on complex joins (Tom) +Allow hash joins for more data types (Tom) +Allow join optimization of ANSI joins, disable with join_collapse_limit (Tom) +Add from_collapse_limit to control conversion of subqueries to joins (Tom) +Use faster regex code from TCL (Henry Spencer, Tom) +Use bit-mapped relation sets in the optimizer (Tom) +Improve backend startup time (Tom) +Improve trigger/constraint performance (Stephan) + + _________________________________________________________________ + +Server Configuration + +Rename server parameter server_min_messages to log_min_messages (Bruce) +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) +Allow the postmaster to preload libraries using preload_libraries (Joe) +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) +log_min_messages/client_min_messages now controls debug_* output (Bruce) +Add Rendezvous server support (Chris Campbell) +Add ability to print only slow statements using log_min_duration_statement + (Christopher) +Allow pg_hba.conf to accept netmasks in CIDR format (Andrew Dunstan) +New is_superuser read-only variable (Tom) +New server-side parameter log_error_verbosity to control error detail (Tom) +postgres --help-config now dumps server config variables (Tom) +Make default shared_buffers 1000 and max_connections 100, if possible (Tom) +Add pg_settings table to see server settings (Joe) +Prevent assign_session_authorization() from being confused by + all-numeric user names (Tom) + + _________________________________________________________________ + +Queries + +New SQL-standard information schema (Peter) +Add read-only transactions (Peter) +Add server variable regex_flavor to control regular expression + processing (Tom) +Allow ORDER BY in FROM subqueries to be honored by outer queries (Tom) +Print key name in foreign-key violation messages (Dmitry Tkach) +Allow users to see their own queries in pg_stat_activity (Kevin Brown) +Allow subquery aggregates to reference upper query columns (?) (Tom) +Add option to prevent auto-addition of tables referenced in query (Nigel J. + Andrews) +Allow dollar signs in identifiers, except as first character (Tom) +Allow UPDATE ... SET col = DEFAULT (Rod) +Allow expressions to be used in LIMIT/OFFSET (Tom) + + _________________________________________________________________ + +Object Manipulation + +Make CREATE SEQUENCE grammar more SQL1999 standards compliant (Neil) +Add FOR EACH STATEMENT statement-level triggers (Neil Conway) +Add DOMAIN CHECK constraints (Rod) +Add ALTER DOMAIN .. SET / DROP NOT NULL, SET / DROP DEFAULT, ADD / DROP + CONSTRAINT (Rod) +Allow zero-column tables (Tom) +Have ALTER TABLE ... ADD PRIMARY KEY add NOT NULL constraint (Rod) +Add ALTER DOMAIN OWNER (Rod) +Add pg_trigger.tgenabled to disable triggers? (Neil) +Add ALTER TABLE ... WITHOUT OIDS? (Rod) +Have parser honor foreign-key constraints if created via ALTER TABLE ADD + COLUMN? (Tom) +Add ALTER SEQUENCE to modify min/max/increment/cache/cycle values (Rod) +Add ALTER TABLE ... CLUSTER ON (Alvaro Herrera) +Improve DOMAIN automatic type casting (Tom) +Disallow dollar signs in operator names (Tom) +Allow SQL200X inheritance syntax LIKE , INCLUDING DEFAULTS? (Rod) +Object owners can allow grantees to grant privilege to others? + + _________________________________________________________________ + +Utility Commands + +Add ON COMMIT PRESERVE ROWS for temp tables (Gavin) +Allow cursors outside transactions using WITH HOLD (Neil) +Make MOVE/FETCH 0 actually move/fetch 0 (Bruce) +Add MOVE ALL to move to end of cursor (Bruce) +Cause FETCH 1 to return the current cursor row, or zero if at + beginning/end of cursor, per SQL spec (Bruce) +Have MOVE return 0 or 1 depending on cursor position (Bruce) +Properly handle SCROLL with cursors, or report an error (Tom) +Implement SQL92-compatible FIRST, LAST, ABSOLUTE n, RELATIVE n options + for FETCH and MOVE (Tom) +Allow EXPLAIN on DECLARE CURSOR (Tom) +Allow CLUSTER to use index marked as pre-clustered by default (Alvaro Herrera) +Allow CLUSTER without tablename clusters all tables (Alvaro Herrera) +Prevent CLUSTER on partial indexes (Tom) +Allow \r and \r\n termination for COPY files (Bruce) +Disallow literal carriage return as a data value, backslash-carriage-return + and \r still allowed (Bruce) +COPY changes (binary, \.)? (Tom) +Recover from COPY IN/OUT failure cleanly (Tom) +Reduce memory used by COPY (Tom) +Make TRUNCATE transaction-safe (Rod) +Multiple pg_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) +Allow pg_dump to preserve CLUSTER characteristics (Christopher) +Have pg_dumpall use GRANT/REVOKE to dump database-level permissions (Tom) +Allow pg_dumpall to support the -a, -s, -x options of pg_dump (Tom) +Prevent pg_dump from lowercasing identifiers specified on the command line (Tom) +Allow EXPLAIN EXECUTE (Neil) +Allow pg_get_constraintdef() to support UNIQUE, PRIMARY KEY and + CHECK constraints (Christopher) +Improve VACUUM performance on indexes by reducing WAL traffic (Tom) +Allow pg_ctl to better handle non-standard ports (Greg) +Functional indexes now support indexes on column expressions (Tom) +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 (Tom) + + _________________________________________________________________ + +Data Types and Functions + +New extra_float_digits server parameter to control float precision display + (Pedro Ferreira, Tom) +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) +Increase date range of timestamp (John Cochran) +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 it (Tom) +Change the NUMERIC data type internally to base 10000 (Tom) +New hostmast() function (Greg Wickham) +Fixes for to_char() (Karel) +Allow functions that can take any argument data type and return + any data type, using ANYELEMENT and ANYARRAY (Joe) +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) +Allow indexes on array columns, and used in ORDER BY and DISTINCT (Joe) +Allow WHERE qualifications of the form 'col IN/ANY/SOME/ALL (array) (?) (Joe) +Allow SQL functions to return arrays and take them as params (Joe) +Allow array concatenation with '||' and normal array comparisons (Joe) +New array functions array_append(), array_cat(), array_lower(), + array_prepend(), array_to_string(), array_upper(), string_to_array() (Joe) +Allow assignments to empty arrays (Joe) +Allow 60 in seconds fields of timestamp, time, interval input values (Tom) +Allow PREPARE/bind of utility commands like FETCH and EXPLAIN (Tom) +Allow CIDR data type to be cast to text (Tom) +Allow the creation of special LIKE indexes for non-C locales (Peter) +Disallow invalid timezone names (Tom) +Trim trailing spaces when CHAR() data is cast to VARCHAR or TEXT (Tom) +Make FLOAT(p) measure the precision p in bits, not decimal digits (Tom) +Add IPv6 support to the inet and cidr data types (Michael Graff) +Add family() function to report whether address is IPv4 or IPv6 (Michael Graff) +Have SHOW DATESTYLE generate output similar to that used by SET DATESTYLE (Tom) +Change DATESTYLE to output its value in a more common format (Tom) +Make EXTRACT(TIMEZONE) and SET/SHOW TIMEZONE follow the SQL convention + for the sign of timezone offsets, ie, positive is east from UTC (Tom) +Fix date_trunc('quarter',...) (B?jthe Zolt?n) +Make initcap() more compatible with Oracle (Mike Nolan) +Honor only DateStyle setting for date entry without a four-digit year (Greg) +Add new DateStyle values MDY, DMY, and YMD, honor US and European for + backward compatibility (Tom) +'now' will no longer work as a default, use now() (change required for prepared + statements) (Tom) +Assume NaN value to be larger than any other value in comparisons (Tom) + + _________________________________________________________________ + +Server-side Languages + +Prevent PL/pgSQL crash when RETURN NEXT is used on a zero-row record (Tom) +Make PL/python's spi_execute interface handle NULLs properly (Andrew Bosma) +Allow PL/pgSQL to declare variables of composite types without %ROWTYPE (Tom) +Fix PL/python _quote() function to handle big integers (?) +Make PL/python an untrusted language, now called plpythonu (Kevin Jacobs, Tom) +Change PL/pgSQL EXECUTE INTO to CREATE TABLE AS EXECUTE? (Peter) + + _________________________________________________________________ + +Psql + +Add "\pset pager always" to always use pager (Greg) +Improve tab completion (Rod, Ross Reedstrom, Ian Barwick) +Reorder \? help into groupings (Harald Armin Massa, Bruce) +Add schema, cast, and conversion backslash commands (Christopher) +\encoding now tracks client_encoding server variable (Tom) +Save edit history into readline history (Ross) +Improve \d display (Christopher) +Enhance HTML mode to be more standards-compliant (Greg) +New '\set autocommit off' capability (Tom) +New '\set verbosity' to control error detail (Tom) +New %T prompt string to show transaction status (Tom) + + _________________________________________________________________ + +Libpq + +Allow PQcmdTuples() to return row counts for MOVE and FETCH (Neil) +Add PQfreemem() for freeing memory on Win32, suggest for NOTIFY (Bruce) +Document service capability, and add sample file (Bruce) +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) +Allow threaded with --enable-thread-safety (Lee Kindness, Bruce) +Allow pqInternalNotice() to accept a format string and args instead of + just a preformatted message (Tom, Sean Chittenden) +Allow control SSL negotiation with sslmode values "disable", "allow", + "Prefer", and "require" (Jon Jensen) + + _________________________________________________________________ + +JDBC + +Allow setNull on updateable resultsets +Allow executeBatch on a prepared statement (Barry) +Support SSL connections (Barry) +Handle schema names in result sets (Paul Sorenson) +Add refcursor support (Nic Ferrier) + + _________________________________________________________________ + +Miscellaneous Interfaces + +Prevent possible memory leak or core dump during libpgtcl shutdown (Tom) +Add ecpg Informix compatibility (Michael) +Add ecpg DECIMAL type that is fixed length, for Informix (Michael) +Allow threaded ecpg with --enable-thread-safety (Lee Kindness, Bruce) +Allow client interfaces to compile under MinGW/win32 (Bruce) +Move python client interface to http://www.pygresql.org (Marc) + + _________________________________________________________________ + +Source Code + +Prevent need for separate platform geometry regression result files (Tom) +Improved PPC locking primitive (Reinhard Max) +Embed LD_LIBRARY_PATH used for build process into binaries (Billy) +New palloc0 to allocate and clear memory (Bruce) +Fix locking code for s390x CPU (64-bit) (Tom) +Allow OpenBSD to use local indent credentials (William Ahern) +Allow read-only query plans (Tom) +Add Darwin startup scripts (David Wheeler) +Allow libpq to compile with Borland C++ compiler (Lester Godwin, Karl Waclawek) +Use our own version of getopt_long() if needed (Peter) +Convert administration scripts to C (Peter) +Bison >=1.85 is now required for grammar changes +Merge documentation into one book (Peter) +Add Win32 compatibility functions (Bruce) +New ereport() function for error reporting (Tom) +Support Intel Linux compiler (Peter) +Improve Linux startup scripts (Slawomir Sudnik, Darko Prenosil) +Add support for AMD Opteron and Itanium (Jeffrey W. Baker, Bruce) + + _________________________________________________________________ + +Contrib + +Change dbmirror license to BSD +Improve earthdistance (Bruno Wolff III) +Portability improvements to pgcrypto (Marko Kreen) +Prevent xml crash (John Gray, Michael Richards) +Upgrade oracle +Upgrade mysql +Update cube (Bruno Wolff III) +Update earthdistance to use cube (Bruno Wolff III) +Update btree_gist (Oleg) +Add hashes to tablefuncs (Joe) +New pg_autovacuum allows automatic VACUUM (Matthew T. O'Connor) +Allow pgbench to honor PGHOST, PGPORT, PGUSER env. variables (Tatsuo) +Improve intarray (Teodor Sigaev) +Improve pgstattuple (Rod) +Fix second argument to metaphone() in fullystrmatch +Add named persistent connections to dblink (Shridhar Daithanka) +Improve adddepend (Rod) +Update spi/timetravel (B?jthe Zolt?n) +Fix dbase -s option (Thomas Behr) + _________________________________________________________________ Release 7.3.3