summaryrefslogtreecommitdiff
path: root/doc/TODO
diff options
context:
space:
mode:
Diffstat (limited to 'doc/TODO')
-rw-r--r--doc/TODO167
1 files changed, 107 insertions, 60 deletions
diff --git a/doc/TODO b/doc/TODO
index 168adf66a67..a007b38870b 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -1,13 +1,13 @@
TODO list for PostgreSQL
========================
-Last updated: Thu May 25 12:08:57 EDT 2000
+Last updated: Thu Nov 2 16:16:45 EST 2000
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
The most recent version of this document can be viewed at
the PostgreSQL web site, http://www.PostgreSQL.org.
-A dash(-) marks changes that will appear in the upcoming 7.0 release.
+A dash(-) marks changes that will appear in the upcoming 7.1 release.
Names in brackets "[]" indicate more detailed information is available in
the directory pgsql/doc/TODO.detail/ under that name.
@@ -20,23 +20,22 @@ PARSER
* SELECT pg_class FROM pg_class generates strange error
* Alter TABLE ADD COLUMN does not honor DEFAULT, add CONSTRAINT
-* Creating index of TIMESTAMP & RELTIME fails, or rename to DATETIME(Thomas)
-* SELECT foo UNION SELECT foo is incorrectly simplified to SELECT foo
+* -Creating index of TIMESTAMP & RELTIME fails, or rename to DATETIME(Thomas)
+* -SELECT foo UNION SELECT foo is incorrectly simplified to SELECT foo
* Unique index on base column not honored on inserts from inherited table
INSERT INTO inherit_table (unique_index_col) VALUES (dup) should fail
[inherit]
-* Be smarter about promoting types when UNION merges different data types
-* redesign INSERT ... SELECT to have two levels of target list
+* -Be smarter about promoting types when UNION merges different data types
+* -redesign INSERT ... SELECT to have two levels of target list
* have INTERSECT/EXCEPT prevent duplicates unless ALL is specified
-* SELECT DISTINCT ON col1 col1 col2 FROM tab1 is broken [distinct]
* SELECT col::DECIMAL(12,10); fails
VIEWS
-* Views containing aggregates sometimes fail(Jan)
+* -Views containing aggregates sometimes fail(Jan)
* Creating view and inheriting the view causes view* to show
duplicates(inherit)
-* Disallow LOCK on view
+* -Disallow LOCK on view(Mark Hollomon)
MISC
@@ -44,100 +43,132 @@ MISC
* Buffer reference counting bugfixes
* Fix libpq bug that causes it to drop backend error message sent
just before connection closure (ie, any FATAL error message)
-* SELECT ... UNION ... ORDER BY fails when sort expr not in result list
-* SELECT ... UNION ... GROUP BY fails if column types disagree, no type
+* -SELECT ... UNION ... ORDER BY fails when sort expr not in result list
+* -SELECT ... UNION ... GROUP BY fails if column types disagree, no type
promotion occurs
* Modification of pg_class can happen while table in use by
another backend. Might lead to MVCC inside of syscache
-* Permission to UPDATE table allows DELETE also
-* Some database schema's are not dumpable; do dumps in oid order
+* Permission to DELETE table allows UPDATE also
ENHANCEMENTS
------------
URGENT
-* Add OUTER joins, left and right[outer](Thomas, Bruce)
-* Allow long tuples by chaining or auto-storing outside db (TOAST)(Jan)
+* -Add OUTER joins, left and right[outer](Tom, Thomas)
+* -Allow long tuples by chaining or auto-storing outside db (TOAST)(Jan)
* Fix memory leak for expressions[memory](Tom?)
ADMIN
-* More access control over who can create tables and access the database
-* Test syslog functionality
+* More access control over who can create tables and use locks(Karel)
+* -Test syslog functionality
+* Convert remaining fprintf(stderr,...) to elog()
* Allow elog() to return error codes, not just messages
* Allow international error message support and add error codes
-* Add ability to specifiy location of lock/socket files [flock]
-* Unify configuration into one configuration file (Peter E)
-* use setproctitle() if it exists for 'ps' display of status
+* -Unify configuration into one configuration file (Peter E)
+* -use setproctitle() if it exists for 'ps' display of status
+* Prevent initdb from running wrong version of postmaster/postgres
TYPES
* 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 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
+* -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 -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
* Add IPv6 capability to INET/CIDR types
+* Fix improper masking of some inet/cidr types [cidr]
* Make a separate SERIAL type?
* Store binary-compatible type information in the system
* Add support for & operator
* Allow LOCALE on a per-column basis, default to ASCII
* Allow nulls in arrays
* Allow arrays to be ORDER'ed
+* Support construction of array result values in expressions
+* Change foreign key constraint for array -> element to mean element
+ in array
* Remove Money type, add money formatting for decimal type
* Declare typein/out functions in pg_proc with a special "C string" data type
* Add non-large-object binary field
* Functions returning sets don't really work right[function]
-* Add hash for int8
+* -Add hash for int8 (Tom)
* SELECT col FROM tab WHERE numeric_col = 10.1 fails
+* Get BIT type working
+* Allow better handling of numeric constants, type conversion [typeconv]
+* Support multiple simultaneous character sets, per SQL92
+* Reject character sequences those are not valid in their charset
+* Make functions more multi-byte aware, i.e. trim()
+* Make n of CHAR(n)/VARCHAR(n) the number of letters, not bytes
+* Update macaddr manufacturer numbers, or remove the function macaddr_manuf()
+* Add btree index support for reltime, tinterval, regproc, bit, varbit
+* Add rtree index support for line, lseg, path, point
VIEWS
-* Allow DISTINCT on views
-* Allow views of aggregate columns
-* Allow views with subselects
+* -Allow DISTINCT on views
+* -Allow views of aggregate columns
+* -Allow views with subselects
+* Create insert, update and delete rules for simple one table views
+* -Change elog for complex view ins|upd|del to "cannot {ins|upd|del}
+* Add the functionality for "with check option" clause of create view
INDEXES
* Allow CREATE INDEX zman_index ON test (date_trunc( 'day', zman ) datetime_ops)
fails index can't store constant parameters
-* Allow SQL function indexes
+* -Allow SQL function indexes
* Add FILLFACTOR to index creation
+* Re-enable partial indexes
+* Allow inherited tables to inherit index
COMMANDS
* ALTER TABLE ADD COLUMN to inherited table put column in wrong place [inherit]
-* Add ALTER TABLE DROP/ALTER COLUMN feature(Peter E)
-* Add ALTER TABLE command to change table ownership
+* -Add ALTER TABLE ALTER COLUMN feature(Peter E)
+* Add ALTER TABLE DROP COLUMN feature [drop]
+* Add ALTER TABLE command to change table ownership (Mark H)
+* Add ALTER FUNCTION
+* Add ALTER TABLE ... DROP CONSTRAINT
+* Add ALTER USER command to change user db attributes
+* Automatically drop constraints/functions when object is dropped
* Allow CLUSTER on all tables at once, and improve CLUSTER, loses NOT
NULL specification, indexes, permissions, etc on table
* Add SIMILAR TO to allow character classes, 'pg_[a-c]%'
* Auto-destroy sequence on DROP of table with SERIAL(Ryan)
-* Allow LOCK TABLE tab1, tab2, tab3 so all tables locked in unison
+* Allow LOCK TABLE tab1, tab2, tab3 so all tables locked in unison [lock]
* Allow INSERT/UPDATE of system-generated oid value for a row
-* Allow ESCAPE '\' at the end of LIKE for ANSI compliance [like]
+* -Allow ESCAPE '\' at the end of LIKE for ANSI compliance (Thomas)
* Rewrite the LIKE handling by rewriting the user string with the
supplied ESCAPE [like]
* Allow RULE recompilation
-* Support UNION/INTERSECT/EXCEPT in sub-selects
-* Allow DELETE and UPDATE to use inheritance using tablename*
+* -Support UNION/INTERSECT/EXCEPT in sub-selects
+* -Allow DELETE and UPDATE to use inheritance
* Allow INSERT INTO my_table VALUES (a, b, c, DEFAULT, x, y, z, ...)
* Allow BINARY option to SELECT, like we do with DECLARE
-
+* MOVE 0 should not move to end of cursor
+* Overhaul ACL (access control) code
+* Allow ORDER BY...LIMIT in INSERT INTO ... SELECT
+* Add SHOW command to display locks
+* Allow INSERT INTO tab (col1, ..) VALUES (val1, ..), (val2, ..)
+
CLIENTS
* Make NULL's come out at the beginning or end depending on the
ORDER BY direction
* Update reltuples from COPY command
+* Allow COPY to specify column names
* fix array handling for ECPG
* add pg_dump option to dump type names as standard ANSI types
+* -make pg_dump dump in oid order, so dependencies are resolved (Philip)
* allow psql \d to show primary and foreign keys
* allow psql \d to show temporary table schema
+* add XML interface capability
+* -Allow dumping of users/groups separately
REFERENTIAL INTEGRITY
@@ -149,14 +180,19 @@ REFERENTIAL INTEGRITY
* Propagate column or table renaming to foreign key constraints
* Emit a warning at foreign key creation time if no UNIQUE index
exists on referenced primary key attributes
+* Add deferred trigger queue file (Jan)
+* Allow oid to act as a foreign key
EXOTIC FEATURES
* Add sql3 recursive unions
-* Add the concept of dataspaces
-* Add replication of distributed databases
+* Add the concept of dataspaces/tablespaces [tablespaces]
+* Add replication of distributed databases [replication]
* Allow queries across multiple databases
* Allow nested transactions (Vadim)
+* Allow INSERT/UPDATE to return new.col or old.col (Philip)
+* SQL*Net listener that makes PostgreSQL appear as an Oracle database
+ to clients
MISC
@@ -174,38 +210,42 @@ MISC
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()
-* Put sort files, large objects in their own directory
+* Put sort files 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](Tom)
+* -Redesign the function call interface to handle NULLs better[function](Tom)
* Missing optimizer selectivities for date, r-tree, etc. [optimizer]
* Overhaul bufmgr/lockmgr/transaction manager
* Allow BLCKSZ <= 64k, not <= 32k
-* redesign UNION structures to have separarate target lists
-* Allow multi-level query trees for INSERT INTO ... SELECT
+* -redesign UNION structures to have separarate target lists
+* -Allow multi-level query trees for INSERT INTO ... SELECT
* Use IPC_EXCL when creating shared memory and semaphores
* have pg_upgrade use pg_ctl to stop/start postmaster
* Encrpyt passwords in pg_shadow table using MD5
+* Use flock() to prevent multiple postmasters on the same port [flock]
PERFORMANCE
-----------
-FSYNC
+-FSYNC
-* Allow transaction commits with rollback with no-fsync performance [fsync](Vadim)
+* -Allow transaction commits with rollback with no-fsync performance
+ (Vadim)
INDEXES
-* Use indexes in ORDER BY for min(), max()
+* Use indexes to find min() and max()
* Use index to restrict rows returned by multi-key index when used with
non-consecutive keys or OR clauses, so fewer heap accesses
* Allow SELECT * FROM tab WHERE int2col = 4 use int2col index, int8,
float4, numeric/decimal too [optimizer]
* Include heap CTID in btree index keys, remove equal-key cruft from btree
+* Use indexes with CIDR '<<' (contains) operator
+* Fix LIKE indexing optimization for non-ASCII locales
CACHE
-* Cache most recent query plan(s) [prepare]
+* Cache most recent query plan(s) (Karel) [prepare]
* Shared catalog cache, reduce lseek()'s by caching table size in shared area
MISC
@@ -220,27 +260,35 @@ MISC
* Improve Subplan list handling
* Allow Subplans to use efficient joins(hash, merge) with upper variable
[subquery]
-* use fmgr_info()/fmgr_faddr() instead of fmgr() calls in high-traffic
+* -use fmgr_info()/fmgr_faddr() instead of fmgr() calls in high-traffic
places, like GROUP BY, UNIQUE, index processing, etc.
* improve dynamic memory allocation by introducing tuple-context memory
allocation [memory]
-* In WHERE tab1.x=3 AND tab1.x=tab2.y, add tab2.y=3
+* -In WHERE tab1.x=3 AND tab1.x=tab2.y, add tab2.y=3
* Allow persistent backends [persistent]
* prevent labels from being output for stored rules (Tom)
* allow configuration of maximum number of open files
* Remove pg_listener index
-* Remove ANALYZE from VACUUM so it can be run separately without locks
-* Gather more accurate statistics using indexes
+* -Redesign ANALYZE in VACUUM so it can be run separately without locks
+* Make ANALYZE a separate command
+* Gather more accurate dispersion statistics using indexes
+* Keep statistics about clustering of table rows [optimizer]
+* Improve statistics storage in pg_class [performance]
+* Improve VACUUM speed with indexes [vacuum]
+* Reduce VACUUM lock time by moving tuples with read lock, then write
+ lock and truncate table [vacuum]
+* -BSD/OS does not support locale because there is no LC_MESSAGES (Bruce)
+* Add connection pooling [pool]
SOURCE CODE
-----------
* Add use of 'const' for variables in source tree
-* Fix C optimizer problem where fmgr_ptr calls return different types [alpha]
+* -Fix C optimizer problem where fmgr_ptr calls return different types (Tom)
* Does Mariposa source contain any other bug fixes?
* Remove SET KSQO option now that OR processing is improved(Tom)
-* Use macros to define NT open() file parameters, remove NT-specific defines
-* Change CURRENT to OLD internally for rules
-* rename pl/tcl to pl/pltcl
+* -Use macros to define NT open() file parameters, remove NT-specific defines
+* -Change CURRENT to OLD internally for rules (Bruce)
+* replace the use of fprint(stderr, ...) with elog() in backend code
---------------------------------------------------------------------------
@@ -262,6 +310,7 @@ Developers who have claimed items are:
* Michael is Michael Meskes <meskes@postgresql.org>
* Oleg is Oleg Bartunov <oleg@sai.msu.su>
* Peter is Peter T Mount <peter@retep.org.uk>
+ * Philip Warner <pjw@rhyme.com.au>
* Peter E is Peter Eisentraut<peter_e@gmx.net>
* Ryan is Ryan Bradetich <rbrad@hpb50023.boi.hp.com>
* Stefan Simkovics <ssimkovi@rainbow.studorg.tuwien.ac.at>
@@ -269,6 +318,4 @@ Developers who have claimed items are:
* Tom is Tom Lane <tgl@sss.pgh.pa.us>
* Thomas is Thomas Lockhart <lockhart@alumni.caltech.edu>
* TomH is Tom I Helbekkmo <tih@Hamartun.Priv.NO>
- * Vadim is "Vadim B. Mikheev" <vadim@krs.ru>
-
-
+ * Vadim is "Vadim B. Mikheev" <vadim4o@email.com>