From c35fedda791b6ce1eb7216d770fb08c5345a7259 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Mon, 27 Sep 1999 03:24:50 +0000 Subject: [PATCH] Update TODO list. --- doc/TODO | 85 +++++++++++++++++++++++++++++----------------------------------- 1 file changed, 38 insertions(+), 47 deletions(-) diff --git a/doc/TODO b/doc/TODO index 06316fd6fd..289f983364 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,6 +1,6 @@ TODO list for PostgreSQL ======================== -Last updated: Sun Sep 26 20:37:50 EDT 1999 +Last updated: Sun Sep 26 23:23:58 EDT 1999 Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us) @@ -9,6 +9,9 @@ the PostgreSQL web site, http://www.PostgreSQL.org. A dash(-) marks changes that will appear in the next release. +Names in brackets "[]" indicate more detailed information is available in +the directory pgsql/doc/TODO.detail/ under that name. + RELIABILITY ----------- @@ -27,8 +30,7 @@ PARSER * Alter TABLE ADD COLUMN does not honor DEFAULT, add CONSTRAINT * Do not allow bpchar column creation without length * Select a[1] FROM test fails, it needs test.a[1] -* -Array index references without table name cause problems - (see TODO.detail/array) +* -Array index references without table name cause problems [array] * Update table SET table.value = 3 fails * Creating index of TIMESTAMP & RELTIME fails, or rename to DATETIME(Thomas) * SELECT foo UNION SELECT foo is incorrectly simplified to SELECT foo @@ -37,21 +39,19 @@ PARSER * UNION with LIMIT fails * Unique index on base column not honored on inserts from inherited table INSERT INTO inherit_table (unique_index_col) VALUES (dup) should fail - (see TODO.detail/inherit) + [inherit] * CREATE TABLE x AS SELECT 1 UNION SELECT 2 fails * CREATE TABLE test(col char(2) DEFAULT user) fails in length restriction -* mismatched types in CREATE TABLE ... DEFAULT causes problems - (see TODO.detail/default) +* mismatched types in CREATE TABLE ... DEFAULT causes problems [default] * SELECT ... UNION ... ORDER BY fails when sort expr not in result list * Be smarter about promoting types when UNION merges different data types * SELECT ... UNION ... GROUP BY fails if column types disagree * redesign INSERT ... SELECT to have two levels of target list * -select * from pg_class where oid in (0,-1) * have INTERSECT/EXCEPT prevent duplicates unless ALL is specified -* prevent primary key of nine columns(see TODO.detail/primary) +* prevent primary key of nine columns [primary] * SELECT COUNT('asdf') FROM pg_class WHERE oid=12 crashes -* SELECT DISTINCT ON col1 col1 col2 FROM tab1 is broken - (see TODO.detail/distinct) +* SELECT DISTINCT ON col1 col1 col2 FROM tab1 is broken [distinct] VIEWS @@ -70,11 +70,11 @@ ENHANCEMENTS URGENT -* Add referential integrity(Jan?)(see TODO.detail/primary) -* Add OUTER joins, left and right(see TODO.detail/outer)(Thomas, Bruce) +* Add referential integrity(Jan?)[primary] +* Add OUTER joins, left and right[outer](Thomas, Bruce) * Allow long tuples by chaining or auto-storing outside db (chaining,large objs) * Eliminate limits on query length -* Fix memory leak for expressions?(see TODO.detail/memory)(Tom?) +* Fix memory leak for expressions?[memory](Tom?) * -Fix memory leak for aggregates? ADMIN @@ -84,9 +84,8 @@ ADMIN * Add syslog functionality * Allow elog() to return error codes, not just messages * Allow international error message support and add error codes -* Generate postmaster pid file and remove flock/fcntl lock code - (see TODO.detail/flock) -* Add ability to specifiy location of lock/socket files (see TODO.detail/flock) +* Generate postmaster pid file and remove flock/fcntl lock code [flock] +* Add ability to specifiy location of lock/socket files [flock] TYPES @@ -115,7 +114,7 @@ TYPES * Add non-large-object binary field * Add index on NUMERIC/DECIMAL type * Make Absolutetime/Relativetime int4 because time_t can be int8 on some ports -* Functions returning sets don't really work right(see TODO.detail/function) +* Functions returning sets don't really work right[function] VIEWS @@ -136,19 +135,18 @@ INDEXES COMMANDS -* ALTER TABLE ADD COLUMN to inherited table put column in wrong place - (see TODO.detail/inherit) +* ALTER TABLE ADD COLUMN to inherited table put column in wrong place [inherit] * Add ALTER TABLE DROP/ALTER COLUMN feature * Allow CLUSTER on all tables at once, and improve CLUSTER, loses NOT - NULL specification on table(see TODO.detail/cluster) + NULL specification on table [cluster] * Generate error on CREATE OPERATOR of ~~, ~ and and ~* * 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 INSERT/UPDATE of system-generated oid value for a row -* Allow ESCAPE '\' at the end of LIKE for ANSI compliance(see TODO.detail/like) +* Allow ESCAPE '\' at the end of LIKE for ANSI compliance [like] * Rewrite the LIKE handling by rewriting the user string with the - supplied ESCAPE(see TODO.detail/like) + supplied ESCAPE [like] * Move LIKE index optimization handling to the optimizer * Allow RULE recompilation * Support UNION/INTERSECT/EXCEPT in sub-selects @@ -161,7 +159,7 @@ CLIENTS * Update reltuples from COPY command * Allow psql \copy to allow delimiters * Add a function to return the last inserted oid, for use in psql scripts -* Allow psql to print nulls as distinct from ""(see TODO.detail/null) +* Allow psql to print nulls as distinct from "" [null] * PQrequestCancel() be able to terminate backend waiting for lock EXOTIC FEATURES @@ -185,19 +183,16 @@ MISC * Allow cursors to be DECLAREd/OPENed/CLOSEed outside transactions * Allow PQrequestCancel() to terminate when in waiting-for-lock state * -Transaction log, so re-do log can be on a separate disk by - with after-row images(Vadim) (see TODO.detail/logging) + with after-row images(Vadim) [logging] * Populate backend status area and write program to dump status data * Make oid use unsigned int more reliably, pg_atoi() * Allow subqueries in target list * Put sort files, large objects in their own directory * Do autocommit so always in a transaction block(?) -* Show location of syntax error in query (see TODO.detail/yacc) -* Redesign the function call interface to handle NULLs better - (see TODO.detail/function) -* Document/trigger/rule so changes to pg_shadow recreate pg_pwd - (see TODO.detail/pg_shadow) -* Missing optimizer selectivities for date, r-tree, etc. - (see TODO.detail/optimizer) +* Show location of syntax error in query [yacc] +* Redesign the function call interface to handle NULLs better [function] +* Document/trigger/rule so changes to pg_shadow recreate pg_pwd [pg_shadow] +* Missing optimizer selectivities for date, r-tree, etc. [optimizer] * Overhaul mdmgr/smgr to fix double unlinking and double opens, cleanup * Overhaul bufmgr/lockmgr/transaction manager * Add PL/Perl(Mark Hollomon) @@ -212,8 +207,7 @@ PERFORMANCE FSYNC -* -Allow transaction commits with rollback with no-fsync performance - (see TODO.detail/fsync) +* -Allow transaction commits with rollback with no-fsync performance [fsync] * -Prevent fsync in SELECT-only queries INDEXES @@ -224,23 +218,21 @@ INDEXES non-consecutive keys or OR clauses, so fewer heap accesses * Convert function(constant) into a constant for index use * Allow LIMIT ability on single-table queries that have no ORDER BY to use - a matching index(see TODO.detail/limit) -* Improve LIMIT processing by using index to limit rows processed - (see TODO.detail/limit) -* Have optimizer take LIMIT into account when considering index scans - (see TODO.detail/limit) + a matching index [limit] +* Improve LIMIT processing by using index to limit rows processed [limit] +* Have optimizer take LIMIT into account when considering index scans [limit] * Make index creation use psort code, because it is now faster(Vadim) * Allow creation of sort temp tables > 1 Gig * Create more system table indexes for faster cache lookups * fix indexscan() so it does leak memory by not requiring caller to free * Improve _bt_binsrch() to handle equal keys better, remove _bt_firsteq()(Tom) -* Allow SELECT * FROM tab WHERE int2col = 4 use int2col index - (see TODO.detail/optimizer) +* Allow SELECT * FROM tab WHERE int2col = 4 use int2col index, int8 too + [optimizer] * Allow optimizer to prefer plans that match ORDER BY CACHE -* Cache most recent query plan(s)(see TODO.detail/prepare) +* Cache most recent query plan(s) [prepare] * Shared catalog cache, reduce lseek()'s by caching table size in shared area * elog() flushes cache, try invalidating just entries from current xact, perhaps using invalidation cache @@ -252,7 +244,7 @@ MISC * Update pg_statistic table to remove operator column * Allow char() not to use variable-sized header to reduce disk size * Do async I/O to do better read-ahead of data -* -Fix memory exhaustion when using many OR's(see TODO.detail/cnfify) +* -Fix memory exhaustion when using many OR's [cnfify] * Get faster regex() code from Henry Spencer when it is available * Use mmap() rather than SYSV shared memory(?) @@ -263,20 +255,19 @@ MISC * 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(see TODO.detail/memory) + allocation [memory] * fix memory leak in cache code when non-existant table is referenced * In WHERE tab1.x=3 AND tab1.x=tab2.y, add tab2.y=3 -* pass atttypmod through parser in more cases(see TODO.detail/atttypmod) +* pass atttypmod through parser in more cases [atttypmod] * remove duplicate type in/out functions for disk and net * change VACUUM ANALYZE to use btree comparison functions, not <,=,> calls -* Allow persistent backends(see TODO.detail/persistent) -* Misc(see TODO.detail/performance) +* Allow persistent backends [persistent] +* Misc [performance] SOURCE CODE ----------- * Add use of 'const' for varibles in source tree -* Fix C optimizer problem where fmgr_ptr calls return different types - (see TODO.detail/alpha) +* Fix C optimizer problem where fmgr_ptr calls return different types [alpha] * -Add needed includes and removed unneeded include files(Bruce) * Make configure --enable-debug add -g on compile line * Does Mariposa source contain any other bug fixes? -- 2.11.0