|
|
|
@ -1,6 +1,6 @@ |
|
|
|
|
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) |
|
|
|
|
|
|
|
|
@ -18,8 +18,8 @@ RELIABILITY |
|
|
|
|
|
|
|
|
|
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 |
|
|
|
@ -33,7 +33,7 @@ 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 |
|
|
|
@ -49,13 +49,13 @@ PARSER |
|
|
|
|
* 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 |
|
|
|
|
|
|
|
|
@ -68,9 +68,9 @@ MISC |
|
|
|
|
|
|
|
|
|
* 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 |
|
|
|
|
|
|
|
|
@ -79,9 +79,9 @@ ENHANCEMENTS |
|
|
|
|
|
|
|
|
|
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) |
|
|
|
@ -93,19 +93,19 @@ ADMIN |
|
|
|
|
* 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 |
|
|
|
@ -117,7 +117,7 @@ TYPES |
|
|
|
|
* 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 |
|
|
|
@ -143,8 +143,8 @@ INDEXES |
|
|
|
|
* 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 |
|
|
|
|
|
|
|
|
@ -196,15 +196,15 @@ MISC |
|
|
|
|
* 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 |
|
|
|
@ -237,9 +237,10 @@ INDEXES |
|
|
|
|
* 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) |
|
|
|
@ -271,12 +272,12 @@ MISC |
|
|
|
|
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 |
|
|
|
|
----------- |
|
|
|
|