Release changes

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: PostgreSQL-development <pgsql-hackers(at)postgreSQL(dot)org>
Subject: Release changes
Date: 2003-08-03 23:30:26
Message-ID: 200308032330.h73NUQl09736@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


Here are the changes for 7.4. I am looking for any improvements. This
will be adjusted as we move through beta.

I need to work on the other sections of a major release, like a
compatibility section.

---------------------------------------------------------------------------

Release Notes

7.4 Development Branch

Valid as of 2003-08-01. Update release.sgml later.

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 <subtable>, 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)

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2003-08-03 23:53:57 Re: concat_ws
Previous Message Tom Lane 2003-08-03 23:27:13 Re: [HACKERS] concat_ws