Remove ENHANCEMENTS section, move subsections up.
This commit is contained in:
parent
03296fc980
commit
61b544fc78
55
doc/TODO
55
doc/TODO
@ -1,6 +1,6 @@
|
|||||||
TODO list for PostgreSQL
|
TODO list for PostgreSQL
|
||||||
========================
|
========================
|
||||||
Last updated: Fri Feb 1 11:59:54 EST 2002
|
Last updated: Sun Feb 3 14:23:58 EST 2002
|
||||||
|
|
||||||
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
|
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
|
||||||
|
|
||||||
@ -12,10 +12,8 @@ A dash (-) marks changes that will appear in the upcoming 7.3 release.
|
|||||||
Bracketed items "[]" have more detailed.
|
Bracketed items "[]" have more detailed.
|
||||||
|
|
||||||
|
|
||||||
ENHANCEMENTS
|
|
||||||
------------
|
|
||||||
|
|
||||||
URGENT
|
URGENT
|
||||||
|
------
|
||||||
|
|
||||||
* Add replication of distributed databases [replication]
|
* Add replication of distributed databases [replication]
|
||||||
o automatic failover
|
o automatic failover
|
||||||
@ -29,7 +27,9 @@ URGENT
|
|||||||
* Point-in-time data recovery using backup and write-ahead log
|
* Point-in-time data recovery using backup and write-ahead log
|
||||||
* Allow row re-use without vacuum (Tom)
|
* Allow row re-use without vacuum (Tom)
|
||||||
|
|
||||||
|
|
||||||
REPORTING
|
REPORTING
|
||||||
|
---------
|
||||||
|
|
||||||
* Allow elog() to return error codes, module name, file name, line
|
* Allow elog() to return error codes, module name, file name, line
|
||||||
number, not just messages (Peter E)
|
number, not just messages (Peter E)
|
||||||
@ -38,7 +38,9 @@ REPORTING
|
|||||||
only if client exists (Bruce)
|
only if client exists (Bruce)
|
||||||
* Show location of syntax error in query [yacc]
|
* Show location of syntax error in query [yacc]
|
||||||
|
|
||||||
|
|
||||||
PERMISSIONS
|
PERMISSIONS
|
||||||
|
-----------
|
||||||
|
|
||||||
* Improve control over user privileges, including table creation and
|
* Improve control over user privileges, including table creation and
|
||||||
lock use [privileges] (Karel, others)
|
lock use [privileges] (Karel, others)
|
||||||
@ -49,7 +51,9 @@ PERMISSIONS
|
|||||||
* Make single-user local access permissions the default (Peter E)
|
* Make single-user local access permissions the default (Peter E)
|
||||||
* Use thread-safe crypt() in libpq, if available
|
* Use thread-safe crypt() in libpq, if available
|
||||||
|
|
||||||
|
|
||||||
ADMIN
|
ADMIN
|
||||||
|
-----
|
||||||
|
|
||||||
* Incremental backups
|
* Incremental backups
|
||||||
* Make it easier to create a database owned by someone who can't createdb,
|
* Make it easier to create a database owned by someone who can't createdb,
|
||||||
@ -64,7 +68,9 @@ ADMIN
|
|||||||
* Prevent SIGHUP and 'pg_ctl reload' from changing command line
|
* Prevent SIGHUP and 'pg_ctl reload' from changing command line
|
||||||
specified parameters to postgresql.conf defaults
|
specified parameters to postgresql.conf defaults
|
||||||
|
|
||||||
|
|
||||||
DATA TYPES
|
DATA TYPES
|
||||||
|
----------
|
||||||
|
|
||||||
* Add domain capability [domain]
|
* Add domain capability [domain]
|
||||||
* Add IPv6 capability to INET/CIDR types
|
* Add IPv6 capability to INET/CIDR types
|
||||||
@ -94,7 +100,9 @@ DATA TYPES
|
|||||||
interface (force out-of-line storage and no compression)
|
interface (force out-of-line storage and no compression)
|
||||||
o Auto-delete large objects when referencing row is deleted
|
o Auto-delete large objects when referencing row is deleted
|
||||||
|
|
||||||
|
|
||||||
MULTI-LANGUAGE SUPPORT
|
MULTI-LANGUAGE SUPPORT
|
||||||
|
----------------------
|
||||||
|
|
||||||
* Add NCHAR (as distinguished from ordinary varchar),
|
* Add NCHAR (as distinguished from ordinary varchar),
|
||||||
* Allow LOCALE on a per-column basis, default to ASCII
|
* Allow LOCALE on a per-column basis, default to ASCII
|
||||||
@ -105,7 +113,9 @@ MULTI-LANGUAGE SUPPORT
|
|||||||
* Add octet_length_server() and octet_length_client() (Thomas, Tatsuo)
|
* Add octet_length_server() and octet_length_client() (Thomas, Tatsuo)
|
||||||
* Make octet_length_client the same as octet_length() (?)
|
* Make octet_length_client the same as octet_length() (?)
|
||||||
|
|
||||||
|
|
||||||
VIEWS / RULES
|
VIEWS / RULES
|
||||||
|
-------------
|
||||||
|
|
||||||
* Automatically create rules on views so they are updateable, per SQL92 [view]
|
* Automatically create rules on views so they are updateable, per SQL92 [view]
|
||||||
* Add the functionality for WITH CHECK OPTION clause of CREATE VIEW
|
* Add the functionality for WITH CHECK OPTION clause of CREATE VIEW
|
||||||
@ -115,7 +125,9 @@ VIEWS / RULES
|
|||||||
* Allow RULE recompilation
|
* Allow RULE recompilation
|
||||||
* Remove brackets as multi-statement rule grouping, must use parens
|
* Remove brackets as multi-statement rule grouping, must use parens
|
||||||
|
|
||||||
|
|
||||||
INDEXES
|
INDEXES
|
||||||
|
-------
|
||||||
|
|
||||||
* Allow CREATE INDEX zman_index ON test (date_trunc( 'day', zman ) datetime_ops)
|
* Allow CREATE INDEX zman_index ON test (date_trunc( 'day', zman ) datetime_ops)
|
||||||
fails index can't store constant parameters
|
fails index can't store constant parameters
|
||||||
@ -146,7 +158,9 @@ INDEXES
|
|||||||
* Improve concurrency in GIST
|
* Improve concurrency in GIST
|
||||||
* Add FILLFACTOR to index creation
|
* Add FILLFACTOR to index creation
|
||||||
|
|
||||||
|
|
||||||
COMMANDS
|
COMMANDS
|
||||||
|
--------
|
||||||
|
|
||||||
* Add SIMILAR TO to allow character classes, 'pg_[a-c]%'
|
* Add SIMILAR TO to allow character classes, 'pg_[a-c]%'
|
||||||
* Add BETWEEN ASYMMETRIC/SYMMETRIC
|
* Add BETWEEN ASYMMETRIC/SYMMETRIC
|
||||||
@ -219,7 +233,9 @@ COMMANDS
|
|||||||
o Add plsh server-side shell language (Peter E)
|
o Add plsh server-side shell language (Peter E)
|
||||||
o Allow Java server-side programming (?) [java]
|
o Allow Java server-side programming (?) [java]
|
||||||
|
|
||||||
|
|
||||||
CLIENTS
|
CLIENTS
|
||||||
|
-------
|
||||||
|
|
||||||
* Have pg_dump use LEFT OUTER JOIN in multi-table SELECTs
|
* Have pg_dump use LEFT OUTER JOIN in multi-table SELECTs
|
||||||
or multiple SELECTS to avoid bad system catalog entries
|
or multiple SELECTS to avoid bad system catalog entries
|
||||||
@ -254,7 +270,9 @@ CLIENTS
|
|||||||
o Add SQLSTATE
|
o Add SQLSTATE
|
||||||
o fix handling of DB attributes that are arrays
|
o fix handling of DB attributes that are arrays
|
||||||
|
|
||||||
|
|
||||||
REFERENTIAL INTEGRITY
|
REFERENTIAL INTEGRITY
|
||||||
|
---------------------
|
||||||
|
|
||||||
* Add MATCH PARTIAL referential integrity [foreign]
|
* Add MATCH PARTIAL referential integrity [foreign]
|
||||||
* Add deferred trigger queue file (Jan)
|
* Add deferred trigger queue file (Jan)
|
||||||
@ -267,7 +285,9 @@ REFERENTIAL INTEGRITY
|
|||||||
in array
|
in array
|
||||||
* Fix foreign key constraints to not error on intermediate db states (Stephan)
|
* Fix foreign key constraints to not error on intermediate db states (Stephan)
|
||||||
|
|
||||||
|
|
||||||
DEPENDENCY CHECKING
|
DEPENDENCY CHECKING
|
||||||
|
-------------------
|
||||||
|
|
||||||
* Add pg_depend table for dependency recording; use sysrelid, oid,
|
* Add pg_depend table for dependency recording; use sysrelid, oid,
|
||||||
depend_sysrelid, depend_oid, name
|
depend_sysrelid, depend_oid, name
|
||||||
@ -281,13 +301,17 @@ DEPENDENCY CHECKING
|
|||||||
* Make constraints clearer in dump file
|
* Make constraints clearer in dump file
|
||||||
* Make foreign keys easier to identify
|
* Make foreign keys easier to identify
|
||||||
|
|
||||||
|
|
||||||
TRANSACTIONS
|
TRANSACTIONS
|
||||||
|
------------
|
||||||
|
|
||||||
* Allow autocommit so always in a transaction block
|
* Allow autocommit so always in a transaction block
|
||||||
* Overhaul bufmgr/lockmgr/transaction manager
|
* Overhaul bufmgr/lockmgr/transaction manager
|
||||||
* Allow savepoints / nested transactions [transactions]
|
* Allow savepoints / nested transactions [transactions]
|
||||||
|
|
||||||
|
|
||||||
EXOTIC FEATURES
|
EXOTIC FEATURES
|
||||||
|
---------------
|
||||||
|
|
||||||
* Add sql3 recursive unions
|
* Add sql3 recursive unions
|
||||||
* Add the concept of dataspaces/tablespaces [tablespaces]
|
* Add the concept of dataspaces/tablespaces [tablespaces]
|
||||||
@ -300,17 +324,20 @@ EXOTIC FEATURES
|
|||||||
|
|
||||||
|
|
||||||
PERFORMANCE
|
PERFORMANCE
|
||||||
-----------
|
===========
|
||||||
|
|
||||||
|
|
||||||
FSYNC
|
FSYNC
|
||||||
|
-----
|
||||||
|
|
||||||
* Delay fsync() when other backends are about to commit too [fsync]
|
* Delay fsync() when other backends are about to commit too [fsync]
|
||||||
o Determine optimal commit_delay value
|
o Determine optimal commit_delay value
|
||||||
* Determine optimal fdatasync/fsync, O_SYNC/O_DSYNC options
|
* Determine optimal fdatasync/fsync, O_SYNC/O_DSYNC options
|
||||||
o Allow multiple blocks to be written to WAL with one write()
|
o Allow multiple blocks to be written to WAL with one write()
|
||||||
|
|
||||||
CACHE
|
|
||||||
|
|
||||||
|
CACHE
|
||||||
|
-----
|
||||||
* Cache most recent query plan(s) (Karel) [prepare]
|
* Cache most recent query plan(s) (Karel) [prepare]
|
||||||
* Shared catalog cache, reduce lseek()'s by caching table size in shared area
|
* Shared catalog cache, reduce lseek()'s by caching table size in shared area
|
||||||
* Add free-behind capability for large sequential scans (Bruce)
|
* Add free-behind capability for large sequential scans (Bruce)
|
||||||
@ -318,14 +345,18 @@ CACHE
|
|||||||
* Consider use of open/fcntl(O_DIRECT) to minimize OS caching
|
* Consider use of open/fcntl(O_DIRECT) to minimize OS caching
|
||||||
* Make blind writes go through the file descriptor cache
|
* Make blind writes go through the file descriptor cache
|
||||||
|
|
||||||
|
|
||||||
VACUUM
|
VACUUM
|
||||||
|
------
|
||||||
|
|
||||||
* Improve speed with indexes (perhaps recreate index instead) [vacuum]
|
* Improve speed with indexes (perhaps recreate index instead) [vacuum]
|
||||||
* Reduce lock time by moving tuples with read lock, then write
|
* Reduce lock time by moving tuples with read lock, then write
|
||||||
lock and truncate table [vacuum]
|
lock and truncate table [vacuum]
|
||||||
* Add LAZY VACUUM (Vadim) [performance]
|
* Add LAZY VACUUM (Vadim) [performance]
|
||||||
|
|
||||||
|
|
||||||
LOCKING
|
LOCKING
|
||||||
|
-------
|
||||||
|
|
||||||
* Make locking of shared data structures more fine-grained
|
* Make locking of shared data structures more fine-grained
|
||||||
* Add code to detect an SMP machine and handle spinlocks accordingly
|
* Add code to detect an SMP machine and handle spinlocks accordingly
|
||||||
@ -333,7 +364,9 @@ LOCKING
|
|||||||
in client/common/cpucheck.cpp
|
in client/common/cpucheck.cpp
|
||||||
* Research use of sched_yield() for spinlock acquisition failure
|
* Research use of sched_yield() for spinlock acquisition failure
|
||||||
|
|
||||||
|
|
||||||
STARTUP TIME
|
STARTUP TIME
|
||||||
|
------------
|
||||||
|
|
||||||
* Experiment with multi-threaded backend [thread]
|
* Experiment with multi-threaded backend [thread]
|
||||||
* Add connection pooling [pool]
|
* Add connection pooling [pool]
|
||||||
@ -343,8 +376,11 @@ STARTUP TIME
|
|||||||
* Do listen() in postmaster and accept() in pre-forked backend
|
* Do listen() in postmaster and accept() in pre-forked backend
|
||||||
* Have pre-forked backend pre-connect to last requested database or pass
|
* Have pre-forked backend pre-connect to last requested database or pass
|
||||||
file descriptor to backend pre-forked for matching database
|
file descriptor to backend pre-forked for matching database
|
||||||
|
* Cache system catalog information in per-database files (Tom)
|
||||||
|
|
||||||
|
|
||||||
WRITE-AHEAD LOG
|
WRITE-AHEAD LOG
|
||||||
|
---------------
|
||||||
|
|
||||||
* Have after-change WAL write()'s write only modified data to kernel
|
* Have after-change WAL write()'s write only modified data to kernel
|
||||||
* Reduce number of after-change WAL writes; they exist only to gaurd against
|
* Reduce number of after-change WAL writes; they exist only to gaurd against
|
||||||
@ -357,7 +393,9 @@ WRITE-AHEAD LOG
|
|||||||
* Add checkpoint_min_warning postgresql.conf option to warn about checkpoints
|
* Add checkpoint_min_warning postgresql.conf option to warn about checkpoints
|
||||||
that are too frequent
|
that are too frequent
|
||||||
|
|
||||||
|
|
||||||
OPTIMIZER / EXECUTOR
|
OPTIMIZER / EXECUTOR
|
||||||
|
--------------------
|
||||||
|
|
||||||
* Improve Subplan list handling
|
* Improve Subplan list handling
|
||||||
* Allow Subplans to use efficient joins(hash, merge) with upper variable
|
* Allow Subplans to use efficient joins(hash, merge) with upper variable
|
||||||
@ -373,7 +411,9 @@ OPTIMIZER/EXECUTOR
|
|||||||
* Missing optimizer selectivities for date, r-tree, etc. [optimizer]
|
* Missing optimizer selectivities for date, r-tree, etc. [optimizer]
|
||||||
* Allow ORDER BY ... LIMIT to select top values without sort or index
|
* Allow ORDER BY ... LIMIT to select top values without sort or index
|
||||||
|
|
||||||
|
|
||||||
MISCELLANEOUS
|
MISCELLANEOUS
|
||||||
|
-------------
|
||||||
|
|
||||||
* Do async I/O for faster random read-ahead of data
|
* Do async I/O for faster random read-ahead of data
|
||||||
* Get faster regex() code from Henry Spencer <henry@zoo.utoronto.ca>
|
* Get faster regex() code from Henry Spencer <henry@zoo.utoronto.ca>
|
||||||
@ -382,7 +422,8 @@ MISCELLANEOUS
|
|||||||
|
|
||||||
|
|
||||||
SOURCE CODE
|
SOURCE CODE
|
||||||
-----------
|
===========
|
||||||
|
|
||||||
* Add use of 'const' for variables in source tree
|
* Add use of 'const' for variables in source tree
|
||||||
* Fix problems with libpq non-blocking/async code [async]
|
* Fix problems with libpq non-blocking/async code [async]
|
||||||
* Make sure all block numbers are unsigned to increase maximum table size
|
* Make sure all block numbers are unsigned to increase maximum table size
|
||||||
|
Loading…
x
Reference in New Issue
Block a user