11TODO list for PostgreSQL
22========================
3- Last updated:Sat Feb 28 10: 00:29 EST 1998
3+ Last updated:Sun Mar 1 00:18:59 EST 1998
44
55Current maintainer:Bruce Momjian (maillist@candle.pha.pa.us)
66
@@ -62,24 +62,17 @@ RELIABILITY
6262-----------
6363* Overhaul mdmgr/smgr to fix double unlinking and double opens, cleanup
6464* Overhaul bufmgr/lockmgr/transaction manager
65- * -Fix CLUSTER
6665* Remove EXTEND?
67- * -Aggregates on VIEW always returns zero (maybe because there is no oid for views?)
6866* CREATE VIEW requires super-user priviledge
6967* Can lo_export()/lo_import() read/write anywhere, causing a security problem?
7068* Tables that start with xinv confused to be large objects
7169* Two and three dimmensional arrays display improperly, missing {}
72- *-Add GROUP BYto INSERT INTO table SELECT * FROM table2
70+ * GROUP BYin INSERT INTO table SELECT * FROM table2 fails
7371* lo_unlink() crashes server
7472* Prevent auto-table reference, like SELECT table.col WHERE col = 3 (?)
75- * -Remove un-needed malloc() calls and replace with palloc().
7673* SELECT * FROM table WHERE int4_column = '1' fails
7774* SELECT a[1] FROM test fails, it needs test.a[1]
78- * -SELECT COUNT(*) FROM TAB1, TAB2 fails
79- * -SELECT SUM(2+2) FROM table dumps core
8075* UPDATE table SET table.value = 3 fails
81- * -UPDATE key_table SET keyval=count(reftab.num) fails
82- * -INSERT INTO ... SELECT DISTINCT ... does not accept DISTINCT
8376* Make pg_dump preserve inheritance column order, do non-inherits first
8477* User who can create databases can modify pg_database table
8578* optimizer memory exhaustion with many OR's
@@ -88,20 +81,14 @@ RELIABILITY
8881ENHANCEMENTS
8982------------
9083* Replace table-level locking with row or page-level locking(Vadim)
91- * -PRIMARY KEY during table creation(Thomas)
9284* Add SERIAL type
93- * -Preserve GRANT/REVOKE/pg_group in pg_dump
9485* Transaction log, so re-do log can be on a separate disk
9586* Allow transaction commits with rollback with no-fsync performance
9687* More access control over who can create tables and access the database
9788* Add full ANSI SQL capabilities
98- * -add subselects(Vadim)
9989* Implement HAVING clause
100- * -Implement EXISTS qualifier
101- * -report "Not implemented" if valid syntax is supplied
10290* add OUTER joins, left and right (Thomas)
10391* make VIEWs updateable where possible
104- * -add UNIONS(Bruce)
10592* add INTERSECTS, SUBTRACTS
10693* add temporary tables(Bruce)
10794* add sql3 recursive unions
@@ -116,8 +103,6 @@ ENHANCEMENTS
116103* Full set of text operations and functions
117104* word searches, concat,max() on text, char
118105* Large objects
119- * -overwriting blocks has problems(Peter)
120- * -there are other problems, too.(Peter)
121106* Fix large object mapping scheme, own reltype
122107* not to stuff everything as files in a single directory
123108* Better interface for adding to pg_group
@@ -126,13 +111,6 @@ ENHANCEMENTS
126111* Threaded version of the server or libpq
127112* Allow libpq to cancel query requests
128113* Add REGEX internationalization
129- * -Add other language types for built-in functions
130- * expand to allow tcl, perl, java
131- * generalize the function manager switch to pass
132- * function sources to interpreter engines.
133- * -remove time-travel feature(Vadim)
134- * -reduce system column overhead(Vadmin)
135- * -remove pg_time table(Vadim)
136114* allow row re-use without vacuum, maybe?(Vadim)
137115* Remove restriction that ORDER BY field must be in SELECT list
138116* Add word index for text fields, maybe with trigrams, i.e.:
@@ -142,29 +120,19 @@ ENHANCEMENTS
142120* Allow INSERT INTO ... SELECT to convert column types
143121* Add syslog functionality(Marc)
144122* Add STDDEV/VARIANCE() function for standard deviation computation/variance
145- * -Add table/column/function discription table indexed by oid
146- * -add pg_type attribute to identify types that need length (bpchar, varchar)
147123* add UNIQUE capability to non-btree indexes
148124* make number of backends a config parameter, storage/sinvaladt.h:MaxBackendId
149125* certain indexes will not shrink, i.e. oid indexes with many inserts
150126* make NULL's come out at the beginning or end depending on the ORDER BY direction
151127* change the library/backend interface to use network byte order
152- * -allow unix domain sockets for local connections for performance and security
153- * -Add PAGER for psql's \dt, \d, \z tablename
154- * -Make timezone set-able by client applications(Thomas)
155128* Restore unused oid's on backend exit if no one else has gotten oids
156129* remove non-standard types from the system, and make them loadable
157- * -make reads queue behind a write waiting for a lock(Bruce)
158- * -add LOCK statement(Bruce)
159- * -add report of offending line when COPY command fails
160130* have UPDATE/DELETE clean out indexes
161- * -allow varchar() to only store used bytes, not maximum
162131* allow WHERE restriction on ctid
163132* allow pg_descriptions when creating types, tables, columns, and functions
164133* Fix compile and security of Kerberos/GSSAPI code
165134* Allow psql to print nulls as distinct from ""(?)
166135* Allow variable casts with BETWEEN 'today'::asbtime AND 'today'::abstime
167- * -Allow VIEW permissions to be set separately from the underlying tables
168136* Allow INSERT INTO ... SELECT ... FROM view to work
169137* Allow text, char(), and varchar() overhead to be only 2 bytes, not 4 bytes
170138* Make VACUUM on database not lock pg_class
@@ -180,7 +148,6 @@ ENHANCEMENTS
180148PERFORMANCE
181149-----------
182150* Use indexes in ORDER BY, min(), max()(Costin Oproiu)
183- * -Allow LIKE/wildcard matches to use indexes if the wildcard character is not first
184151* Optimizing disjunctive queries
185152* Fix bushy-plans (Martin)
186153* Other optimizer bugs
@@ -380,7 +347,6 @@ New frontend/backend protocol has a version number, network byte order(Phil)
380347Security features in pg_hba.conf enhanced and documented, many cleanups(Phil)
381348CHAR() now faster access than VARCHAR() or TEXT
382349ecpg embedded SQL preprocessor
383- Add GROUP BY to INSERT INTO table SELECT * FROM table2
384350Reduce system column overhead(Vadmin)
385351Remove pg_time table(Vadim)
386352Add pg_type attribute to identify types that need length (bpchar, varchar)
@@ -389,6 +355,7 @@ Allow VIEW permissions to be set separately from the underlying tables.
389355For security, use GRANT/REVOKE on views as appropriate(Jan)
390356Tables now have no default GRANT SELECT TO PUBLIC. You must
391357explicitly grant such permissions.
358+ Clean up tutorial examples(Darren)
392359
393360Source Tree Changes
394361-------------------