aboutsummaryrefslogtreecommitdiff
path: root/doc/TODO
diff options
context:
space:
mode:
Diffstat (limited to 'doc/TODO')
-rw-r--r--doc/TODO504
1 files changed, 205 insertions, 299 deletions
diff --git a/doc/TODO b/doc/TODO
index 877bdf4cca4..30de9e614d4 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -1,24 +1,27 @@
TODO list for PostgreSQL
========================
-Last updated: Tue Apr 7 16:56:24 EDT 1998
+Last updated: Sat Aug 29 17:43:10 EDT 1998
Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
The most recent version of this document can be viewed at
the PostgreSQL WWW site, http://www.postgreSQL.org.
-THE CHANGES FOR 6.3 APPEAR AT THE END OF THIS DOCUMENT
+THE CHANGES FOR 6.4 APPEAR AT THE END OF THIS DOCUMENT
A dash(-) marks changes to be in the next release.
Developers who have claimed items are:
-------------------------------------
+ * Billy is Billy G. Allie <Bill.Allie@mug.org>
+ * Brook is Brook Milligan <brook@trillium.NMSU.Edu>
* Bruce is Bruce Momjian<maillist@candle.pha.pa.us>
* Bryan is Bryan Henderson<bryanh@giraffe.netgate.net>
* D'Arcy is D'Arcy J.M. Cain <darcy@druid.net>
* Dan is Dan McGuirk <mcguirk@indirect.com>
* Daniel is Daniel Kalchev <daniel@digsys.bg>
* Darren is Darren King <darrenk@insightdist.com>
+ * David is David Hartwig <daveh@insightdist.com>
* Edmund is Edmund Mergl <E.Mergl@bawue.de>
* Erich Stamberger <eberger@gewi.kfunigraz.ac.at>
* Gerhard is Gerhard Reithofer <gerhardr@tech-edv.co.at>
@@ -31,40 +34,42 @@ Developers who have claimed items are:
* Maarten is Maarten Boekhold <maartenb@dutepp0.et.tudelft.nl>
* Marc is Marc Fournier <scrappy@hub.org>
* Martin is Martin S. Utesch <utesch@aut.tu-freiberg.de>
+ * Massimo Dal Zotto <dz@cs.unitn.it>
* Michael is Michael Meskes <meskes@debian.org>
* Oleg is Oleg Bartunov <oleg@sai.msu.su>
* Paul is Paul M. Aoki <aoki@CS.Berkeley.EDU>
* Patrick is Patrick van Kleef <pvk@pobox.com>
- * Peter is Peter T Mount <psqlhack@maidast.demon.co.uk>
+ * Peter is Peter T Mount <peter@retep.org.uk>
* Phil is Phil Thompson <phil@river-bank.demon.co.uk>
* Raymond is Raymond Toy <toy@rtp.ericsson.se>
+ * Ryan is Ryan Kirkpatrick <rkirkpat@nag.cs.colorado.edu>
* Soo-Ho Ok <shok@detc.dongeui-tc.ac.kr>
* Stefan Simkovics <ssimkovi@rainbow.studorg.tuwien.ac.at>
* Sven is Sven Verdoolaege <skimo@breughel.ufsia.ac.be>
* Tatsuo is Tatsuo Ishii <t-ishii@sra.co.jp>
* Thomas is Thomas Lockhart <tgl@mythos.jpl.nasa.gov>
* Todd is Todd Brandys is <brandys@eng3.hep.uiuc.edu>
+ * TomH is Tom I Helbekkmo <tih@Hamartun.Priv.NO>
* Vadim is "Vadim B. Mikheev" <vadim@sable.krasnoyarsk.su>
* Vivek is Vivek Khera <khera@kci.kciLink.com>
-Additional 6.3 developers include:
+Additional 6.4 developers include:
---------------------------------
- * Billy is Billy G. Allie <Bill.Allie@mug.org>
- * Brook is Brook Milligan <brook@trillium.NMSU.Edu>
- * James is James Hughes <jamesh@interpath.com>
- * Jeroen is Jeroen van Vianen <jeroenv@design.nl>
- * Matt is Matt Maycock <maycock@intelliquest.com>
- * Ryan is Ryan Kirkpatrick <rkirkpat@nag.cs.colorado.edu>
- * TomH is Tom I Helbekkmo <tih@Hamartun.Priv.NO>
- * TomS is Tom Szybist
- * Travis is Travis Melhiser <melhiser@viper.co.union.nc.us>
+ * Jun Kuwamura <juk@rccm.co.jp>
+ * Zeugswetter Andreas SARZ <Andreas.Zeugswetter@telecom.at>
+ * Soonmyung. Hong <hong@lunaris.hanmesoft.co.kr>
+ * Anders Hammarquist <iko@netg.se>
+ * Jeroen van Vianen <jeroenv@design.nl>
+ * Aldrin L. <aldrin@americasnet.com>
+ * Pascal ANDRE <andre@via.ecp.fr>
+ * Magnus Hagander <mha@edu.sollentuna.se>
RELIABILITY
-----------
* Overhaul mdmgr/smgr to fix double unlinking and double opens, cleanup
* Overhaul bufmgr/lockmgr/transaction manager
* Remove EXTEND?
-* CREATE VIEW requires super-user priviledge
+* -CREATE VIEW requires super-user priviledge
* Can lo_export()/lo_import() read/write anywhere, causing a security problem?
* Tables that start with xinv confused to be large objects
* Two and three dimmensional arrays display improperly, missing {}
@@ -73,7 +78,7 @@ RELIABILITY
* SELECT * FROM table WHERE int4_column = '1' fails
* SELECT a[1] FROM test fails, it needs test.a[1]
* UPDATE table SET table.value = 3 fails
-* Make pg_dump preserve inheritance column order, do non-inherits first
+* -Make pg_dump preserve inheritance column order, do non-inherits first
* User who can create databases can modify pg_database table
* optimizer memory exhaustion with many OR's
* elog() does not free all its memory(Jan)
@@ -81,6 +86,10 @@ RELIABILITY
* disallow inherited columns with the same name as new columns
* recover or force failure when disk space is exhausted
* default char() value not to full length crashes server on some OS's
+* allow UPDATE using aggregate to affect all rows, not just one
+* computations in views fail:
+ create view test as select usesysid * usesysid from pg_shadow;
+* select upper(usename), count(usesysid) from pg_shadow group by 1 fails
ENHANCEMENTS
------------
@@ -92,36 +101,37 @@ ENHANCEMENTS
* Add full ANSI SQL capabilities
* -Implement HAVING clause(Stephan)
* add OUTER joins, left and right (Thomas)
- * make VIEWs updateable where possible
+ * -make VIEWs updateable where possible(use Rules)
* add INTERSECTS, SUBTRACTS(Stephan)
- * add temporary tables(Bruce)
+ * add temporary tables
* add sql3 recursive unions
* add the concept of dataspaces
* add DECIMAL, NUMERIC, DOUBLE PRECISION, BIT, BIT VARYING
* NCHAR (as distinguished from ordinary varchar),
* DOMAIN capability
* Allow compression of large fields or a compressed field type
-* Fix the rules system(Jan?,Soo-Ho)
- * robust
- * making INSTEAD rules work
+* Fix the rules system(Jan,Soo-Ho)
+ * -robust
+ * -making INSTEAD rules work
* add CONSTRAINT
* Full set of text operations and functions
* word searches, concat,max() on text, char
* Large objects
- * Fix large object mapping scheme, own reltype
+ * Fix large object mapping scheme, own reltype(Peter)
+ * Allow large text type to use large objects(Peter)
* not to stuff everything as files in a single directory
* Fix large object memory leaks
+ * delete orphaned large objects
* Better interface for adding to pg_group
* Make MONEY/DECIMAL have a defined precision
* Fix tables >2G, or report error when 2G size reached
(fix lseek()/off_t, mdextend()/RELSEG_SIZE)
-* Threaded version of the server or libpq
-* Allow libpq to cancel query requests
+* -Allow libpq to cancel query requests
* Add REGEX internationalization
* allow row re-use without vacuum, maybe?(Vadim)
-* Remove restriction that ORDER BY field must be in SELECT list
+* -Remove restriction that ORDER BY field must be in SELECT list(David)
* Add word index for text fields, maybe with trigrams, i.e.:
- * ' (cat | dog) & ! fox ' meaning text has cat or dog, but not fox
+ * ' (cat | dog) & ! fox ' meaning text has cat aor dog, but not fox
* Populate backend status area and write program to dump status data
* Add ALTER TABLE DROP COLUMN feature
* Allow INSERT INTO ... SELECT to convert column types
@@ -146,6 +156,7 @@ ENHANCEMENTS
* Allow cursors to be DECLAREd/OPENed/CLOSEed outside transactions
* Allow installation data block size and max tuple size configuration(Darren)
* Allow views on a UNION
+* Allow DISTINCT on view
* Allow views of aggregate columns
* Allow variable block sizes(Darren)
* System tables are now more update-able from SQL(Jan)
@@ -161,19 +172,33 @@ ENHANCEMENTS
* Granting permissions to another user looses permissions for the owner
* Allow queries across multiple databases
* Add replication of distributed databases
+* Allow table destruction/alter to be rolled back
+* Add pg_attribute.atttypmod/Resdom->restypmod to PGresult structure
+* Generate error on CREATE OPERATOR of ~~, ~ and and ~*
+* Allow constraint NULL just as we honor NOT NULL
+* Add version number in startup banners for psql and postmaster
+* Restructure storing of GRANT permission information to allow +-=
+* allow psql \copy to allow delimiters
+* allow international error message support and add error codes
+* allow ORDER BY a function(David)
+* allow usernames with dashes(GRANT fails)
+* add a function to return the last inserted oid, for use in psql scripts
+* allow creation of functional indexes to use default types
+* put sort files, large objects in their on directory
+* CREATE VIEW myview (name) AS SELECT lname FROM wages fails
PERFORMANCE
-----------
-* Use indexes in ORDER BY, min(), max()(Costin Oproiu)
+* Use indexes in ORDER BY for restrictive data sets, min(), max()
* Optimizing disjunctive queries
-* Fix bushy-plans (Martin)
+* Fix bushy-plans
* Other optimizer bugs
* Prevent fsync in SELECT-only queries
* Cache most recent query plan(s?)
* Shared catalog cache, reduce lseek()'s by caching table size in shared area
* Allow compression of log and meta data
* Add FILLFACTOR to index creation
-* Allow indexes to be used with OR clauses(Vadim)
+* -Allow indexes to be used with OR clauses(Bruce)
* update pg_statistic table to remove operator column
* make index creation use psort code, because it is now faster(Vadim)
* remove fork()/exec() of backend and make it just fork()
@@ -185,6 +210,9 @@ PERFORMANCE
* Use spin locks only on multi-CPU systems, yield CPU instead
* Get faster regex() code from Henry Spencer <henry@zoo.utoronto.ca>
when it is available
+* use mmap() rather than SYSV shared memory(?)
+* use index to restrict rows returned by multi-key index when used with
+ non-consecutive keys or OR clauses, so fewer heap accesses
DOCUMENTATION
-------------
@@ -198,284 +226,162 @@ DOCUMENTATION
=============================================================================
-
-CHANGES IN THE 6.3.2 PATCH
---------------------------
-configure detection improvements for tcl/tk(Brook Milligan, Alvin)
-Manual page improvements(Bruce)
-BETWEEN and LIKE fix(Thomas)
-fix for psql \connect used by pg_dump(Oliver Elphick)
-New odbc driver
-pgaccess, version 0.86
-qsort removed, now uses libc version, cleanups(Jeroen)
-fix for buffer over-runs detected(Maurice Gittens)
-fix for buffer overrun in libpgtcl(Randy Kunkee)
-fix for UNION with DISTINCT or ORDER BY(Bruce)
-gettimeofday configure check(Doug Winterburn)
-Fix "indexes not used" bug(Vadim)
-docs additions(Thomas)
-Fix for backend memory leak(Bruce)
-libreadline cleanup(Erwan MAS)
-Remove DISTDIR(Bruce)
-Makefile dependency cleanup(Jeroen van Vianen)
-ASSERT fixes(Bruce)
-
-
-CHANGES IN THE 6.3.1 PATCH
---------------------------
-ecpg cleanup/fixes, now version 1.1(Michael Meskes)
-pg_user cleanup(Bruce)
-large object fix for pg_dump and tclsh(alvin@camberlo.demon.co.uk)
-LIKE fix for multiple adjacent underscores
-LIKE/BETWEEN fix for having function call as target(Thomas)
-fix for redefining builtin functions(Thomas)
-ultrix4 cleanup
-upgrade to pg_access 0.83
-updated CLUSTER manual page
-multi-byte character set support, see doc/README.mb(Tatsuo)
-configure --with-pgport fix
-pg_ident fix
-big-endian fix for backend communications(Kataoka)
-SUBSTR() and substring() fix(Jan)
-several jdbc fixes(Peter)
-libpgtcl improvements, see libptcl/README(Randy Kunkee)
-Fix for "Datasize = 0" error(Vadim)
-Prevent \do from wrapping(Bruce)
-Remove duplicate Russian character set entries
-Sunos4 cleanup
-Allow optional TABLE keyword in LOCK and SELECT INTO(Thomas)
-CREATE SEQUENCE options to allow a negative integer(Thomas)
-Add "PASSWORD" as an allowed column identifier(Thomas)
-Add checks for UNION target fields(Bruce)
-Fix Alpha port(Dwayne Bailey)
-Fix for text arrays containing quotes(Doug Gibson)
-Solaris compile fix(Albert Chin-A-Young)
-Better identify tcl and tk libs and includes(Bruce)
-
-
-
-CHANGES IN THE 6.3 RELEASE
+CHANGES IN THE 6.4 RELEASE
--------------------------
-There are some general 6.3 issues that I want to mention. These are
-only the big items that can not be described in one sentence.
-
-First, we now have subselects. Now that we have them, I would like to
-mention that without subselects, SQL is a very limited language.
-Subselects are a major feature, and you should review your code for
-places where subselects provide a better solution for your queries. I
-think you will find that there are more uses for subselects than you may
-think. Vadim has put us on the big SQL map with subselects, and fully
-functional ones too. The only thing you can't do with subselects is to
-use them in the target list.
-
-Second, 6.3 uses unix domain sockets rather than TCP/IP by default. To
-enable connections from other machines, you have to use the new
-postmaster -i option, and of course edit pg_hba.conf. Also, for this
-reason, the format of pg_hba.conf has changed.
-
-Third, char() fields will now allow faster access than varchar() or
-text. Specifically, the text and varchar() have a penalty for access to
-any columns after the first column of this type. char() used to also
-have this access penalty, but it no longer does. This may suggest that
-you redesign some of your tables, especially if you have short character
-columns that you have defined as varchar() or text. This and other
-changes make 6.3 even faster than earlier releases.
-
-We now have passwords definable independent of any Unix file. There are
-new SQL USER commands. See the pg_hba.conf manual page for more
-information. There is a new table, pg_shadow, which is used to store
-user information and user passwords, and it by default only SELECT-able
-by the postgres super-user. pg_user is now a view of pg_shadow, and is
-SELECT-able by PUBLIC. You should keep using pg_user in your
-application without changes.
-
-User-created tables now no longer have SELECT permission to PUBLIC by
-default. This was done because the ANSI standard requires it. You can
-of course GRANT any permissions you want after the table is created.
-System tables continue to be SELECT-able by PUBLIC.
-
-We also have real deadlock detection code. No more sixty-second
-timeouts. And the new locking code implements a FIFO better, so there
-should be less resource starvation during heavy use.
-
-Many complaints have been made about inadequate documenation in previous
-releases. Thomas has put much effort into many new manuals for this
-release. Check out the /doc directory.
-
-For performance reasons, time travel is gone, but can be implemented
-using triggers (see pgsql/contrib/spi/README). Please check out the new
-\d command for types, operators, etc. Also, views have their own
-permissions now, not based on the underlying tables, so permissions on
-them have to be set separately. Check /pgsql/interfaces for some new
-ways to talk to PostgreSQL.
-
-This is the first release that really required an explaination for
-existing users. In many ways, this was necessary because the new
-release removes many limitations, and the work-arounds people were using
-are no longer needed.
-
Bug Fixes
---------
-Fix binary cursors broken by MOVE implementation(Vadim)
-Fix for tcl library crash(Jan)
-Fix for array handling, from Gerhard Hintermayer
-Fix acl error, and remove duplicate pqtrace(Bruce)
-Fix psql \e for empty file(Bruce)
-Fix for textcat on varchar() fields(Bruce)
-Fix for DBT Sendproc (Zeugswetter Andres)
-Fix vacuum analyze syntax problem(Bruce)
-Fix for international identifiers(Tatsuo)
-Fix aggregates on inherited tables(Bruce)
-Fix substr() for out-of-bounds data
-Fix for select 1=1 or 2=2, select 1=1 and 2=2, and select sum(2+2)(Bruce)
-Fix notty output to show status result. -q option still turns it off(Bruce)
-Fix for count(*), aggs with views and multiple tables and sum(3)(Bruce)
-Fix cluster(Bruce)
-Fix for PQtrace start/stop several times(Bruce)
-Fix a variety of locking problems like newer lock waiters getting
- lock before older waiters, and having readlock people not share
- locks if a writer is waiting for a lock, and waiting writers not
- getting priority over waiting readers(Bruce)
-Fix crashes in psql when executing queries from external files(James)
-Fix problem with multiple order by columns, with the first one having
- NULL values(Jeroen)
-Use correct hash table support functions for float8 and int4(Thomas)
-Re-enable JOIN= option in CREATE OPERATOR statement (Thomas)
-Change precedence for boolean operators to match expected behavior(Thomas)
-Generate elog(ERROR) on over-large integer(Bruce)
-Allow multiple-argument functions in constraint clauses(Thomas)
-Check boolean input literals for 'true','false','yes','no','1','0'
- and throw elog(ERROR) if unrecognized(Thomas)
-Major large objects fix
-Fix for GROUP BY showing duplicates(Vadim)
-Fix for index scans in MergeJion(Vadim)
+Fix for a tiny memory leak in PQsetdb/PQfinish(Bryan)
+Remove char2-16 data types, use char/varchar(Darren)
+Pqfn not handles a NOTICE message(Anders)
+Short-term locks now retry locking at random times(David)
+Fix up "ISO-style" timespan decoding and encoding(Thomas)
+Fix problem with table drop after rollback of transaction(Vadim)
+Change error message and remove non-functional update message(Vadim)
+Fix for COPY array checking
+Fix for SELECT 1 UNION SELECT NULL
+Fix for buffer leaks in large object calls(Pascal)
+Change owner from oid to int4 type(Bruce)
+Fix a bug in the oracle compatibility functions btrim() ltrim() and rtrim()
+Fix for usernames longer than eight characters(Tom)
+Fix for shared invalidation cache overflow(Massimo)
+Prevent file descriptor leaks in failed COPY's(Bruce)
Enhancements
------------
-Subselects with EXISTS, IN, ALL, ANY keywords (Vadim, Bruce, Thomas)
-New User Manual(Thomas, others)
-Speedup by inlining some frequently-called functions
-Real deadlock detection, no more timeouts(Bruce)
-Add SQL92 "constants" CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP,
- CURRENT_USER(Thomas)
-Modify constraint syntax to be SQL92-compliant(Thomas)
-Implement SQL92 PRIMARY KEY and UNIQUE clauses using indices(Thomas)
-Recognize SQL92 syntax for FOREIGN KEY. Throw elog notice(Thomas)
-Allow NOT NULL UNIQUE constraint clause (each allowed separately before)(Thomas)
-Allow Postgres-style casting ("::") of non-constants(Thomas)
-Add support for SQL3 TRUE and FALSE boolean constants(Thomas)
-Support SQL92 syntax for IS TRUE/IS FALSE/IS NOT TRUE/IS NOT FALSE(Thomas)
-Allow shorter strings for boolean literals (e.g. "t", "tr", "tru")(Thomas)
-Allow SQL92 delimited identifiers(Thomas)
-Implement SQL92 binary and hexadecimal string decoding (b'10' and x'1F')(Thomas)
-Support SQL92 syntax for type coercion of literal strings
- (e.g. "DATETIME 'now'")(Thomas)
-Add conversions for int2, int4, and OID types to and from text(Thomas)
-Use shared lock when building indices(Vadim)
-Free memory allocated for an user query inside transaction block after
- this query is done, was turned off in <= 6.2.1(Vadim)
-New SQL statement CREATE PROCEDURAL LANGUAGE(Jan)
-New PostgreSQL Procedural Language (PL) backend interface(Jan)
-Rename pg_dump -H option to -h(Bruce)
-Add Java support for passwords, European dates(Peter)
-Use indices for LIKE and ~, !~ operations(Bruce)
-Add hash functions for datetime and timespan(Thomas)
-Time Travel removed(Vadim, Bruce)
-Add paging for \d and \z, and fix \i(Bruce)
-Add Unix domain socket support to backend and to frontend library(Goran)
-Implement CREATE DATABASE/WITH LOCATION and initlocation utility(Thomas)
-Allow more SQL92 and/or Postgres reserved words as column identifiers(Thomas)
-Augment support for SQL92 SET TIME ZONE...(Thomas)
-SET/SHOW/RESET TIME ZONE uses TZ backend environment variable(Thomas)
-Implement SET keyword = DEFAULT and SET TIME ZONE DEFAULT(Thomas)
-Enable SET TIME ZONE using TZ environment variable(Thomas)
-Add PGDATESTYLE environment variable to frontend and backend initialization(Thomas)
-Add PGTZ, PGCOSTHEAP, PGCOSTINDEX, PGRPLANS, PGGEQO
- frontend library initialization environment variables(Thomas)
-Regression tests time zone automatically set with "setenv PGTZ PST8PDT"(Thomas)
-Add pg_description table for info on tables, columns, operators, types, and
- aggregates(Bruce)
-Increase 16 char limit on system table/index names to 32 characters(Bruce)
-Rename system indices(Bruce)
-Add 'GERMAN' option to SET DATESTYLE(Thomas)
-Define an "ISO-style" timespan output format with "hh:mm:ss" fields(Thomas)
-Allow fractional values for delta times (e.g. '2.5 days')(Thomas)
-Validate numeric input more carefully for delta times(Thomas)
-Implement day of year as possible input to date_part()(Thomas)
-Define timespan_finite() and text_timespan() functions(Thomas)
-Remove archive stuff(Bruce)
-Allow for a pg_password authentication database that is separate from
- the system password file(Todd)
-Dump ACLs, GRANT, REVOKE permissions(Matt)
-Define text, varchar, and bpchar string length functions(Thomas)
-Fix Query handling for inheritance, and cost computations(Bruce)
-Implement CREATE TABLE/AS SELECT (alternative to SELECT/INTO)(Thomas)
-Allow NOT, IS NULL, IS NOT NULL in constraints(Thomas)
-Implement UNIONs for SELECT(Bruce)
-Add UNION, GROUP, DISTINCT to INSERT(Bruce)
-varchar() stores only necessary bytes on disk(Bruce)
-Fix for BLOBs(Peter)
-Mega-Patch for JDBC...see README_6.3 for list of changes(Peter)
-Remove unused "option" from PQconnectdb()
-New LOCK command and lock manual page describing deadlocks(Bruce)
-Add new psql \da, \dd, \df, \do, \dS, and \dT commands(Bruce)
-Enhance psql \z to show sequences(Bruce)
-Show NOT NULL and DEFAULT in psql \d table(Bruce)
-New psql .psqlrc file startup(Andrew)
-Modify sample startup script in contrib/linux to show syslog(Thomas)
-New types for IP and MAC addresses in contrib/ip_and_mac(TomH)
-Unix system time conversions with date/time types in contrib/unixdate(Thomas)
-Update of contrib stuff(Massimo)
-Add Unix socket support to DBD::Pg(Goran)
-New python interface (PyGreSQL 2.0)(D'Arcy)
-New frontend/backend protocol has a version number, network byte order(Phil)
-Security features in pg_hba.conf enhanced and documented, many cleanups(Phil)
-CHAR() now faster access than VARCHAR() or TEXT
-ecpg embedded SQL preprocessor
-Reduce system column overhead(Vadmin)
-Remove pg_time table(Vadim)
-Add pg_type attribute to identify types that need length (bpchar, varchar)
-Add report of offending line when COPY command fails
-Allow VIEW permissions to be set separately from the underlying tables.
- For security, use GRANT/REVOKE on views as appropriate(Jan)
-Tables now have no default GRANT SELECT TO PUBLIC. You must
- explicitly grant such permissions.
-Clean up tutorial examples(Darren)
+Upgrade ECPG to 2.0, see src/interfaces/ecpc/ChangeLog(Michael)
+Show the index used in an explain(Zeugswetter)
+Multi-byte awareness of many data data types and functions(Tatsuo)
+New configure --with-mb option(Tatsuo)
+New initdb --pgencoding option(Tatsuo)
+New createdb -E multibyte option(Tatsuo)
+Select version(); now returns PostgreSQL version(Jeroen)
+Libpq now allows asynchronous clients(Tom)
+Allow cancel from client of backend query(Tom)
+Psql now cancels query with Control-C(Tom)
+Define "tz_hour" and "tz_minute" arguments to date_part()(Thomas)
+Add routines to convert between varchar and bpchar(Thomas)
+Add routines to allow sizing of varchar and bpchar into target columns(Thomas)
+Add bit flags to support timezonehour and minute in data retrieval(Thomas)
+Allow more variations on valid floating point numbers (e.g. ".1", "1e6")(Thomas)
+Fixes for unary minus parsing with leading spaces(Thomas)
+Implement TIMEZONE_HOUR, TIMEZONE_MINUTE per SQL92 specs(Thomas)
+Check for and properly ignore FOREIGN KEY column constraints(Thomas)
+Define USER as synonym for CURRENT_USER per SQL92 specs(Thomas)
+Enable HAVING clause but no fixes elsewhere yet.
+Make "char" type a synonym for "char(1)" (actually implemented as bpchar)(Thomas)
+Save string type if specified for DEFAULT clause handling(Thomas)
+Coerce operations involving different data types(Thomas)
+Allow some index use for columns of different types(Thomas)
+Add capabilities for automatic type conversion(Thomas)
+Cleanups for large objects, so file is truncated on open(Peter)
+Readline cleanups(Tom)
+Allow psql \f \ to make spaces as delimiter(Bruce)
+Pass pg_attribute.atttypmod to the frontend for column field lengths(Tom,Bruce)
+Msql compatibility library in /contrib(Aldrin)
+Remove the requirement that ORDER/GROUP BY clause identifiers be
+included in the target list(David)
+Convert columns to match columns in UNION clauses(Thomas)
+Remove fork()/exec() and only do fork()(Bruce)
+Jdbc cleanups(Peter)
+Show backend status on ps command line(only works on some platforms)(Bruce)
+Pg_hba.conf now has a sameuser option in the database field
+Make lo_unlink take oid param, not int4
+New DISABLE_COMPLEX_MACRO for compilers that can't handle our macros(Bruce)
+Libpgtcl now gets async notifies from libpq(Tom)
+New locale patch, see docs/README/locale(Oleg)
+Fix for pg_dump so CONSTRAINT and CHECK syntax is correct(ccb)
+New contrib/lo code for large object orphan removal(Peter)
+New psql command "SET CLIENT_ENCODING TO 'encoding'" for multi-bytes
+feature, see /doc/README.mb(Tatsuo)
+/contrib/noupdate code to revoke update permission on a column
+Libpq can now be compiled on win32(Magnus)
+Add PQsetdbLogin() in libpq
+Two styles we agreed upon for database descriptors(Thomas)
+New 8-byte integer type, checked by configure for OS support(Thomas)
+Surround table and column names with double-quotes(Thomas) in generated
+sql code to preserve case (SQL92 syntax)(Thomas)
+New libpqrequestCancel(Tom)
+PQreset() now works with passwords(Tom)
+Handle case of GROUP BY target list column number out of range(David)
+Allow UNION in subselects
+Add auto-size to screen to \d? commands(Bruce)
+Use UNION to show all \d? results in one query(Bruce)
+Add \d? field search feature(Bruce)
+Pg_dump issues fewer \connect requests(Tom)
+Document pg_dump -z flag in manual page(Tom)
+Add HAVING clause with full support for subselects and unions(Stephan)
+Full text indexing routines in contrib/fulltextindex(Marteen)
+Transaction ids now stored in shared memory(Vadim)
+New PGCLIENTENCODING when issuing COPY command(Tatsuo)
+Support for SQL92 syntax "SET NAMES"(Tatsuo)
+Support for LATIN2-5(Tatsuo)
+Add UNICODE regression test case(Tatsuo)
+Lock manager cleanup, new locking modes for LLL(Vadim)
+Allow index use with OR clauses(Bruce)
+Allows "SELECT NULL ORDER BY 1;"
+Explain VERBOSE prints the plan, and now pretty-prints the plan to
+the postmaster log file(Bruce)
+Add Indices display to \d command(Bruce)
+Allow GROUP BY on functions(David)
+New pg_class.relkind for large objects(Bruce)
+New way to send libpq NOTICE messages to a different location(Tom)
+New \w write command to psql(Bruce)
+New /contrib/findoidjoins scans oid columns to find join relationships(Bruce)
+Allow binary-compatible indices to be considered when checking for valid
+indices for restriction clauses containing a constant(Thomas)
+New ISBN/ISSN code in /contrib/isbn_issn
+Allow NOT LIKE, IN, NOT IN, BETWEEN, and NOT BETWEEN constraint(Thomas)
+New rewrite system fixes many problems with rules and views(Jan)
+ * Rules on relations work
+ * Event qualifications on insert/update/delete work
+ * New OLD variable to reference CURRENT, CURRENT will be remove in future
+ * Update rules can reference NEW and OLD in rule qualifications/actions
+ * Insert/update/delete rules on views work
+ * Multiple rule actions are now supported, surrounded by parentheses
+ * Regular users can create views/rules on tables they have RULE permits
+ * Rules and views inherit the permissions on the creator
+ * No rules at the column level
+ * No UPDATE NEW/OLD rules
+ * New pg_rule and pg_view system views
+ * Only a single action on SELECT rules
+ * Total rewrite overhaul, perhaps for 6.5
+
+System indexes are now multi-key(Bruce)
+Oidint2, oidint4, and oidname types are removed(Bruce)
+Use system cache for more system table lookups(Bruce)
+New backend programming language PL/pgSQL in backend/pl(Jan)
+New SERIAL data type, auto-creates sequence/index(Thomas)
+Enable assert checking without a recompile(Massimo)
+User lock enhancements(Massimo)
+New setval() command to set sequence value(Massimo)
+Auto-remove unix socket file on startup if no postmaster running(Massimo)
+Conditional trace package(Massimo)
+New UNLISTEN command(Massimo)
+Psql now compiles under win32 using win32.mak(Magnus)
+Lo_read no longer stores trailing NULL(Bruce)
+Identifiers are now truncated to 31 characters internally(Bruce)
Source Tree Changes
-------------------
-Add new html development tools, and flow chart in /tools/backend
-Fix for SCO compiles
-Stratus computer port "Gillies, Robert" <GilliesR@Nichols.com>
-Added support for shlib for BSD44_derived & i386_solaris
-Make configure more automated(Brook)
-Add script to check regression test results
-Break parser functions into smaller files, group together(Bruce)
-Rename heap_create to heap_create_and_catalog, rename heap_creatr
- to heap_create()(Bruce)
-Sparc/Linux patch for locking(TomS)
-Remove PORTNAME and reorganize port-specific stuff(Marc)
-Add optimizer README file(Bruce)
-Remove some recursion in optimizer and clean up some code there(Bruce)
-Fix for NetBSD locking(Henry)
-Fix for libptcl make(Tatsuo)
-AIX patch(Darren)
-Change IS TRUE, IS FALSE, ... to expressions using "=" rather than
- function calls to istrue() or isfalse() to allow optimization(Thomas)
-Various fixes NetBSD/Sparc related(TomH)
-Alpha linux locking(Travis,Ryan)
-Change elog(WARN) to elog(ERROR)(Bruce)
-FAQ for FreeBSD(Marc)
-Bring in the PostODBC source tree as part of our standard distribution(Marc)
-A minor patch for HP/UX 10 vs 9(Stan)
-New pg_attribute.atttypmod for type-specific info like varchar length(Bruce)
-Unixware patches(Billy)
-New i386 'lock' for spin lock asm(Billy)
-Support for multiplexed backends is removed
-Start an OpenBSD port
-Start an AUX port
-Start a Cygnus port
-Add string functions to regression suite(Thomas)
-Expand a few function names formerly truncated to 16 characters(Thomas)
-Remove un-needed malloc() calls and replace with palloc()(Bruce)
+/contrib cleanup(Jun)
+Inline some small functions called for every row(Bruce)
+Alpha/linux fixes
+Hp/UX cleanups(Tom)
+Multi-byte regression tests(Soonmyung.)
+Remove --disabled options from configure
+Define PGDOC to use POSTGRESDIR by default
+Make regression optional
+Remove extra braces code to pgindent(Bruce)
+Add bsdi shared library support(Bruce)
+New --without-CXX support configure option(Brook)
+New FAQ_CVS
+Update backend flowchart in tools/backend(Bruce)
+Change atttypmod from int16 to int32(Bruce, Tom)
+Getrusage() fix for platforms that do not have it(Tom)
+Add PGUSER to libpq man page
+Ns32k platform fixes(Phil Nelson)
+Sco 7/UnixWare 2.x fixes(Billy,others)
+Sparc/Solaris 2.5 fixes(Ryan)
+Pgbuiltin.3 is obsolete, move to doc files(Thomas)
+Even more documention(Thomas)