TODO list for PostgreSQL
========================
-Last updated: Wed Jan 12 21:34:10 EST 2000
+Last updated: Wed Jan 12 22:02:56 EST 2000
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
* -Array index references without table name cause problems [array](Tom)
* Update table SET table.value = 3 fails(SQL standard says this is OK)
* Creating index of TIMESTAMP & RELTIME fails, or rename to DATETIME(Thomas)
-* -SELECT foo UNION SELECT foo is incorrectly simplified to SELECT foo
+* SELECT foo UNION SELECT foo is incorrectly simplified to SELECT foo
* -INSERT ... SELECT ... GROUP BY groups by target columns not source columns(Tom)
* -CREATE TABLE test (a char(5) DEFAULT text '', b int4) fails on INSERT(Tom)
* -UNION with LIMIT fails
* redesign INSERT ... SELECT to have two levels of target list
* -select * from pg_class where oid in (0,-1)
* have INTERSECT/EXCEPT prevent duplicates unless ALL is specified
-* prevent primary key that exceeds max index columns [primary]
+* -prevent primary key that exceeds max index columns [primary]
* -SELECT COUNT('asdf') FROM pg_class WHERE oid=12 crashes
* SELECT DISTINCT ON col1 col1 col2 FROM tab1 is broken [distinct]
* -require SELECT DISTINCT target list to have all ORDER BY columns
* plpgsql regression tests fails on BSD/OS
* -database names with spaces fail
* insert of 0.0 into DECIMAL(4,4) field fails
+* Interlock to prevent DROP DATABASE on a database with running backends
+* Buffer reference counting bugfixes
+* Fix libpq bug that causes it to drop backend error message sent
+ just before connection closure (ie, any FATAL error message
ENHANCEMENTS
------------
* Nchar (as distinguished from ordinary varchar),
* Domain capability
* Add STDDEV/VARIANCE() function for standard deviation computation/variance
-* -Allow compression of large fields or a compressed field type
+* Allow compression of large fields or a compressed field type
* Large objects
o Fix large object mapping scheme, own typeid or reltype(Peter)
- o -Allow large text type to use large objects(Peter)
o Not to stuff everything as files in a single directory, hash dirs
o Allow large object vacuuming
o Tables that start with xinv confused to be large objects
* -Allow flag to control COPY input/output of NULLs
* Update reltuples from COPY command
* -Allow psql \copy to allow delimiters
-* -Add a function to return the last inserted oid, for use in psql scripts
+* -Add a function to return the last inserted oid, for use in psql
+ scripts (Peter E)
* -Allow psql to print nulls as distinct from "" [null]
EXOTIC FEATURES
* Put sort files, large objects in their own directory
* Do autocommit so always in a transaction block(?)
* Show location of syntax error in query [yacc]
-* Redesign the function call interface to handle NULLs better[function](TOm)
+* Redesign the function call interface to handle NULLs better[function](Tom)
* -Document/trigger/rule so changes to pg_shadow recreate pg_pwd [pg_shadow]
* Missing optimizer selectivities for date, r-tree, etc. [optimizer]
* -Overhaul mdmgr/smgr to fix double unlinking and double opens, cleanup
* Pull requested data directly from indexes, bypassing heap data
* Use index to restrict rows returned by multi-key index when used with
non-consecutive keys or OR clauses, so fewer heap accesses
-* -Convert function(constant) into a constant for index use(Tom)
-* Allow LIMIT ability on single-table queries that have no ORDER BY to use
- a matching index [limit]
+* -Convert function(constant) into a constant for index use(Bernard Frankpitt)
* Improve LIMIT processing by using index to limit rows processed [limit]
* Have optimizer take LIMIT into account when considering index scans [limit]
-* -Make index creation use psort code, because it is now faster(Vadim)
+* -Make index creation use psort code, because it is now faster(Tom)
* -Allow creation of sort temp tables > 1 Gig
* -Create more system table indexes for faster cache lookups
* -fix indexscan() so it does leak memory by not requiring caller to
* Cache most recent query plan(s) [prepare]
* Shared catalog cache, reduce lseek()'s by caching table size in shared area
-* -elog() flushes cache, try invalidating just entries from current xact,
+* elog() flushes cache, try invalidating just entries from current xact,
perhaps using invalidation cache
* Get faster regex() code from Henry Spencer <henry@zoo.utoronto.ca>
when it is available
* Use mmap() rather than SYSV shared memory(?)
-* -Process const = const parts of OR clause in separate pass(Tom)
+* -Process const = const parts of OR clause in separate pass(Bernard Frankpitt)
* Make oid use oidin/oidout not int4in/int4out in pg_type.h
* Improve Subplan list handling
* Allow Subplans to use efficient joins(hash, merge) with upper variable