Commit 61b544fc authored by Bruce Momjian's avatar Bruce Momjian

Remove ENHANCEMENTS section, move subsections up.

parent 03296fc9
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. ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment