
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@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

Sun, 3 Aug 2003 19:30:26 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Release changes

No, not for 7.4.

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

snpe wrote:
> On Sunday 03 August 2003 11:30 pm, Bruce Momjian wrote:
> > 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
> 
> Hello
>   Are You nested transactions in 7.4 ?
> 
> regards
> Haris Peco
> 
> 

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

Sun, 3 Aug 2003 20:23:33 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: Release changes
Bruce Momjian wrote:
> Here are the changes for 7.4.  I am looking for any improvements.  This
> will be adjusted as we move through beta.
> 

Almost anything with my name on it (but certainly all the array and 
polymorphic function stuff) could have Tom's too, since he reviewed, 
polished, and applied it.

> Server Configuration
> 
 > Allow the postmaster to preload libraries using preload_libraries
 > (Joe)
You might want to move this one up to Performance. Also, it might better 
be "...to preload and preinitialize libraries..."

> Add pg_settings table to see server settings (Joe)
This should be more like:
Add new columns to pg_settings view: context, vartype, source , min_val, 
max_val (Joe)

 > Data Types and Functions
 >
> Allow WHERE qualifications of the form 'col IN/ANY/SOME/ALL (array) (?) (Joe)
This should be
Allow WHERE qualifications of the form 'expr <oper> ANY/SOME/ALL 
(array-expr)' (Tom) (Joe)

> Allow SQL functions to return arrays and take them as params (Joe)
I think you must be referring to polymorphism here. Maybe:
Allow polymorphic SQL functions (Tom) (Joe)

Also:
Allow user defined aggregates to use polymorphic functions (Tom) (Joe)
Allow polymorphic user defined aggregates  (Tom) (Joe)

> Server-side Languages
> 
Allow polymorphic PL/pgSQL functions (Tom) (Joe)
Improved compiled function caching mechanism in PL/pgSQL with full
   support for polymorphism (Tom) (Joe)
Add new $0 parameter in PL/pgSQL representing the function's actual
   return type (Tom) (Joe)

> Contrib
> 
> Add hashes to tablefuncs (Joe)
More like:
Add hashed based crosstab function to tablefuncs (Joe)

And:
Add optional serial column for ordering siblings to connectby() in 
tablefuncs (Nabil Sayegh) (Joe)

> Fix second argument to metaphone() in fullystrmatch
Fix bug in metaphone() in fuzzystrmatch


Joe


Sun, 03 Aug 2003 19:15:30 -0700
Joe Conway <mail@joeconway.com>
Re: Release changes
On Sunday 03 August 2003 11:30 pm, Bruce Momjian wrote:
> 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

Hello
  Are You nested transactions in 7.4 ?

regards
Haris Peco


Mon, 4 Aug 2003 02:56:24 +0000
snpe <snpe@snpe.co.yu>
Re: Release changes
What about the interval change in ISO datestyle for zero seconds?

LER


--On Sunday, August 03, 2003 19:30:26 -0400 Bruce Momjian 
<pgman@candle.pha.pa.us> wrote:

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



-- 
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749


Sun, 03 Aug 2003 22:07:10 -0500
Larry Rosenman <ler@lerctr.org>
Re: Release changes
Bruce, you forgot new contrib/tsearch2 module - full text extension (Oleg,Teodor)

	Regards,
		Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83

Mon, 4 Aug 2003 09:28:40 +0400 (MSD)
Oleg Bartunov <oleg@sai.msu.su>
Re: Release changes
Oleg - have you followed the latest discussion on why tsearch2 isn't
compilable on FreeBSD?

Chris

----- Original Message ----- 
From: "Oleg Bartunov" <oleg@sai.msu.su>
To: "Bruce Momjian" <pgman@candle.pha.pa.us>
Cc: "PostgreSQL-development" <pgsql-hackers@postgresql.org>
Sent: Monday, August 04, 2003 1:28 PM
Subject: Re: [HACKERS] Release changes


> Bruce, you forgot new contrib/tsearch2 module - full text extension
(Oleg,Teodor)
>
> Regards,
> Oleg
> _____________________________________________________________
> Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
> Sternberg Astronomical Institute, Moscow University (Russia)
> Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
> phone: +007(095)939-16-83, +007(095)939-23-83
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>


Mon, 4 Aug 2003 13:48:28 +0800
"Christopher Kings-Lynne" <chriskl@familyhealth.com.au>
Re: Release changes
On Mon, 4 Aug 2003, Christopher Kings-Lynne wrote:

> Oleg - have you followed the latest discussion on why tsearch2 isn't
> compilable on FreeBSD?

Nop, Teodor's development machine is FreeBSD and he has no problem :)
We'll look

>
> Chris
>
> ----- Original Message -----
> From: "Oleg Bartunov" <oleg@sai.msu.su>
> To: "Bruce Momjian" <pgman@candle.pha.pa.us>
> Cc: "PostgreSQL-development" <pgsql-hackers@postgresql.org>
> Sent: Monday, August 04, 2003 1:28 PM
> Subject: Re: [HACKERS] Release changes
>
>
> > Bruce, you forgot new contrib/tsearch2 module - full text extension
> (Oleg,Teodor)
> >
> > Regards,
> > Oleg
> > _____________________________________________________________
> > Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
> > Sternberg Astronomical Institute, Moscow University (Russia)
> > Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
> > phone: +007(095)939-16-83, +007(095)939-23-83
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 2: you can get off all lists at once with the unregister command
> >     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
> >
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>

	Regards,
		Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83

Mon, 4 Aug 2003 10:23:36 +0400 (MSD)
Oleg Bartunov <oleg@sai.msu.su>
Re: Release changes
Bruce Momjian wrote:

>Here are the changes for 7.4.  I am looking for any improvements.  This
>will be adjusted as we move through beta.
>
>---------------------------------------------------------------------------
>Add FOR EACH STATEMENT statement-level triggers (Neil Conway)
>
AFAICS the current implementation still doesn't have a way to access the 
affected rowset, so it'a pretty much like a SELECT without a WHERE. This 
restricts the usability of statement-level triggers to very limited 
cases. IMHO it's not a good idea to announce an incompletely implemented 
feature.

Regards,
Andreas



Mon, 04 Aug 2003 10:47:36 +0200
Andreas Pflug <pgadmin@pse-consulting.de>
Re: Release changes
Oleg Bartunov <oleg@sai.msu.su> writes:
> On Mon, 4 Aug 2003, Christopher Kings-Lynne wrote:
>> Oleg - have you followed the latest discussion on why tsearch2 isn't
>> compilable on FreeBSD?

> Nop, Teodor's development machine is FreeBSD and he has no problem :)

I think the problem may only occur when using --enable-depend (although
building outside the source tree might also show up some problems).

Peter is of the opinion that you need a full-fledged Makefile in each
subdirectory --- you can't get away with having the upper Makefile build
stuff in the lower directories.

			regards, tom lane

Mon, 04 Aug 2003 09:53:04 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: Release changes 
Joe Conway wrote:
> Bruce Momjian wrote:
> > Here are the changes for 7.4.  I am looking for any improvements.  This
> > will be adjusted as we move through beta.
> > 
> 
> Almost anything with my name on it (but certainly all the array and 
> polymorphic function stuff) could have Tom's too, since he reviewed, 
> polished, and applied it.

Yes, Tom could be on almost all the patches.  It was getting extreme, so
I had to cut it back.  Hope that is OK, Tom.  :-)

On a philosophical note, I usually don't add core folks to release items
_with_ other folks because we want to encourage non-core contributors,
and because there is already the assumption that core is involved in
many patches.

I added all the 'Tom' attributions you mentioned below.

> > Server Configuration
> > 
>  > Allow the postmaster to preload libraries using preload_libraries
>  > (Joe)
> You might want to move this one up to Performance. Also, it might better 
> be "...to preload and preinitialize libraries..."

OK, moved.

> > Add pg_settings table to see server settings (Joe)
> This should be more like:
> Add new columns to pg_settings view: context, vartype, source , min_val, 
> max_val (Joe)

Added:

  Add new columns in pg_settings: context, type, source , min_val, max_val (Joe)

>  > Data Types and Functions
>  >
> > Allow WHERE qualifications of the form 'col IN/ANY/SOME/ALL (array) (?) (Joe)
> This should be
> Allow WHERE qualifications of the form 'expr <oper> ANY/SOME/ALL 
> (array-expr)' (Tom) (Joe)

Done:

  Allow WHERE qualification 'expr <oper> ANY/SOME/ALL (array-expr)' (Tom, Joe)

> 
> > Allow SQL functions to return arrays and take them as params (Joe)
> I think you must be referring to polymorphism here. Maybe:
> Allow polymorphic SQL functions (Tom) (Joe)

OK, updated.  I didn't use polymorphic originally because I am not sure
how many people know what it means --- I don't.

> Also:
> Allow user defined aggregates to use polymorphic functions (Tom) (Joe)
> Allow polymorphic user defined aggregates  (Tom) (Joe)

Added.

> > Server-side Languages
> > 
> Allow polymorphic PL/pgSQL functions (Tom) (Joe)
> Improved compiled function caching mechanism in PL/pgSQL with full
>    support for polymorphism (Tom) (Joe)
> Add new $0 parameter in PL/pgSQL representing the function's actual
>    return type (Tom) (Joe)

Added.

> > Contrib
> > 
> > Add hashes to tablefuncs (Joe)
> More like:
> Add hashed based crosstab function to tablefuncs (Joe)

Updated.

> And:
> Add optional serial column for ordering siblings to connectby() in 
> tablefuncs (Nabil Sayegh) (Joe)

Added:

Add serial column to order connectby() siblings in tablefuncs (Nabil
  Sayegh,Joe)

> 
> > Fix second argument to metaphone() in fullystrmatch
> Fix bug in metaphone() in fuzzystrmatch

Done.

All in CVS.  I reworded some to get them into one line.

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

Tue, 5 Aug 2003 01:01:30 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: Release changes

I don't know about that item.  There is a menion of allowing 60 seconds
--- is that it?

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

Larry Rosenman wrote:
> What about the interval change in ISO datestyle for zero seconds?
> 
> LER
> 
> 
> --On Sunday, August 03, 2003 19:30:26 -0400 Bruce Momjian 
> <pgman@candle.pha.pa.us> wrote:
> 
> >
> > 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)
> 
> 
> 
> -- 
> Larry Rosenman                     http://www.lerctr.org/~ler
> Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
> US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
> 
> 

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

Tue, 5 Aug 2003 01:03:57 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: Release changes
Oleg Bartunov wrote:
> Bruce, you forgot new contrib/tsearch2 module - full text extension (Oleg,Teodor)

Sorry, added:

	New tsearch2 full-text search module (Oleg)

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

Tue, 5 Aug 2003 01:07:33 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: Release changes

Do you have suggested wording?

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

Andreas Pflug wrote:
> Bruce Momjian wrote:
> 
> >Here are the changes for 7.4.  I am looking for any improvements.  This
> >will be adjusted as we move through beta.
> >
> >---------------------------------------------------------------------------
> >Add FOR EACH STATEMENT statement-level triggers (Neil Conway)
> >
> AFAICS the current implementation still doesn't have a way to access the 
> affected rowset, so it'a pretty much like a SELECT without a WHERE. This 
> restricts the usability of statement-level triggers to very limited 
> cases. IMHO it's not a good idea to announce an incompletely implemented 
> feature.
> 
> Regards,
> Andreas
> 
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
>       subscribe-nomail command to majordomo@postgresql.org so that your
>       message can get through to the mailing list cleanly
> 

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

Tue, 5 Aug 2003 01:08:36 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: Release changes
On Tue, 5 Aug 2003, Bruce Momjian wrote:

> Oleg Bartunov wrote:
> > Bruce, you forgot new contrib/tsearch2 module - full text extension (Oleg,Teodor)
>
> Sorry, added:
>
> 	New tsearch2 full-text search module (Oleg)

Bruce, I wrote (Oleg,Teodor)

>
>

	Regards,
		Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83

Tue, 5 Aug 2003 09:29:43 +0400 (MSD)
Oleg Bartunov <oleg@sai.msu.su>
Re: Release changes
Bruce, I know it's a bit picky but both below should be along the
lines of "Allow thread-safe library" since they are not "threaded" per
se.

L.

Bruce Momjian writes:
 > Libpq
 > Allow threaded with --enable-thread-safety (Lee Kindness, Bruce)
 > Miscellaneous Interfaces
 > Allow threaded ecpg with --enable-thread-safety (Lee Kindness, Bruce)

Tue, 5 Aug 2003 09:32:31 +0100
Lee Kindness <lkindness@csl.co.uk>
Re: Release changes
No, the one where we always print hh:mm:ss for an interval, even if seconds 
is zero.



--On Tuesday, August 05, 2003 01:03:57 -0400 Bruce Momjian 
<pgman@candle.pha.pa.us> wrote:

>
> I don't know about that item.  There is a menion of allowing 60 seconds
> --- is that it?
>
> -------------------------------------------------------------------------
> --
>
> Larry Rosenman wrote:
>> What about the interval change in ISO datestyle for zero seconds?
>>
>> LER
>>
>>
>> --On Sunday, August 03, 2003 19:30:26 -0400 Bruce Momjian
>> <pgman@candle.pha.pa.us> wrote:
>>
>> >
>> > 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)
>>
>>
>>
>> --
>> Larry Rosenman                     http://www.lerctr.org/~ler
>> Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
>> US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
>>



-- 
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749


Tue, 05 Aug 2003 05:17:25 -0500
Larry Rosenman <ler@lerctr.org>
Re: Release changes

Done.

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

Oleg Bartunov wrote:
> On Tue, 5 Aug 2003, Bruce Momjian wrote:
> 
> > Oleg Bartunov wrote:
> > > Bruce, you forgot new contrib/tsearch2 module - full text extension (Oleg,Teodor)
> >
> > Sorry, added:
> >
> > 	New tsearch2 full-text search module (Oleg)
> 
> Bruce, I wrote (Oleg,Teodor)
> 
> >
> >
> 
> 	Regards,
> 		Oleg
> _____________________________________________________________
> Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
> Sternberg Astronomical Institute, Moscow University (Russia)
> Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
> phone: +007(095)939-16-83, +007(095)939-23-83
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
> 
>                http://www.postgresql.org/docs/faqs/FAQ.html
> 

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

Tue, 5 Aug 2003 10:33:22 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: Release changes

Done, now:

	Allow thread-safe libpq with --enable-thread-safety (Lee
 	  Kindness, Philip Yarra)


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

Lee Kindness wrote:
> Bruce, I know it's a bit picky but both below should be along the
> lines of "Allow thread-safe library" since they are not "threaded" per
> se.
> 
> L.
> 
> Bruce Momjian writes:
>  > Libpq
>  > Allow threaded with --enable-thread-safety (Lee Kindness, Bruce)
>  > Miscellaneous Interfaces
>  > Allow threaded ecpg with --enable-thread-safety (Lee Kindness, Bruce)
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
> 
>                http://www.postgresql.org/docs/faqs/FAQ.html
> 

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

Tue, 5 Aug 2003 10:34:48 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: Release changes

Oh, yes.  Let me add that.  I didn't realize that was a change of enough
significance.

How is this?

	Prevent timestamp from supressing ':00' seconds display


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

Larry Rosenman wrote:
> No, the one where we always print hh:mm:ss for an interval, even if seconds 
> is zero.
> 
> 
> 
> --On Tuesday, August 05, 2003 01:03:57 -0400 Bruce Momjian 
> <pgman@candle.pha.pa.us> wrote:
> 
> >
> > I don't know about that item.  There is a menion of allowing 60 seconds
> > --- is that it?
> >
> > -------------------------------------------------------------------------
> > --
> >
> > Larry Rosenman wrote:
> >> What about the interval change in ISO datestyle for zero seconds?
> >>
> >> LER
> >>
> >>
> >> --On Sunday, August 03, 2003 19:30:26 -0400 Bruce Momjian
> >> <pgman@candle.pha.pa.us> wrote:
> >>
> >> >
> >> > 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)
> >>
> >>
> >>
> >> --
> >> Larry Rosenman                     http://www.lerctr.org/~ler
> >> Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
> >> US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
> >>
> 
> 
> 
> -- 
> Larry Rosenman                     http://www.lerctr.org/~ler
> Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
> US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
>       subscribe-nomail command to majordomo@postgresql.org so that your
>       message can get through to the mailing list cleanly
> 

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

Tue, 5 Aug 2003 10:36:32 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: Release changes
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> On a philosophical note, I usually don't add core folks to release items
> _with_ other folks because we want to encourage non-core contributors,
> and because there is already the assumption that core is involved in
> many patches.

I agree with this.  For the current release, I'd be happy if my name
were on a couple of the larger tasks that I did (such as hash
aggregation).  Seeing it plastered throughout the rev history is
mildly embarrassing, actually.

> I added all the 'Tom' attributions you mentioned below.

Please take 'em out again.  I'm happy to give Joe the credit on all
these items.

			regards, tom lane

Tue, 05 Aug 2003 10:40:58 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: Release changes 


--On Tuesday, August 05, 2003 10:36:32 -0400 Bruce Momjian 
<pgman@candle.pha.pa.us> wrote:

>
> Oh, yes.  Let me add that.  I didn't realize that was a change of enough
> significance.
>
> How is this?
>
> 	Prevent timestamp from supressing ':00' seconds display
Yes, considering that it's a format change and Tom didn't want to back port 
because
it is a format change/behavior change.

Thanks!

LER

>
>
> -------------------------------------------------------------------------
> --
>
> Larry Rosenman wrote:
>> No, the one where we always print hh:mm:ss for an interval, even if
>> seconds  is zero.
>>
>>
>>
>> --On Tuesday, August 05, 2003 01:03:57 -0400 Bruce Momjian
>> <pgman@candle.pha.pa.us> wrote:
>>
>> >
>> > I don't know about that item.  There is a menion of allowing 60 seconds
>> > --- is that it?
>> >
>> > ----------------------------------------------------------------------
>> > --- --
>> >
>> > Larry Rosenman wrote:
>> >> What about the interval change in ISO datestyle for zero seconds?
>> >>
>> >> LER
>> >>
>> >>
>> >> --On Sunday, August 03, 2003 19:30:26 -0400 Bruce Momjian
>> >> <pgman@candle.pha.pa.us> wrote:
>> >>
>> >> >
>> >> > 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)
>> >>
>> >>
>> >>
>> >> --
>> >> Larry Rosenman                     http://www.lerctr.org/~ler
>> >> Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
>> >> US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
>> >>
>>
>>
>>
>> --
>> Larry Rosenman                     http://www.lerctr.org/~ler
>> Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
>> US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
>>
>>
>> ---------------------------(end of broadcast)---------------------------
>> TIP 3: if posting/reading through Usenet, please send an appropriate
>>       subscribe-nomail command to majordomo@postgresql.org so that your
>>       message can get through to the mailing list cleanly



-- 
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749


Tue, 05 Aug 2003 09:41:49 -0500
Larry Rosenman <ler@lerctr.org>
Re: Release changes
Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > On a philosophical note, I usually don't add core folks to release items
> > _with_ other folks because we want to encourage non-core contributors,
> > and because there is already the assumption that core is involved in
> > many patches.
> 
> I agree with this.  For the current release, I'd be happy if my name
> were on a couple of the larger tasks that I did (such as hash
> aggregation).  Seeing it plastered throughout the rev history is
> mildly embarrassing, actually.
> 
> > I added all the 'Tom' attributions you mentioned below.
> 
> Please take 'em out again.  I'm happy to give Joe the credit on all
> these items.

Done.

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

Tue, 5 Aug 2003 11:04:01 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: Release changes
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> How is this?
> 	Prevent timestamp from supressing ':00' seconds display

I think that was type interval, not timestamp.

			regards, tom lane

Tue, 05 Aug 2003 11:29:50 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: Release changes 


--On Tuesday, August 05, 2003 11:29:50 -0400 Tom Lane <tgl@sss.pgh.pa.us> 
wrote:

> Bruce Momjian <pgman@candle.pha.pa.us> writes:
>> How is this?
>> 	Prevent timestamp from supressing ':00' seconds display
>
> I think that was type interval, not timestamp.
Yeah, it is.  (my bad, I think).

LER

>
> 			regards, tom lane



-- 
Larry Rosenman                     http://www.lerctr.org/~ler
Phone: +1 972-414-9812                 E-Mail: ler@lerctr.org
US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749


Tue, 05 Aug 2003 10:30:49 -0500
Larry Rosenman <ler@lerctr.org>
Re: Release changes 

Updated.  Thanks.

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

Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > How is this?
> > 	Prevent timestamp from supressing ':00' seconds display
> 
> I think that was type interval, not timestamp.
> 
> 			regards, tom lane
> 

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

Tue, 5 Aug 2003 11:31:28 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: Release changes
Thanks, Bruce

On Tue, 5 Aug 2003, Bruce Momjian wrote:

>
> Done.
>
> ---------------------------------------------------------------------------
>
> Oleg Bartunov wrote:
> > On Tue, 5 Aug 2003, Bruce Momjian wrote:
> >
> > > Oleg Bartunov wrote:
> > > > Bruce, you forgot new contrib/tsearch2 module - full text extension (Oleg,Teodor)
> > >
> > > Sorry, added:
> > >
> > > 	New tsearch2 full-text search module (Oleg)
> >
> > Bruce, I wrote (Oleg,Teodor)
> >
> > >
> > >
> >
> > 	Regards,
> > 		Oleg
> > _____________________________________________________________
> > Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
> > Sternberg Astronomical Institute, Moscow University (Russia)
> > Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
> > phone: +007(095)939-16-83, +007(095)939-23-83
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 5: Have you checked our extensive FAQ?
> >
> >                http://www.postgresql.org/docs/faqs/FAQ.html
> >
>
>

	Regards,
		Oleg
_____________________________________________________________
Oleg Bartunov, sci.researcher, hostmaster of AstroNet,
Sternberg Astronomical Institute, Moscow University (Russia)
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(095)939-16-83, +007(095)939-23-83

Tue, 5 Aug 2003 20:05:45 +0400 (MSD)
Oleg Bartunov <oleg@sai.msu.su>
Re: Release changes
Thinking hard about wording...

Add partially implemented FOR EACH STATEMENT statement-level triggers (Neil Conway)


which doesn't look nice but expresses what's implemented. Taken from the 
CREATE TRIGGER FOR EACH STATEMENT documentation, a user would think he 
could do the same stuff as on lets say MSSQL, in a way known from 
row-level triggers. The example trigger-example.html seems to be 
non-statement-level trigger aware. Chapter 37 is quite misleading, for 
example recursive triggers are mentioned "programmer's responsibility to 
avoid infinite recursion"suggesting there would be a way to know about 
the affected rows...

Actually, I'd consider not to mention statement triggers at all. In the 
current state, they will provoke some annoyance if people try to use 
them. We will see them on the mailing lists, seeking for what's 
currently not available...

Regards,
Andreas

Bruce Momjian wrote:

>Do you have suggested wording?
>
>---------------------------------------------------------------------------
>
>Andreas Pflug wrote:
>  
>
>>Bruce Momjian wrote:
>>
>>    
>>
>>>Here are the changes for 7.4.  I am looking for any improvements.  This
>>>will be adjusted as we move through beta.
>>>
>>>---------------------------------------------------------------------------
>>>Add FOR EACH STATEMENT statement-level triggers (Neil Conway)
>>>
>>>      
>>>
>>AFAICS the current implementation still doesn't have a way to access the 
>>affected rowset, so it'a pretty much like a SELECT without a WHERE. This 
>>restricts the usability of statement-level triggers to very limited 
>>cases. IMHO it's not a good idea to announce an incompletely implemented 
>>feature.
>>




Tue, 05 Aug 2003 18:44:00 +0200
Andreas Pflug <pgadmin@pse-consulting.de>
Re: Release changes

How are statement level triggers supposed to work?  Are they just
triggers deferred until the end of the statement?  You mentioned access
to the affected rows, but I don't understand how that is supposed to
happen.


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

Andreas Pflug wrote:
> Thinking hard about wording...
> 
> Add partially implemented FOR EACH STATEMENT statement-level triggers (Neil Conway)
> 
> 
> which doesn't look nice but expresses what's implemented. Taken from the 
> CREATE TRIGGER FOR EACH STATEMENT documentation, a user would think he 
> could do the same stuff as on lets say MSSQL, in a way known from 
> row-level triggers. The example trigger-example.html seems to be 
> non-statement-level trigger aware. Chapter 37 is quite misleading, for 
> example recursive triggers are mentioned "programmer's responsibility to 
> avoid infinite recursion"suggesting there would be a way to know about 
> the affected rows...
> 
> Actually, I'd consider not to mention statement triggers at all. In the 
> current state, they will provoke some annoyance if people try to use 
> them. We will see them on the mailing lists, seeking for what's 
> currently not available...
> 
> Regards,
> Andreas
> 
> Bruce Momjian wrote:
> 
> >Do you have suggested wording?
> >
> >---------------------------------------------------------------------------
> >
> >Andreas Pflug wrote:
> >  
> >
> >>Bruce Momjian wrote:
> >>
> >>    
> >>
> >>>Here are the changes for 7.4.  I am looking for any improvements.  This
> >>>will be adjusted as we move through beta.
> >>>
> >>>---------------------------------------------------------------------------
> >>>Add FOR EACH STATEMENT statement-level triggers (Neil Conway)
> >>>
> >>>      
> >>>
> >>AFAICS the current implementation still doesn't have a way to access the 
> >>affected rowset, so it'a pretty much like a SELECT without a WHERE. This 
> >>restricts the usability of statement-level triggers to very limited 
> >>cases. IMHO it's not a good idea to announce an incompletely implemented 
> >>feature.
> >>
> 
> 
> 
> 

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

Tue, 5 Aug 2003 12:46:52 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: Release changes
Bruce Momjian wrote:

>How are statement level triggers supposed to work?  Are they just
>triggers deferred until the end of the statement?  You mentioned access
>to the affected rows, but I don't understand how that is supposed to
>happen.
>  
>
Statement level isn't about deferring or grouping the trigger execution, 
but about the triggering event. While a row level trigger will be called 
exactly once for every row being affected, a statement level trigger 
will be called exactly once per statement, whatever the result set may 
be, so even on a zero-row result set it will run. A standard way to 
handle recursivity on this is to check for a zero-row rowset, and 
aborting then. But how to obtain information about the rowset?
What's needed is an equivalent to the OLD and NEW 
variableTriggerData.tg_newtuple / TriggerData.tg_trigtuple, so that the 
result set being
modified can be accessed in queries. Thus statement level triggers are a 
combination of rules (where OLD and NEW define the affected rowset), and 
row-level triggers, enabling conditial programming etc. For systems 
where big chunks of data is inserted or updated in a single statement, a 
row-level trigger, while being much easier to implement, could be a big 
performance hit.


Regards,
Andreas


Tue, 05 Aug 2003 19:01:48 +0200
Andreas Pflug <pgadmin@pse-consulting.de>
Re: Release changes: statement level triggers
Bruce Momjian wrote:
> How are statement level triggers supposed to work?  Are they just
> triggers deferred until the end of the statement?  You mentioned access
> to the affected rows, but I don't understand how that is supposed to
> happen.

I'm not sure this is a fair assessment of statement level triggers. Yes, 
in MSSQL you can access the rows involved in the statement, but in 
Oracle you cannot (emphasis added):

"Accessing Column Values in Row Triggers
Within a trigger body of a *row trigger*, the PL/SQL code and SQL 
statements have access to the old and new column values of the current 
row affected by the triggering statement..."

See:
http://www.engin.umich.edu/caen/wls/software/oracle/appdev.901/a88876/adg13trg.htm#526

MSSQL does not have row level triggers at all (I know they didn't in 
6.5, and looking at the help file it doesn't appear that they were added 
even in MSSQL 2000), so access at the statement level is needed to do 
anything useful at all.

"deleted and inserted are logical (conceptual) tables. They are 
structurally similar to the table on which the trigger is defined, that 
is, the table on which the user action is attempted, and hold the old 
values or new values of the rows that may be changed by the user action."

Joe


Tue, 05 Aug 2003 10:08:04 -0700
Joe Conway <mail@joeconway.com>
Re: Release changes
On Tue, 5 Aug 2003, Bruce Momjian wrote:

> How are statement level triggers supposed to work?  Are they just
> triggers deferred until the end of the statement?  You mentioned access
> to the affected rows, but I don't understand how that is supposed to
> happen.

ILTM like you're supposed to (optionally) get table references that
presumably contains the OLD/NEW rows.  Before someone jumps on me for
putting optionally up there, it's a create trigger time option.  And
the old/new table references are not available for before triggers.


Tue, 5 Aug 2003 10:40:17 -0700 (PDT)
Stephan Szabo <sszabo@megazone.bigpanda.com>
Re: Release changes

> I'm not sure this is a fair assessment of statement level triggers. 
> Yes, in MSSQL you can access the rows involved in the statement, but 
> in Oracle you cannot (emphasis added):
>
> "Accessing Column Values in Row Triggers
> Within a trigger body of a *row trigger*, the PL/SQL code and SQL 
> statements have access to the old and new column values of the current 
> row affected by the triggering statement..."
>
> See:
> http://www.engin.umich.edu/caen/wls/software/oracle/appdev.901/a88876/adg13trg.htm#526 


But PostgreSQL may be better than Oracle, don't you think? In the named 
document,
- users are warned not to use recursiveness
- INSTEAD OF triggers can only be row-level, and are quite restricted. 
PostgreSQLs rules are much more flexible.

>
> MSSQL does not have row level triggers at all (I know they didn't in 
> 6.5, and looking at the help file it doesn't appear that they were 
> added even in MSSQL 2000), so access at the statement level is needed 
> to do anything useful at all. 

MSSQL2000 still doesn't have row level triggers, and I doubt that 2003 has.

Just to make a clarification: I don't expect that something like this works:
   UPDATE NEW set foo = bar
i.e. using the OLD and NEW rowsets as updateable rowsets, in the same 
way as row-level triggers allow simple
   NEW.foo := NEW.bar

UPDATE footable set foo=bar FROM footable JOIN NEW USING (thekeycol)
would be the style that's desirable, and this is the (only) way that 
MSSQL supports this. For this simple example, a row-level trigger 
certainly will be the cheapest way (both in respect to implementation 
and execution time), but if additional tables are needed query count  
will be multiplied by the number of rows affected. This effectively 
reduces mass execution to line-by-line execution.

Regards,
Andreas


Tue, 05 Aug 2003 19:57:39 +0200
Andreas Pflug <pgadmin@pse-consulting.de>
Re: Release changes
Andreas Pflug wrote:
> But PostgreSQL may be better than Oracle, don't you think? In the named 
> document,

<snip>

> MSSQL2000 still doesn't have row level triggers, and I doubt that 2003 has.
> 

Right, so as you've pointed out, Postgres trigger implementation is at 
least in some ways more flexible than Oracle, and offers row level 
triggers which MSSQL doesn't even have.

All I said was that you're being too harsh by suggesting that statement 
level triggers don't even deserve mention. You are assuming that 
everyone migrating to Postgres will "miss" the MSSQL feature when lots 
of people (in fact, the majority) don't even use MSSQL.

I agree that having the equiv. of MSSQL's "inserted" and "deleted" 
pseudo tables, would be nice, but I wouldn't allow lack thereof to 
denigrate a useful new feature.

Joe





Tue, 05 Aug 2003 11:05:30 -0700
Joe Conway <mail@joeconway.com>
Re: Release changes
I propose that the following should be added to the TODO list:

- expose read-only NEW/OLD rowsets in statement-level triggers that 
represent the affected rows.

- Implement a way to enable triggers to check which columns are affected 
by the triggering statement.

Regards,
Andreas




Tue, 05 Aug 2003 20:17:43 +0200
Andreas Pflug <pgadmin@pse-consulting.de>
TODO: trigger features
Joe Conway wrote:

> Andreas Pflug wrote:
>
>> But PostgreSQL may be better than Oracle, don't you think? In the 
>> named document,
>
>
> <snip>
>
>> MSSQL2000 still doesn't have row level triggers, and I doubt that 
>> 2003 has.
>>
>
> Right, so as you've pointed out, Postgres trigger implementation is at 
> least in some ways more flexible than Oracle, and offers row level 
> triggers which MSSQL doesn't even have.
>
> All I said was that you're being too harsh by suggesting that 
> statement level triggers don't even deserve mention. You are assuming 
> that everyone migrating to Postgres will "miss" the MSSQL feature when 
> lots of people (in fact, the majority) don't even use MSSQL.
>
> I agree that having the equiv. of MSSQL's "inserted" and "deleted" 
> pseudo tables, would be nice, but I wouldn't allow lack thereof to 
> denigrate a useful new feature.
>

Hi Joe,

I perfectly understand that you don't like withholding  the existence of 
statement-level triggers, because they are certainly useful in some 
cases. I wasn't aware that Oracle has castrated triggers too... So for 
the 7.4 release, there must be taken some effort in documenting what 
statement triggers can and what not; chapter 37 is not helpful at the 
moment. Otherwise, frustration is pre-programmed, just as I had it when 
I was trying to use it.


Regards,
Andreas



Tue, 05 Aug 2003 20:20:01 +0200
Andreas Pflug <pgadmin@pse-consulting.de>
Re: Release changes
Andreas Pflug <pgadmin@pse-consulting.de> writes:
> - Implement a way to enable triggers to check which columns are affected 
> by the triggering statement.

This can already be done by comparing old and new values, no?

I don't have a lot of sympathy for the idea that checking what the
original UPDATE touched is a good shortcut.  Rules or previous triggers
might have changed additional columns.

			regards, tom lane

Tue, 05 Aug 2003 15:04:53 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: TODO: trigger features 
Tom Lane wrote:

>Andreas Pflug <pgadmin@pse-consulting.de> writes:
>  
>
>>- Implement a way to enable triggers to check which columns are affected 
>>by the triggering statement.
>>    
>>
>
>This can already be done by comparing old and new values, no?
>
No, this is not the case.

UPDATE foo SET x=x, y=y
is different from
UPDATE foo SET y=y
if triggers maintaining x are involved. I had this case, and had to do 
quite weird stuff to implement this.

Regards,
Andreas



Tue, 05 Aug 2003 21:15:55 +0200
Andreas Pflug <pgadmin@pse-consulting.de>
Re: TODO: trigger features
Andreas Pflug <pgadmin@pse-consulting.de> writes:
> Tom Lane wrote:
>> This can already be done by comparing old and new values, no?
>> 
> No, this is not the case.

> UPDATE foo SET x=x, y=y
> is different from
> UPDATE foo SET y=y
> if triggers maintaining x are involved.

Only for what I would call extremely weird semantics of the triggers.

If a trigger preceding yours did the same action (assigned x to itself),
would you consider that something you needed to track?  If so, how would
you find out about it?  You couldn't.

If you want me to believe that the above is an important requirement,
you'd better convince me that it's sane, because I don't think so.

			regards, tom lane

Tue, 05 Aug 2003 15:21:08 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: TODO: trigger features 
Tom Lane wrote:

>Andreas Pflug <pgadmin@pse-consulting.de> writes:
>  
>
>>Tom Lane wrote:
>>    
>>
>>>This can already be done by comparing old and new values, no?
>>>
>>>      
>>>
>>No, this is not the case.
>>    
>>
>
>  
>
>>UPDATE foo SET x=x, y=y
>>is different from
>>UPDATE foo SET y=y
>>if triggers maintaining x are involved.
>>    
>>
>
>Only for what I would call extremely weird semantics of the triggers.
>
>If a trigger preceding yours did the same action (assigned x to itself),
>would you consider that something you needed to track?  If so, how would
>you find out about it?  You couldn't.
>
>If you want me to believe that the above is an important requirement,
>you'd better convince me that it's sane, because I don't think so.
>
I'm talking about a real life problem, and the upper sample was just an 
essence.

Consider this:
Table with one column that is maintained by a trigger for this rule:
- Only one row in a group of rows may have a foo-value of "true", all 
others must be "false".
- If foo=true is inserted/updated, other members of that data group must 
be set to false.
- If foo=false, designate one row for foo=true
- If not touched, use true if first member of that group, or false


This can be maintained by a trigger, but it will possibly trigger itself 
recursively (but doesn't need a second recursion)

Now we have another column: ts timestamp, that should contain the 
timestamp when the row was inserted/updated the last time by the *user*, 
not the trigger which is considered to work in the background. On 
INSERT, a DEFAULT current_timestamp will be the selected option, on 
UPDATE you would use NEW.TS := current_timestamp. But how to update the 
row, and retain the old timestamp value? Normally, a user's query 
wouldn't touch the ts column at all, leaving it to the backend to insert 
the correct values. But in the "maintain foo" trigger case, we could use 
"SET ts=ts" to signal to the trigger that we explicitely want to set the 
value. Same applies for the import case, when we want to insert a ts 
value coming from elsewhere but not from the trigger. This could also be 
done if there was something like "UPDATE ... WITH OPTION 
NOTRIGGER(trg_update_timestamp)" or so.

Regards,
Andreas



Tue, 05 Aug 2003 21:47:30 +0200
Andreas Pflug <pgadmin@pse-consulting.de>
Re: TODO: trigger features
Andreas Pflug <pgadmin@pse-consulting.de> writes:
> Consider this:
> Table with one column that is maintained by a trigger for this rule:
> - Only one row in a group of rows may have a foo-value of "true", all 
> others must be "false".
> - If foo=true is inserted/updated, other members of that data group must 
> be set to false.
> - If foo=false, designate one row for foo=true
> - If not touched, use true if first member of that group, or false

Why would the "not touched" case need to change anything?

> Now we have another column: ts timestamp, that should contain the 
> timestamp when the row was inserted/updated the last time by the *user*, 
> not the trigger which is considered to work in the background. On 
> INSERT, a DEFAULT current_timestamp will be the selected option, on 
> UPDATE you would use NEW.TS := current_timestamp. But how to update the 
> row, and retain the old timestamp value? Normally, a user's query 
> wouldn't touch the ts column at all, leaving it to the backend to insert 
> the correct values. But in the "maintain foo" trigger case, we could use 
> "SET ts=ts" to signal to the trigger that we explicitely want to set the 
> value.

That's not an argument for SET ts=ts.  There are many possible kluges
for detecting whether an update came from a trigger or directly from the
user, and using ts=ts is only one (not a very appealing one either IMHO).

The most obvious alternative is to have an additional boolean column
"from_trigger" defaulting to FALSE.  The trigger that sets the
timestamp can do this:

	if new.from_trigger then
		new.from_trigger = false;
	else
		new.timestamp = now();

Then, the stored value of from_trigger is always false, and any update
will cause the timestamp column to get updated --- unless the update
explicitly sets from_trigger=true.  This would also provide a solution
for your other concern about being able to override the timestamp on
insert.

> Same applies for the import case, when we want to insert a ts 
> value coming from elsewhere but not from the trigger. This could also be 
> done if there was something like "UPDATE ... WITH OPTION 
> NOTRIGGER(trg_update_timestamp)" or so.

Yet another messy kluge :-(.

			regards, tom lane

Tue, 05 Aug 2003 16:22:54 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: TODO: trigger features 
Tom Lane wrote:

>Andreas Pflug <pgadmin@pse-consulting.de> writes:
>  
>
>>Consider this:
>>Table with one column that is maintained by a trigger for this rule:
>>- Only one row in a group of rows may have a foo-value of "true", all 
>>others must be "false".
>>- If foo=true is inserted/updated, other members of that data group must 
>>be set to false.
>>- If foo=false, designate one row for foo=true
>>- If not touched, use true if first member of that group, or false
>>    
>>
>
>Why would the "not touched" case need to change anything?
>
Only interesting on insert, using DEFAULT together with the other rules 
can handle this.

>>Now we have another column: ts timestamp, that should contain the 
>>timestamp when the row was inserted/updated the last time by the *user*, 
>>not the trigger which is considered to work in the background. On 
>>INSERT, a DEFAULT current_timestamp will be the selected option, on 
>>UPDATE you would use NEW.TS := current_timestamp. But how to update the 
>>row, and retain the old timestamp value? Normally, a user's query 
>>wouldn't touch the ts column at all, leaving it to the backend to insert 
>>the correct values. But in the "maintain foo" trigger case, we could use 
>>"SET ts=ts" to signal to the trigger that we explicitely want to set the 
>>value.
>>    
>>
>
>That's not an argument for SET ts=ts.  There are many possible kluges
>for detecting whether an update came from a trigger or directly from the
>user, and using ts=ts is only one (not a very appealing one either IMHO).
>
>The most obvious alternative is to have an additional boolean column
>"from_trigger" defaulting to FALSE.  The trigger that sets the
>timestamp can do this:
>
>	if new.from_trigger then
>		new.from_trigger = false;
>	else
>		new.timestamp = now();
>
>Then, the stored value of from_trigger is always false, and any update
>will cause the timestamp column to get updated --- unless the update
>explicitly sets from_trigger=true.  This would also provide a solution
>for your other concern about being able to override the timestamp on
>insert.
>
I wonder why you are suggesting workarounds for features that other 
databases provide. Of course inventing a "I intend to change that row" 
flag is a way, but why not providing this directly? Might not be too 
easy, I know.

>>Same applies for the import case, when we want to insert a ts 
>>value coming from elsewhere but not from the trigger. This could also be 
>>done if there was something like "UPDATE ... WITH OPTION 
>>NOTRIGGER(trg_update_timestamp)" or so.
>>    
>>
>
>Yet another messy kluge :-(.
>  
>
YATS (yet another TODO suggestion):
provide an official and reliable way to temporarily enable/disable triggers.
"ALTER TABLE xxx ENABLE/DISABLE TRIGGER ALL/trgName"

We still have that nasty "not presently checked everywhere it should be" 
comment in the doc for pg_trigger...
Yes, this could be achieved by dropping and recreating the trigger after 
importing, which I expect to be suggested by you ;-)


Regards,
Andreas


Tue, 05 Aug 2003 22:54:11 +0200
Andreas Pflug <pgadmin@pse-consulting.de>
Re: TODO: trigger features
Andreas Pflug wrote:
> YATS (yet another TODO suggestion):
> provide an official and reliable way to temporarily enable/disable triggers.
> "ALTER TABLE xxx ENABLE/DISABLE TRIGGER ALL/trgName"
> 
> We still have that nasty "not presently checked everywhere it should be" 
> comment in the doc for pg_trigger...
> Yes, this could be achieved by dropping and recreating the trigger after 
> importing, which I expect to be suggested by you ;-)

We already have that TODO:

	* Allow triggers to be disabled [trigger]

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

Tue, 5 Aug 2003 18:07:04 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: TODO: trigger features
Bruce Momjian wrote:

>Andreas Pflug wrote:
>  
>
>>YATS (yet another TODO suggestion):
>>provide an official and reliable way to temporarily enable/disable triggers.
>>"ALTER TABLE xxx ENABLE/DISABLE TRIGGER ALL/trgName"
>>
>>We still have that nasty "not presently checked everywhere it should be" 
>>comment in the doc for pg_trigger...
>>Yes, this could be achieved by dropping and recreating the trigger after 
>>importing, which I expect to be suggested by you ;-)
>>    
>>
>
>We already have that TODO:
>
>	* Allow triggers to be disabled [trigger]
>
>  
>
Sorry for that dup

Regards,
Andreas


Wed, 06 Aug 2003 00:22:23 +0200
Andreas Pflug <pgadmin@pse-consulting.de>
Re: TODO: trigger features
On Mon, Aug 04, 2003 at 10:47:36AM +0200, Andreas Pflug wrote:
> AFAICS the current implementation still doesn't have a way to access the 
> affected rowset, so it'a pretty much like a SELECT without a WHERE.

Yeah, unfortunately I didn't get a chance to implement this functionality
during the 7.4 cycle (and it apparently wasn't important enough for
anyone else to do it while I've been away). I'll probably get around
to doing it some time before the 7.5 release.

The current STATEMENT trigger code is still useful, IMHO -- I think
your suggestion that we should remove any mention of this feature
from the docs is certainly going too far. Should I submit a patch
for the documentation to include a note about what functionality
hasn't been implemented yet?

-Neil


Tue, 5 Aug 2003 18:27:48 -0400
Neil Conway <neilc@home.samurai.com>
Re: Release changes
Andreas Pflug <pgadmin@pse-consulting.de> writes:
> I wonder why you are suggesting workarounds for features that other 
> databases provide.

The fact that other databases provide 'em doesn't make them good ideas.
In particular, writing a trigger that assumes that only the fields
changed by the original UPDATE syntax have really changed seems like an
excellent way to shoot yourself in the foot.  Why should we go out of
our way to provide support for error-prone programming techniques?

			regards, tom lane

Tue, 05 Aug 2003 18:41:37 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: TODO: trigger features 
Tom Lane wrote:

>Andreas Pflug <pgadmin@pse-consulting.de> writes:
>  
>
>>I wonder why you are suggesting workarounds for features that other 
>>databases provide.
>>    
>>
>
>The fact that other databases provide 'em doesn't make them good ideas.
>In particular, writing a trigger that assumes that only the fields
>changed by the original UPDATE syntax have really changed seems like an
>excellent way to shoot yourself in the foot.  Why should we go out of
>our way to provide support for error-prone programming techniques?
>
So you want to make a system fool-proof by not providing features? 
Working with nested triggers is certainly nothing to be considered for 
the newbie.
 
It's very easy to find these fields, because they can be identified from 
old.field <> new.field. My concern is about fields that can *not* be 
identified by this comparision. This needs special handling, just as 
NULL is handled in a special way (you wouldn't like a suggestion to 
handle NULL as zero or empty string, and have an additional bool column 
to designate the "empty" state, would you?!?)

Regards,
Andreas


Wed, 06 Aug 2003 00:55:23 +0200
Andreas Pflug <pgadmin@pse-consulting.de>
Re: TODO: trigger features
Neil Conway wrote:

>On Mon, Aug 04, 2003 at 10:47:36AM +0200, Andreas Pflug wrote:
>  
>
>>AFAICS the current implementation still doesn't have a way to access the 
>>affected rowset, so it'a pretty much like a SELECT without a WHERE.
>>    
>>
>
>Yeah, unfortunately I didn't get a chance to implement this functionality
>during the 7.4 cycle (and it apparently wasn't important enough for
>anyone else to do it while I've been away). I'll probably get around
>to doing it some time before the 7.5 release.
>
>The current STATEMENT trigger code is still useful, IMHO -- I think
>your suggestion that we should remove any mention of this feature
>from the docs is certainly going too far. Should I submit a patch
>for the documentation to include a note about what functionality
>hasn't been implemented yet?
>
That's best, I believe. For people that came from other DBs, not 
familiar with rules, they should be directed to the advantages of rules.

Places that mention triggers and need review:

- CREATE TRIGGER
- Chapter 36.6 Rules versus Triggers
- Chapter 37 "Server Programming - Triggers"
- Chapter 40 "PL/PGSQL"
- Chapter 41 "PL/Tcl"
(not ch. 42 - PL/Perl doesn't support triggers)
- Chapter 43 "PL/Python"

Phew! And this list is possibly not complete...


Regards,
Andreas


Wed, 06 Aug 2003 01:11:24 +0200
Andreas Pflug <pgadmin@pse-consulting.de>
Re: Release changes
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Here are the changes for 7.4.  I am looking for any improvements.  This
> will be adjusted as we move through beta.

Some notes on specific items:


Update /tmp socket files regularly to avoid their removal (Tom)

More specifically, update the file mod times.

New client/server protocol: faster, no username length limit, allow
  clean exit

"allow clean exit from failed COPY" is what's meant I think.  Not sure I'd
claim "faster", either.  There are a lot of other features you could mention
instead, such as allowing separation between SQL commands and data values.

Improve reverse index scan performance (Tom)

I have no idea what this entry is talking about --- I could not find anything
in the CVS log that seemed to match.

postgres --help-config now dumps server config variables (Tom)

This was not my work, I just applied it.  Please credit Aizaz Ahmed.

Prevent assign_session_authorization() from being confused by
  all-numeric user names (Tom)

This one is already in 7.3 patch releases, should not appear here.

Allow ORDER BY in FROM subqueries to be honored by outer queries (Tom)

"honored by"?  Better wording:
  Avoid redundant sort when order of a subquery result matches outer query's needs
Also, this belongs under Performance, I think.

Print key name in foreign-key violation messages (Dmitry Tkach)

Print key name and value ...

Allow subquery aggregates to reference upper query columns (?) (Tom)

Poorly phrased.  How about:
  Execute aggregates that reference outer-query values correctly per SQL spec

Allow dollar signs in identifiers, except as first character (Tom)

Why is this not together with the mention that dollar signs are *not* allowed
anymore in operator names?  It might also be worth pointing out that "x=$1"
works without spaces now.

Allow zero-column tables (Tom)

We allowed this already in 7.3, though I may have fixed a few more bugs.

Add pg_trigger.tgenabled to disable triggers? (Neil)

tgenabled was there already; the patch just caused it to be checked in more
places.

Have parser honor foreign-key constraints if created via ALTER TABLE ADD
  COLUMN? (Tom)

This was fixed in a 7.3.* release, should not be listed here.

Improve DOMAIN automatic type casting (Tom)

I think Rod had something to do with that, too.

Object owners can allow grantees to grant privilege to others?

Better "Implement GRANT OPTION privileges, per SQL spec (Peter)"

Properly handle SCROLL with cursors, or report an error (Tom)

Someone else (Neil I think) did the bulk of the work for scrollable cursors.

Allow CLUSTER without tablename clusters all tables (Alvaro Herrera)

Better worded "Allow ... to cluster all tables"

Reduce memory used by COPY (Tom)

Better "Prevent possible memory leaks in COPY".  I don't think that patch
actually reduced normal memory consumption at all.

Syntax errors now reported as 'syntax error' rather than 'parse error' (Tom)

Should credit the bison guys ;-) ... that was their change not ours.  But
really I see no need to list it at all --- there are vastly more wording
changes in the error messages than just this one.

Have COMMENT ON DATABASE on non-local database generate a warning (Tom)

I think that was someone else's work ... Rod maybe?

New hostmast() function (Greg Wickham)

hostmask() I think you meant?

Allow polymorphic SQL functions (Tom, Joe)

I think Joe should get the bulk of the credit on this one.

Allow array concatenation with '||' and normal array comparisons (Joe)

You already mentioned array comparisons, three or four items before.

Allow PREPARE/bind of utility commands like FETCH and EXPLAIN (Tom)

Doesn't seem like that belongs under "data types".

Honor only DateStyle setting for date entry without a four-digit year (Greg)

Better "Allow only DateStyle-specified field order for dates that are not
in unambiguous ISO format (yyyy-mm-dd)"

'now' will no longer work as a default, use now() (change required for prepared
  statements) (Tom)

Maybe say "as a column default" there.

Assume NaN value to be larger than any other value in comparisons (Tom)

We did this already in most places.  Specify that the change is just to make
MIN() and MAX() agree with the rest of the operations.

Prevent PL/pgSQL crash when RETURN NEXT is used on a zero-row record (Tom)

Zero-column record maybe?  I don't know what a zero-row record is.

Change PL/pgSQL EXECUTE INTO to CREATE TABLE AS EXECUTE? (Peter)

That patch applied to the main parser's EXECUTE command, not plpgsql.
So this is in the wrong place as well as being wrong...

Allow polymorphic PL/pgSQL functions (Tom, Joe)
Improved compiled function caching mechanism in PL/pgSQL with full
  support for polymorphism (Tom, Joe)
Add new $0 parameter in PL/pgSQL representing the function's actual
  return type (Tom, Joe)

Again, Joe gets the bulk of the credit on all three of these (and all the
credit for $0, I didn't do anything there)

New '\set autocommit off' capability (Tom)

It's \set AUTOCOMMIT, might as well get the case right.

New '\set verbosity' to control error detail (Tom)

Likewise, \set VERBOSITY

Allow control SSL negotiation with sslmode values "disable", "allow", 
  "Prefer", and "require" (Jon Jensen)

There should be a mention of the new pg_hba.conf hostnossl keyword somewhere
too (though not under libpq)

Allow OpenBSD to use local indent credentials (William Ahern)

local ident credentials?

Allow read-only query plans (Tom)

Better "Make query plan trees read-only to executor"

			regards, tom lane

Wed, 06 Aug 2003 19:22:07 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: Release changes 
Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Here are the changes for 7.4.  I am looking for any improvements.  This
> > will be adjusted as we move through beta.
> 
> Some notes on specific items:
> 
> 
> Update /tmp socket files regularly to avoid their removal (Tom)
> 
> More specifically, update the file mod times.

Updated:

	Update /tmp socket mod. times regularly to avoid their removal
	(Tom)

> 
> New client/server protocol: faster, no username length limit, allow
>   clean exit
> 
> "allow clean exit from failed COPY" is what's meant I think.  Not sure I'd
> claim "faster", either.  There are a lot of other features you could mention
> instead, such as allowing separation between SQL commands and data values.

New text is:

	New client/server protocol: faster, no username length limit, allow
	  clean exit from COPY (Tom)

How would you explain "allowing separation between SQL commands and data
values"?  Cleaner prepared statement implementation?

> Improve reverse index scan performance (Tom)

> I have no idea what this entry is talking about --- I could not find anything
> in the CVS log that seemed to match.

I know I saw it, but after looking for 20 minutes, I can't find it. 
Removed.

> postgres --help-config now dumps server config variables (Tom)
> 
> This was not my work, I just applied it.  Please credit Aizaz Ahmed.

Updated.

> Prevent assign_session_authorization() from being confused by
>   all-numeric user names (Tom)
> 
> This one is already in 7.3 patch releases, should not appear here.


Removed.

> Allow ORDER BY in FROM subqueries to be honored by outer queries (Tom)
> 
> "honored by"?  Better wording:
>   Avoid redundant sort when order of a subquery result matches outer query's needs

Updated to:

	Avoid sort when subquery ORDER BY matches upper query (Tom)

> Also, this belongs under Performance, I think.

Moved.

> Print key name in foreign-key violation messages (Dmitry Tkach)
> 
> Print key name and value ...

Updated.

> Allow subquery aggregates to reference upper query columns (?) (Tom)
> 
> Poorly phrased.  How about:
>   Execute aggregates that reference outer-query values correctly per SQL spec


Updated:

	Fix subquery aggregates of upper query columns to match SQL spec. (Tom)
> Allow dollar signs in identifiers, except as first character (Tom)
> 
> Why is this not together with the mention that dollar signs are *not* allowed
> anymore in operator names?  It might also be worth pointing out that "x=$1"
> works without spaces now.

Updated to:

	Disallow dollar signs in operator names, so x=$1 works (Tom)

They are in different places because one relates to operator names
(Object Manipulation section) while the other relates to queries
(Queries section).  Should they be moved into the same section?

> Allow zero-column tables (Tom)
> 
> We allowed this already in 7.3, though I may have fixed a few more bugs.

Updated to:

	Fix several zero-column table bugs (Tom)

> Add pg_trigger.tgenabled to disable triggers? (Neil)
> 
> tgenabled was there already; the patch just caused it to be checked in more
> places.

I am removing the item --- it doesn't seem ready for publication, or we
would have added a utility to access it.

> Have parser honor foreign-key constraints if created via ALTER TABLE ADD
>   COLUMN? (Tom)
> 
> This was fixed in a 7.3.* release, should not be listed here.

Removed.

> Improve DOMAIN automatic type casting (Tom)
> 
> I think Rod had something to do with that, too.

Added Rod.


> Object owners can allow grantees to grant privilege to others?
> 
> Better "Implement GRANT OPTION privileges, per SQL spec (Peter)"

Updated:

	Add WITH GRANT OPTION clause to GRANT, per SQL spec (Peter)

> Properly handle SCROLL with cursors, or report an error (Tom)
> 
> Someone else (Neil I think) did the bulk of the work for scrollable cursors.

Right, Neil.  Updated.  

FYI, he is back and will be online in a few more days.

> Allow CLUSTER without tablename clusters all tables (Alvaro Herrera)
> 
> Better worded "Allow ... to cluster all tables"

Updated.

> Reduce memory used by COPY (Tom)
> 
> Better "Prevent possible memory leaks in COPY".  I don't think that patch
> actually reduced normal memory consumption at all.

Updated.

> Syntax errors now reported as 'syntax error' rather than 'parse error' (Tom)
> 
> Should credit the bison guys ;-) ... that was their change not ours.  But
> really I see no need to list it at all --- there are vastly more wording
> changes in the error messages than just this one.

Yes, but it seemed one most likely to be checked by applications, no?

> Have COMMENT ON DATABASE on non-local database generate a warning (Tom)
> 
> I think that was someone else's work ... Rod maybe?

Name removed.  Anyone know?

> New hostmast() function (Greg Wickham)
> 
> hostmask() I think you meant?

Right, updated.

> Allow polymorphic SQL functions (Tom, Joe)
> 
> I think Joe should get the bulk of the credit on this one.

Updated.

> Allow array concatenation with '||' and normal array comparisons (Joe)
> 
> You already mentioned array comparisons, three or four items before.

OK, I removed "and normal array comparisons".

> Allow PREPARE/bind of utility commands like FETCH and EXPLAIN (Tom)
> 
> Doesn't seem like that belongs under "data types".

Right, moved to Utility Commands.

> Honor only DateStyle setting for date entry without a four-digit year (Greg)
> 
> Better "Allow only DateStyle-specified field order for dates that are not
> in unambiguous ISO format (yyyy-mm-dd)"

Updated:

	Allow only DateStyle field order for date values not in ISO
	format (Greg)

> 'now' will no longer work as a default, use now() (change required for prepared
>   statements) (Tom)
> 
> Maybe say "as a column default" there.

Good idea.  Done.

> Assume NaN value to be larger than any other value in comparisons (Tom)
> 
> We did this already in most places.  Specify that the change is just to make
> MIN() and MAX() agree with the rest of the operations.

I should have said aggregate originally, but MIN/MAX is better anyway.

Updated to:

	Assume NaN value to be larger than any other value in MIN()/MAX() (Tom)


> Prevent PL/pgSQL crash when RETURN NEXT is used on a zero-row record (Tom)
> 
> Zero-column record maybe?  I don't know what a zero-row record is.

When cursor returns zero rows, and you call RETURN NEXT, I think.  At
least that's what I read from the commit message:

 Fix coredump problem in plpgsql's RETURN NEXT.  When a SELECT INTO
 that's selecting into a RECORD variable returns zero rows, make it
 assign an all-nulls row to the RECORD; this is consistent with what
 happens when the SELECT INTO target is not a RECORD.  In support of
 this, tweak the SPI code so that a valid tuple descriptor is returned

Updated to:

	Prevent PL/pgSQL crash when RETURN NEXT is used on a zero-row
	record var. (Tom)

> Change PL/pgSQL EXECUTE INTO to CREATE TABLE AS EXECUTE? (Peter)
> 
> That patch applied to the main parser's EXECUTE command, not plpgsql.
> So this is in the wrong place as well as being wrong...

I was unclear is it was plpgsql execute or prepared queries.

Moved and updated to:

	Change EXECUTE INTO to CREATE TABLE AS EXECUTE (Peter)

> Allow polymorphic PL/pgSQL functions (Tom, Joe)
> Improved compiled function caching mechanism in PL/pgSQL with full
>   support for polymorphism (Tom, Joe)
> Add new $0 parameter in PL/pgSQL representing the function's actual
>   return type (Tom, Joe)

Updated.

> Again, Joe gets the bulk of the credit on all three of these (and all the
> credit for $0, I didn't do anything there)

Done. I just removed your name, as you mentioned earlier.
> 
> New '\set autocommit off' capability (Tom)
> 
> It's \set AUTOCOMMIT, might as well get the case right.

Updated.

> New '\set verbosity' to control error detail (Tom)
> 
> Likewise, \set VERBOSITY

Update.

> Allow control SSL negotiation with sslmode values "disable", "allow", 
>   "Prefer", and "require" (Jon Jensen)
> 
> There should be a mention of the new pg_hba.conf hostnossl keyword somewhere
> too (though not under libpq)

Moved to "Server Configuration":

	New pg_hba.conf 'hostnossl' to prevent SSL connections (Jon
	Jensen)

> Allow OpenBSD to use local indent credentials (William Ahern)
> 
> local ident credentials?


Yep, sorry, now:

	Allow OpenBSD to use local ident credentials (William Ahern)

> Allow read-only query plans (Tom)
> 
> Better "Make query plan trees read-only to executor"

Thanks.  Updated and committed.

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

Wed, 6 Aug 2003 23:59:20 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: Release changes
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Tom Lane wrote:
>> Why is this not together with the mention that dollar signs are *not* allowed
>> anymore in operator names?

> They are in different places because one relates to operator names
> (Object Manipulation section) while the other relates to queries
> (Queries section).  Should they be moved into the same section?

That distinction seems pretty artificial.  Identifiers are names of
objects just as much as operator names are.  If you think something
about identifier syntax belongs under Queries because identifiers
are used in queries, then I'd respond that so are operators.

I don't really care where they go, but I think they should be together.

			regards, tom lane

Thu, 07 Aug 2003 09:28:55 -0400
Tom Lane <tgl@sss.pgh.pa.us>
Re: Release changes 

OK, I moved them both to the object section, next to each other.

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

Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Tom Lane wrote:
> >> Why is this not together with the mention that dollar signs are *not* allowed
> >> anymore in operator names?
> 
> > They are in different places because one relates to operator names
> > (Object Manipulation section) while the other relates to queries
> > (Queries section).  Should they be moved into the same section?
> 
> That distinction seems pretty artificial.  Identifiers are names of
> objects just as much as operator names are.  If you think something
> about identifier syntax belongs under Queries because identifiers
> are used in queries, then I'd respond that so are operators.
> 
> I don't really care where they go, but I think they should be together.
> 
> 			regards, tom lane
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
> 
>                http://archives.postgresql.org
> 

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

Thu, 7 Aug 2003 10:13:02 -0400 (EDT)
Bruce Momjian <pgman@candle.pha.pa.us>
Re: Release changes