11TODO list for PostgreSQL
22========================
3- Last updated:Mon Oct 2318:15:18 EDT 2000
3+ Last updated:Mon Oct 2321:59:07 EDT 2000
44
55Current maintainer:Bruce Momjian (pgman@candle.pha.pa.us)
66
@@ -21,18 +21,18 @@ PARSER
2121* SELECT pg_class FROM pg_class generates strange error
2222* Alter TABLE ADD COLUMN does not honor DEFAULT, add CONSTRAINT
2323* -Creating index of TIMESTAMP & RELTIME fails, or rename to DATETIME(Thomas)
24- * SELECT foo UNION SELECT foo is incorrectly simplified to SELECT foo
24+ *- SELECT foo UNION SELECT foo is incorrectly simplified to SELECT foo
2525* Unique index on base column not honored on inserts from inherited table
2626 INSERT INTO inherit_table (unique_index_col) VALUES (dup) should fail
2727 [inherit]
28- * Be smarter about promoting types when UNION merges different data types
29- * redesign INSERT ... SELECT to have two levels of target list
28+ *- Be smarter about promoting types when UNION merges different data types
29+ *- redesign INSERT ... SELECT to have two levels of target list
3030* have INTERSECT/EXCEPT prevent duplicates unless ALL is specified
3131* SELECT col::DECIMAL(12,10); fails
3232
3333VIEWS
3434
35- * Views containing aggregates sometimes fail(Jan)
35+ *- Views containing aggregates sometimes fail(Jan)
3636* Creating view and inheriting the view causes view* to show
3737 duplicates(inherit)
3838* -Disallow LOCK on view(Mark Hollomon)
4343* Buffer reference counting bugfixes
4444* Fix libpq bug that causes it to drop backend error message sent
4545 just before connection closure (ie, any FATAL error message)
46- * SELECT ... UNION ... ORDER BY fails when sort expr not in result list
47- * SELECT ... UNION ... GROUP BY fails if column types disagree, no type
46+ *- SELECT ... UNION ... ORDER BY fails when sort expr not in result list
47+ *- SELECT ... UNION ... GROUP BY fails if column types disagree, no type
4848 promotion occurs
4949* Modification of pg_class can happen while table in use by
5050 another backend. Might lead to MVCC inside of syscache
@@ -56,7 +56,7 @@ ENHANCEMENTS
5656URGENT
5757
5858* -Add OUTER joins, left and right[outer](Tom, Thomas)
59- * Allow long tuples by chaining or auto-storing outside db (TOAST)(Jan)
59+ *- Allow long tuples by chaining or auto-storing outside db (TOAST)(Jan)
6060* Fix memory leak for expressions[memory](Tom?)
6161
6262ADMIN
@@ -74,12 +74,12 @@ TYPES
7474* Nchar (as distinguished from ordinary varchar),
7575* Domain capability
7676* -Add STDDEV/VARIANCE() function for standard deviation computation/variance
77- * Allow compression of large fields or a compressed field type
78- * Large objects
79- o Fix large object mapping scheme, own typeid or reltype(Peter)
80- o Not to stuff everything as files in a single directory, hash dirs
81- o Allow large object vacuuming
82- o Tables that start with xinv confused to be large objects
77+ *- Allow compression of large fields or a compressed field type
78+ *- Large objects
79+ o- Fix large object mapping scheme, own typeid or reltype(Peter)
80+ o- Not to stuff everything as files in a single directory, hash dirs
81+ o- Allow large object vacuuming
82+ o- Tables that start with xinv confused to be large objects
8383* Add IPv6 capability to INET/CIDR types
8484* Fix improper masking of some inet/cidr types [cidr]
8585* Make a separate SERIAL type?
@@ -109,9 +109,9 @@ TYPES
109109
110110VIEWS
111111
112- * Allow DISTINCT on views
113- * Allow views of aggregate columns
114- * Allow views with subselects
112+ *- Allow DISTINCT on views
113+ *- Allow views of aggregate columns
114+ *- Allow views with subselects
115115* Create insert, update and delete rules for simple one table views
116116* -Change elog for complex view ins|upd|del to "cannot {ins|upd|del}
117117* Add the functionality for "with check option" clause of create view
@@ -145,7 +145,7 @@ COMMANDS
145145* Rewrite the LIKE handling by rewriting the user string with the
146146 supplied ESCAPE [like]
147147* Allow RULE recompilation
148- * Support UNION/INTERSECT/EXCEPT in sub-selects
148+ *- Support UNION/INTERSECT/EXCEPT in sub-selects
149149* -Allow DELETE and UPDATE to use inheritance
150150* Allow INSERT INTO my_table VALUES (a, b, c, DEFAULT, x, y, z, ...)
151151* Allow BINARY option to SELECT, like we do with DECLARE
@@ -208,15 +208,15 @@ MISC
208208 with after-row images(Vadim) [logging](Vadim)(in-progress)
209209* Populate backend status area and write program to dump status data
210210* Make oid use unsigned int more reliably, pg_atoi()
211- * Put sort files, large objects in their own directory
211+ * Put sort files in their own directory
212212* Do autocommit so always in a transaction block(?)
213213* Show location of syntax error in query [yacc]
214- * Redesign the function call interface to handle NULLs better[function](Tom)
214+ *- Redesign the function call interface to handle NULLs better[function](Tom)
215215* Missing optimizer selectivities for date, r-tree, etc. [optimizer]
216216* Overhaul bufmgr/lockmgr/transaction manager
217217* Allow BLCKSZ <= 64k, not <= 32k
218- * redesign UNION structures to have separarate target lists
219- * Allow multi-level query trees for INSERT INTO ... SELECT
218+ *- redesign UNION structures to have separarate target lists
219+ *- Allow multi-level query trees for INSERT INTO ... SELECT
220220* Use IPC_EXCL when creating shared memory and semaphores
221221* have pg_upgrade use pg_ctl to stop/start postmaster
222222* Encrpyt passwords in pg_shadow table using MD5
@@ -258,16 +258,17 @@ MISC
258258* Improve Subplan list handling
259259* Allow Subplans to use efficient joins(hash, merge) with upper variable
260260 [subquery]
261- * use fmgr_info()/fmgr_faddr() instead of fmgr() calls in high-traffic
261+ *- use fmgr_info()/fmgr_faddr() instead of fmgr() calls in high-traffic
262262 places, like GROUP BY, UNIQUE, index processing, etc.
263263* improve dynamic memory allocation by introducing tuple-context memory
264264 allocation [memory]
265- * In WHERE tab1.x=3 AND tab1.x=tab2.y, add tab2.y=3
265+ *- In WHERE tab1.x=3 AND tab1.x=tab2.y, add tab2.y=3
266266* Allow persistent backends [persistent]
267267* prevent labels from being output for stored rules (Tom)
268268* allow configuration of maximum number of open files
269269* Remove pg_listener index
270- * Remove ANALYZE from VACUUM so it can be run separately without locks
270+ * -Redesign ANALYZE in VACUUM so it can be run separately without locks
271+ * Make ANALYZE a separate command
271272* Gather more accurate dispersion statistics using indexes
272273* Keep statistics about clustering of table rows [optimizer]
273274* Improve statistics storage in pg_class [performance]