Skip to content

Commit 06385cc

Browse files
committed
Update TODO.
1 parent 1b812d9 commit 06385cc

File tree

2 files changed

+115
-90
lines changed

2 files changed

+115
-90
lines changed

doc/TODO

Lines changed: 114 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
TODO list for PostgreSQL
22
========================
3-
Last updated: Fri Jun 4 23:16:01 EDT 1999
3+
Last updated: Sun Jun 6 22:08:59 EDT 1999
44

55
Current maintainer: Bruce Momjian (maillist@candle.pha.pa.us)
66

@@ -19,6 +19,7 @@ Developers who have claimed items are:
1919
* David is David Hartwig <daveh@insightdist.com>
2020
* Edmund is Edmund Mergl <E.Mergl@bawue.de>
2121
* Goran is Goran Thyni <goran@kyla.kiruna.se>
22+
* Hiroshi is Hiroshi Inoue<Inoue@tpf.co.jp>
2223
* Jan is Jan Wieck <wieck@sapserv.debis.de>
2324
* Marc is Marc Fournier <scrappy@hub.org>
2425
* Massimo Dal Zotto <dz@cs.unitn.it>
@@ -33,137 +34,160 @@ Developers who have claimed items are:
3334

3435
* Vadim is "Vadim B. Mikheev" <vadim@krs.ru>
3536

37+
3638
RELIABILITY
3739
-----------
3840
* Overhaul mdmgr/smgr to fix double unlinking and double opens, cleanup
3941
* Overhaul bufmgr/lockmgr/transaction manager
4042
* Remove EXTEND?
4143
* Tables that start with xinv confused to be large objects
4244
* Two and three dimensional arrays display improperly, missing {}
43-
* SELECT a[1] FROM test fails, it needs test.a[1]
44-
* UPDATE table SET table.value = 3 fails
45+
* Select a[1] FROM test fails, it needs test.a[1]
46+
* Update table SET table.value = 3 fails
4547
* User who can create databases can modify pg_database table
46-
* elog() does not free all its memory(Jan)
47-
* views on subselects fail
48-
* disallow inherited columns with the same name as new columns
49-
* recover or force failure when disk space is exhausted
50-
* views containing aggregates sometimes fail(Jan)
51-
* ALTER TABLE ADD COLUMN does not honor DEFAULT, add CONSTRAINT
52-
* array index references without table name cause problems
53-
* views with spaces in view name fail when referenced
54-
* plpgsql does not handle quoted mixed-case identifiers
55-
* do not allow bpchar column creation without length
48+
* Elog() does not free all its memory(Jan)
49+
* Disallow inherited columns with the same name as new columns
50+
* Recover or force failure when disk space is exhausted
51+
* Views containing aggregates sometimes fail(Jan)
52+
* Alter TABLE ADD COLUMN does not honor DEFAULT, add CONSTRAINT
53+
* Array index references without table name cause problems
54+
* Views with spaces in view name fail when referenced
55+
* Plpgsql does not handle quoted mixed-case identifiers
56+
* Do not allow bpchar column creation without length
5657
* INSERT INTO ... SELECT with AS columns matching result columns problem
5758

5859

5960
ENHANCEMENTS
6061
------------
61-
* Transaction log, so re-do log can be on a separate disk
62-
* Allow transaction commits with rollback with no-fsync performance
62+
* Add referential integrity
63+
* Add OUTER joins, left and right(Thomas)
64+
* Allow long tuples by chaining or auto-storing outside db (chaining,large objs)
65+
* Fix memory leak for expressions?, aggregates?
66+
67+
Exotic features:
68+
* Add sql3 recursive unions
69+
* Add the concept of dataspaces
70+
* Add replication of distributed databases
71+
* Allow queries across multiple databases
72+
73+
Admin:
74+
* Better interface for adding to pg_group
6375
* More access control over who can create tables and access the database
64-
* Add full ANSI SQL capabilities
65-
* add OUTER joins, left and right(Thomas)
66-
* add sql3 recursive unions
67-
* add the concept of dataspaces
68-
* add BIT, BIT VARYING
69-
* NCHAR (as distinguished from ordinary varchar),
70-
* DOMAIN capability
76+
* Add syslog functionality
77+
* Allow elog() to return error codes, not just messages
78+
* Allow international error message support and add error codes
79+
* Generate postmaster pid file and remove flock/fcntl lock code
80+
* Add ability to specifiy location of lock/socket files
81+
82+
Types:
83+
* Add BIT, BIT VARYING
84+
* Nchar (as distinguished from ordinary varchar),
85+
* Domain capability
86+
* Add STDDEV/VARIANCE() function for standard deviation computation/variance
7187
* Allow compression of large fields or a compressed field type
7288
* Large objects
7389
* Fix large object mapping scheme, own typeid or reltype(Peter)
7490
* Allow large text type to use large objects(Peter)
75-
* not to stuff everything as files in a single directory
76-
* Better interface for adding to pg_group
77-
* allow row re-use without vacuum, maybe?(Vadim)
78-
* Populate backend status area and write program to dump status data
79-
* Add ALTER TABLE DROP/ALTER COLUMN feature
80-
* Add syslog functionality
81-
* Add STDDEV/VARIANCE() function for standard deviation computation/variance
82-
* add UNIQUE capability to non-btree indexes
83-
* certain indexes will not shrink, i.e. oid indexes with many inserts
84-
* make NULL's come out at the beginning or end depending on the ORDER BY direction
85-
* Restore unused oid's on backend exit if no one else has gotten oids
86-
* have UPDATE/DELETE clean out indexes
87-
* allow WHERE restriction on ctid
88-
* allow pg_descriptions when creating types, tables, columns, and functions
89-
* Allow psql to print nulls as distinct from ""(?)
90-
* Allow cursors to be DECLAREd/OPENed/CLOSEed outside transactions
91+
* Not to stuff everything as files in a single directory
92+
* Allow pg_descriptions when creating types, tables, columns, and functions
93+
* Add IPv6 capability to INET/CIDR types
94+
* Make a separate SERIAL type?
95+
* Store binary-compatible type information in the system
96+
* Allow user to define char1 column
97+
* Add support for & operator
98+
99+
Views:
91100
* Allow DISTINCT on views
92101
* Allow views of aggregate columns
93-
* Allow flag to control COPY input/output of NULLs
94-
* Allow CLUSTER on all tables at once, and improve CLUSTER
95-
* Allow elog() to return error codes, not just messages
96-
* allow international error message support and add error codes
102+
* Allow views with subselects
103+
97104
* Allow subqueries in target list
98-
* Allow queries across multiple databases
99-
* Add replication of distributed databases
105+
* Put sort files, large objects in their on directory
106+
* Do autocommit so always in a transaction block
107+
* Show location of syntax error in query
108+
* Redesign the function call interface to handle NULLs better(Jan)
109+
* Document/trigger/rule so changes to pg_shadow create pg_pwd
110+
* Missing optimizer selectivities for date, etc.
111+
112+
Indexes:
113+
* Allow CREATE INDEX zman_index ON test (date_trunc( 'day', zman ) datetime_ops)
114+
fails index can't store constant parameters
115+
* Allow creation of functional indexes to use default types
116+
* Permissions on indexes - prevent them?
117+
* Allow SQL function indexes
118+
* Add FILLFACTOR to index creation
119+
120+
Commands:
121+
* ALTER TABLE ADD COLUMN to inherited table put column in wrong place
122+
* Add ALTER TABLE DROP/ALTER COLUMN feature
123+
* Allow CLUSTER on all tables at once, and improve CLUSTER
100124
* Generate error on CREATE OPERATOR of ~~, ~ and and ~*
101-
* allow psql \copy to allow delimiters
102-
* add a function to return the last inserted oid, for use in psql scripts
103-
* allow creation of functional indexes to use default types
104-
* put sort files, large objects in their on directory
105-
* do autocommit so always in a transaction block
106-
* add SIMILAR TO to allow character classes, 'pg_[a-c]%'
107-
* improve reporting of syntax errors by showing location of error in query
108-
* allow chaining of pages to allow >8k tuples, auto-large object use
109-
* redesign the function call interface to handle NULLs better(Jan)
110-
* permissions on indexes - prevent them?
111-
* document/trigger/rule so changes to pg_shadow create pg_pwd
112-
* generate postmaster pid file and remove flock/fcntl lock code
113-
* add ability to specifiy location of lock/socket files
114-
* auto-destroy sequence on DROP of table with SERIAL
115-
* make a separate serial type?
116-
* allow user to define char1 column
117-
* allow LOCK TABLE tab1, tab2, tab3 so all tables locked in unison
118-
* allow INSERT/UPDATE of system-generated oid value for a row
119-
* missing optimizer selectivities for date, etc.
120-
* Add support for & operator
121-
* store binary-compatible type information in the system
125+
* Add SIMILAR TO to allow character classes, 'pg_[a-c]%'
126+
* Auto-destroy sequence on DROP of table with SERIAL
127+
* Allow LOCK TABLE tab1, tab2, tab3 so all tables locked in unison
128+
* Allow INSERT/UPDATE of system-generated oid value for a row
122129
* Allow ESCAPE '\' at the end of LIKE for ANSI compliance
123-
* rewrite the LIKE handling by rewriting the user string with the
130+
* Rewrite the LIKE handling by rewriting the user string with the
124131
supplied ESCAPE
125-
* Fix memory leak for expressions?, aggregates?
126-
* Allow Subplans to use efficient joins(hash, merge) with upper variable
132+
* Move LIKE index optimization handling to the optimizer
133+
134+
Clients:
135+
* Make NULL's come out at the beginning or end depending on the
136+
ORDER BY direction
137+
* Allow flag to control COPY input/output of NULLs
127138
* Update reltuples from COPY command
128-
* Allow CREATE INDEX zman_index ON test (date_trunc( 'day', zman ) datetime_ops)
129-
fails index can't store constant parameters
130-
* allow SQL function indexes
131-
* ALTER TABLE ADD COLUMN to inherited table put column in wrong place
132-
* Add IPv6 capability to INET/CIDR types
133-
* Allow PQrequestCancel() to terminate when in waiting-for-lock state
139+
* Allow psql \copy to allow delimiters
140+
* Add a function to return the last inserted oid, for use in psql scripts
141+
* Allow psql to print nulls as distinct from ""(?)
142+
134143
* Increase identifier length(NAMEDATALEN) if small performance hit
135-
* Fix for long table/column name auto-sequence serial name
144+
* Allow row re-use without vacuum, maybe?(Vadim)
145+
* Add UNIQUE capability to non-btree indexes
146+
* Certain indexes will not shrink, i.e. oid indexes with many inserts
147+
* Restore unused oid's on backend exit if no one else has gotten oids
148+
* Have UPDATE/DELETE clean out indexes
149+
* Allow WHERE restriction on ctid
150+
* Allow cursors to be DECLAREd/OPENed/CLOSEed outside transactions
151+
* Allow PQrequestCancel() to terminate when in waiting-for-lock state
152+
* Transaction log, so re-do log can be on a separate disk
153+
* Populate backend status area and write program to dump status data
154+
* Make oid use unsigned int more reliably, pg_atoi()
155+
156+
* Add PL/Perl(Mark Hollomon)
136157

137158

138159
PERFORMANCE
139160
-----------
161+
* Allow transaction commits with rollback with no-fsync performance
162+
* Prevent fsync in SELECT-only queries
163+
140164
* Use indexes in ORDER BY for restrictive data sets, min(), max()
165+
* Pull requested data directly from indexes, bypassing heap data
166+
* Use index to restrict rows returned by multi-key index when used with
167+
non-consecutive keys or OR clauses, so fewer heap accesses
168+
* Use index with constants on functions
169+
141170
* Allow LIMIT ability on single-table queries that have no ORDER BY to use
142171
a matching index
143-
* Pull requested data directly from indexes, bypassing heap data
144-
* Prevent fsync in SELECT-only queries
172+
* Improve LIMIT processing by using index to limit rows processed
173+
145174
* Cache most recent query plan(s?)
146175
* Shared catalog cache, reduce lseek()'s by caching table size in shared area
176+
147177
* Allow compression of log and meta data
148-
* Add FILLFACTOR to index creation
149-
* update pg_statistic table to remove operator column
150-
* make index creation use psort code, because it is now faster(Vadim)
178+
* Update pg_statistic table to remove operator column
179+
* Make index creation use psort code, because it is now faster(Vadim)
151180
* Allow char() not to use variable-sized header to reduce disk size
152181
* Do async I/O to do better read-ahead of data
153182
* Fix memory exhaustion when using many OR's
154183
* Get faster regex() code from Henry Spencer <henry@zoo.utoronto.ca>
155184
when it is available
156-
* use mmap() rather than SYSV shared memory(?)
157-
* use index to restrict rows returned by multi-key index when used with
158-
non-consecutive keys or OR clauses, so fewer heap accesses
159-
* use index with constants on functions
160-
* process const = const parts of OR clause in separate pass
161-
* make oid use oidin/oidout not int4in/int4out in pg_type.h
162-
* make oid use unsigned int more reliably, pg_atoi()
163-
* create more system table indexes for faster cache lookups
164-
* Move LIKE index optimization handling to the optimizer
165-
* Improve LIMIT processing by using index to limit rows processed
185+
* Use mmap() rather than SYSV shared memory(?)
186+
* Process const = const parts of OR clause in separate pass
187+
* Make oid use oidin/oidout not int4in/int4out in pg_type.h
188+
* Create more system table indexes for faster cache lookups
166189
* Improve Subplan list handling
190+
* Allow Subplans to use efficient joins(hash, merge) with upper variable
167191

168192

169193
DOCUMENTATION

doc/src/sgml/release.sgml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,7 @@ Fix for aggregates on array indexes(Tom)
282282
Fix for DEFAULT handles single quotes in value requiring too many quotes
283283
Fix security problem with non-super users importing/exporting large objects(Tom)
284284
Rollback of transaction that creates table cleaned up properly(Tom)
285+
Fix to allow long table and column names to generate proper serial names(Tom)
285286

286287
Enhancements
287288
------------

0 commit comments

Comments
 (0)