Thread: Release changes
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 DevelopmentBranch 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 zoneis 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 iseast 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, Pennsylvania19073
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
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, Pennsylvania19073
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
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, 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
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) >
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
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
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
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, Pennsylvania19073
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, Pennsylvania19073
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, Pennsylvania19073
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, Pennsylvania19073
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
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)
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
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, Pennsylvania19073
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, Pennsylvania19073
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, Pennsylvania19073
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
--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
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, Pennsylvania19073
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
--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
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, Pennsylvania19073
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
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. >>
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, Pennsylvania19073
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
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
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.
> 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
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
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
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
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
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
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
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
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
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
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, Pennsylvania19073
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
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
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
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
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
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
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 ISOformat (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 INTOthat's selecting into a RECORD variable returns zero rows,make itassign an all-nulls row to the RECORD; this is consistent with whathappens when the SELECT INTO target is nota RECORD. In support ofthis, 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-rowrecord 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 (JonJensen) > 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, Pennsylvania19073
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
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, Pennsylvania19073