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