TODO list for PostgreSQL
========================
-Last updated: Mon Jan 10 08:19:08 EST 2000
+Last updated: Tue Jan 11 07:07:31 EST 2000
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
RESOURCES
-* Elog() does not free all its memory(Jan)
-* spinlock stuck problem when elog(FATAL) and elog(ERROR) inside bufmgr
+* -Elog() does not free all its memory
+* -spinlock stuck problem when elog(FATAL) and elog(ERROR) inside bufmgr
* -Recover or force failure when disk space is exhausted(Hiroshi)
PARSER
* -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 of nine 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
* -When using aggregates + GROUP BY, no rows in should yield no rows out(Tom)
* -Allow HAVING to use comparisons that have no aggregates(Tom)
-* Allow COUNT(DISTINCT col)
+* -Allow COUNT(DISTINCT col))(TOm)
VIEWS
* User who can create databases can modify pg_database table
* Plpgsql does not handle quoted mixed-case identifiers
-* Fix btree to give a useful elog when key > 1/2 (page - overhead)
+* -Fix btree to give a useful elog when key > 1/2 (page - overhead)(Tom)
* -pg_dump should preserve primary key information
-* plpgsql regression tests fail on BSD/OS
+* plpgsql regression tests fails on BSD/OS
* -database names with spaces fail
* insert of 0.0 into DECIMAL(4,4) field fails
URGENT
-* Add referential integrity(Jan?)[primary]
+* -Add referential integrity(Jan)[primary]
* Add OUTER joins, left and right[outer](Thomas, Bruce)
-* Allow long tuples by chaining or auto-storing outside db (chaining,large objs)
+* Allow long tuples by chaining or auto-storing outside db (TOAST)(Jan)
* -Eliminate limits on query length
* Fix memory leak for expressions[memory](Tom?)
* -Fix memory leak for aggregates(Tom)
* Test syslog functionality
* Allow elog() to return error codes, not just messages
* Allow international error message support and add error codes
-* Generate postmaster pid file and remove flock/fcntl lock code [flock]
+* -Generate postmaster pid file and remove flock/fcntl lock code[flock](Tatsuo)
* Add ability to specifiy location of lock/socket files [flock]
TYPES
-* Add BIT, BIT VARYING
+* -Add BIT, BIT VARYING
* 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
* Large objects
o Fix large object mapping scheme, own typeid or reltype(Peter)
- o Allow large text type to use large objects(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 user to define char1 column
* Add support for & operator
* Allow LOCALE on a per-column basis, default to ASCII
-* Allow LOCALE to use indexes in regular expression searches
+* -Allow LOCALE to use indexes in regular expression searches(Tom)
* Allow array on int8[]
* Allow nulls in arrays
* Allow arrays to be ORDER'ed
* Permissions on indexes, prevent them?
* Allow SQL function indexes
* Add FILLFACTOR to index creation
-* Allow indexing of LIKE with localle character sets
-* Allow indexing of more than eight columns
+* -Allow indexing of LIKE with localle character sets
+* -Allow indexing of more than eight columns
COMMANDS
* Allow cursors to be DECLAREd/OPENed/CLOSEed outside transactions
* Allow DELETE WHERE CURRENT OF cursor
* Allow PQrequestCancel() to terminate when in waiting-for-lock state
-* -Transaction log, so re-do log can be on a separate disk by
- with after-row images(Vadim) [logging](Vadim)
+* Transaction log, so re-do log can be on a separate disk by
+ with after-row images(Vadim) [logging](Vadim)(in-progress)
* Populate backend status area and write program to dump status data
* Make oid use unsigned int more reliably, pg_atoi()
-* -Allow subqueries in target list
+* -Allow subqueries in target list(Tom)
* 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]
+* 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
* Have optimizer take LIMIT into account when considering index scans [limit]
* -Make index creation use psort code, because it is now faster(Vadim)
* -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 free
-* Improve _bt_binsrch() to handle equal keys better, remove _bt_firsteq()(Tom)
+* -Create more system table indexes for faster cache lookups
+* -fix indexscan() so it does leak memory by not requiring caller to
+free(Tom)
+* -Improve _bt_binsrch() to handle equal keys better, remove _bt_firsteq()(Tom)
* Allow SELECT * FROM tab WHERE int2col = 4 use int2col index, int8,
float4, numeric/decimal too [optimizer]
* -Allow optimizer to prefer plans that match ORDER BY(Tom)
places, like GROUP BY, UNIQUE, index processing, etc.
* improve dynamic memory allocation by introducing tuple-context memory
allocation [memory]
-* fix memory leak in cache code when non-existant table is referenced
-* In WHERE tab1.x=3 AND tab1.x=tab2.y, add tab2.y=3
+* -fix memory leak in cache code when non-existant table is referenced
+ In WHERE tab1.x=3 AND tab1.x=tab2.y, add tab2.y=3
* pass atttypmod through parser in more cases [atttypmod]
-* remove duplicate type in/out functions for disk and net
+* -remove duplicate type in/out functions for disk and net
* Allow persistent backends [persistent]
-* Misc [performance]
+* others [performance]
SOURCE CODE
-----------