Skip to content
Snippets Groups Projects
Commit 61b544fc authored by Bruce Momjian's avatar Bruce Momjian
Browse files

Remove ENHANCEMENTS section, move subsections up.

parent 03296fc9
Branches
Tags
No related merge requests found
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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment