]> granicus.if.org Git - postgresql/commitdiff
Remove completed 8.3 TODO items:
authorBruce Momjian <bruce@momjian.us>
Fri, 7 Dec 2007 17:52:15 +0000 (17:52 +0000)
committerBruce Momjian <bruce@momjian.us>
Fri, 7 Dec 2007 17:52:15 +0000 (17:52 +0000)
<  o -Allow commenting of variables in postgresql.conf to restore them
<    to defaults
<  o -Add a GUC variable to control the tablespace for temporary objects
<    and sort files
< Monitoring
< ==========
<
< * -Allow server log information to be output as CSV format
< * -Add ability to monitor the use of temporary sort files
< * -Allow user-defined types to accept 'typmod' parameters
<
<   http://archives.postgresql.org/pgsql-hackers/2005-08/msg01142.php
<   http://archives.postgresql.org/pgsql-hackers/2005-09/msg00012.php
<   http://archives.postgresql.org/pgsql-hackers/2006-08/msg00149.php
<
< * -Add Globally/Universally Unique Identifier (GUID/UUID)
<
<   http://archives.postgresql.org/pgsql-patches/2006-09/msg00209.php
<   http://archives.postgresql.org/pgsql-general/2007-01/msg00853.php
<
< * -Support a data type with specific enumerated values (ENUM)
<  o -Add support for arrays of complex types
<  o -Make 64-bit version of the MONEY data type
< * -Add ISO day of week format 'ID' to to_char() where Monday = 1
< * -Add a field 'isoyear' to extract(), based on the ISO week
< * -Add RESET SESSION command to reset all session state
<  o -Make CLUSTER preserve recently-dead tuples per MVCC requirements
<  o -Add more logical syntax CLUSTER table USING index;
<    support current syntax for backward compatibility
<  o -Allow UPDATE/DELETE WHERE CURRENT OF cursor
<  o -Add support for MOVE cursors
<  o -Allow PL/PythonU to return boolean rather than 1/0
<  o -Allow psql \pset boolean variables to set to fixed values, rather
<    than toggle
<  o -Add -f to pg_dumpall
< Dependency Checking
< ===================
<
< * -Flush cached query plans when the dependent objects change or
<   when new ANALYZE statistics are available
< * -Track dependencies in function bodies and recompile/invalidate
< * -Invalidate prepared queries, like INSERT, when the table definition
<   is altered
<
< * -Allow use of indexes to search for NULLs
< * -Allow the creation of indexes with mixed ascending/descending
<   specifiers
< * -Reduce checkpoint performance degredation by forcing data to disk
<   more evenly
< * -Allow sequential scans to take advantage of other concurrent
<   sequential scans, also called "Synchronised Scanning"
< * -Consider shrinking expired tuples to just their headers
< * -Allow heap reuse of UPDATEd rows if no indexed columns are changed,
<   and old and new versions are on the same heap page
< * -Reduce XID consumption of read-only queries
<  o -Turn on by default
<  o -Allow multiple vacuums so large tables do not starve small
<    tables
< * -Allow the pg_xlog directory location to be specified during initdb
<   with a symlink back to the /data location
< * -Allow buffered WAL writes and fsync
< * -Allow ORDER BY ... LIMIT # to select high/low value without sort or
<   index using a sequential scan for highest/lowest values
< * -Merge xmin/xmax/cmin/cmax back into three header fields
<  o -Support a smaller header for short variable-length fields
< * -Move NAMEDATALEN from postgres_ext.h to pg_config_manual.h
< * -Fix problem with excessive logging during SSL disconnection
<
<   http://archives.postgresql.org/pgsql-bugs/2006-12/msg00122.php
<   http://archives.postgresql.org/pgsql-bugs/2007-05/msg00065.php
<
<  o -Add long file support for binary pg_dump output

doc/TODO
doc/src/FAQ/TODO.html

index c1507b1ff88a12c47bee23706ee49f97bf7a64c1..4334a151675b27f439120523471ea9fe6757f4b5 100644 (file)
--- a/doc/TODO
+++ b/doc/TODO
@@ -1,7 +1,7 @@
 PostgreSQL TODO List
 ====================
 Current maintainer:    Bruce Momjian (bruce@momjian.us)
-Last updated:          Mon Nov 26 18:31:05 EST 2007
+Last updated:          Fri Dec  7 12:52:05 EST 2007
 
 The most recent version of this document can be viewed at
 http://www.postgresql.org/docs/faqs.TODO.html.
@@ -100,8 +100,6 @@ Administration
 
 * Configuration files
 
-       o -Allow commenting of variables in postgresql.conf to restore them
-         to defaults
        o Allow pg_hba.conf to specify host names along with IP addresses
 
          Host name lookup could occur when the postmaster reads the
@@ -142,8 +140,6 @@ Administration
          requires a tool that will call that function and connect to each
          database to find the objects in each database for that tablespace.
 
-       o -Add a GUC variable to control the tablespace for temporary objects
-         and sort files
        o Allow WAL replay of CREATE TABLESPACE to work when the directory
          structure on the recovery computer is different from the original
 
@@ -168,11 +164,6 @@ Administration
            http://archives.postgresql.org/pgsql-hackers/2006-12/msg00497.php
 
 
-Monitoring
-==========
-
-* -Allow server log information to be output as CSV format
-* -Add ability to monitor the use of temporary sort files
 
 
 Data Types
@@ -187,12 +178,6 @@ Data Types
 * Fix data types where equality comparison isn't intuitive, e.g. box
 * Allow user-defined types to specify a type modifier at table creation
   time
-* -Allow user-defined types to accept 'typmod' parameters
-
-  http://archives.postgresql.org/pgsql-hackers/2005-08/msg01142.php
-  http://archives.postgresql.org/pgsql-hackers/2005-09/msg00012.php
-  http://archives.postgresql.org/pgsql-hackers/2006-08/msg00149.php
-
 * Add support for public SYNONYMs
 
   http://archives.postgresql.org/pgsql-hackers/2006-03/msg00519.php
@@ -202,11 +187,6 @@ Data Types
   http://archives.postgresql.org/pgsql-hackers/2006-05/msg00072.php
   http://archives.postgresql.org/pgsql-hackers/2006-09/msg01681.php
 
-* -Add Globally/Universally Unique Identifier (GUID/UUID)
-
-  http://archives.postgresql.org/pgsql-patches/2006-09/msg00209.php
-  http://archives.postgresql.org/pgsql-general/2007-01/msg00853.php
-
 * Add support for SQL-standard GENERATED/IDENTITY columns
 
   http://archives.postgresql.org/pgsql-hackers/2006-07/msg00543.php
@@ -214,7 +194,6 @@ Data Types
   http://archives.postgresql.org/pgsql-hackers/2007-05/msg00344.php
   http://archives.postgresql.org/pgsql-patches/2007-05/msg00076.php
 
-* -Support a data type with specific enumerated values (ENUM)
 * Improve XML support
 
   http://developer.postgresql.org/index.php/XML_Support
@@ -308,7 +287,6 @@ Data Types
 
          http://archives.postgresql.org/pgsql-patches/2007-05/msg00114.php
 
-       o -Add support for arrays of complex types
        o Allow single-byte header storage for array elements
 
 
@@ -330,7 +308,6 @@ Data Types
 
 * MONEY data type
 
-       o -Make 64-bit version of the MONEY data type
        * Add locale-aware MONEY type, and support multiple currencies
 
          http://archives.postgresql.org/pgsql-general/2005-08/msg01432.php
@@ -369,8 +346,6 @@ Functions
        o to_char(INTERVAL '43 hours 20 minutes', 'WK:DD:HR:MI') => 0:1:19:20
        o to_char(INTERVAL '3 years 5 months','MM') => 41
 
-* -Add ISO day of week format 'ID' to to_char() where Monday = 1
-* -Add a field 'isoyear' to extract(), based on the ISO week
 * Implement inlining of set-returning functions defined in SQL
 * Allow SQL-language functions to return results from RETURNING queries
 
@@ -539,7 +514,6 @@ SQL Commands
 
 * Add NOVICE output level for helpful messages like automatic sequence/index
   creation
-* -Add RESET SESSION command to reset all session state
 * Add GUC to issue notice about statements that use unjoined tables
 * Allow EXPLAIN to identify tables that were skipped because of
   constraint_exclusion
@@ -652,7 +626,6 @@ SQL Commands
 
 * CLUSTER
 
-       o -Make CLUSTER preserve recently-dead tuples per MVCC requirements
        o Automatically maintain clustering on a table
 
          This might require some background daemon to maintain clustering
@@ -671,8 +644,6 @@ SQL Commands
 
        o %Add VERBOSE option to report tables as they are processed,
          like VACUUM VERBOSE
-       o -Add more logical syntax CLUSTER table USING index;
-         support current syntax for backward compatibility
 
 
 * COPY
@@ -709,7 +680,6 @@ SQL Commands
 
 * CURSOR
 
-       o -Allow UPDATE/DELETE WHERE CURRENT OF cursor
        o Prevent DROP TABLE from dropping a row referenced by its own open
          cursor?
 
@@ -784,7 +754,6 @@ SQL Commands
                  http://archives.postgresql.org/pgsql-patches/2006-06/msg00031.php
 
                o Add single-step debugging of functions
-               o -Add support for MOVE cursors
                o Add support for SCROLL cursors
                o Add support for WITH HOLD cursors
                o Allow RETURN to return row or record functions
@@ -817,7 +786,6 @@ SQL Commands
 
                  http://archives.postgresql.org/pgsql-patches/2006-02/msg00288.php
 
-               o -Allow PL/PythonU to return boolean rather than 1/0
                o Allow data to be passed in native language formats, rather
                  than only text
 
@@ -855,8 +823,6 @@ Clients
          http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php
          http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php
 
-       o -Allow psql \pset boolean variables to set to fixed values, rather
-         than toggle
        o Consistently display privilege information for all objects in psql
        o Add auto-expanded mode so expanded output is used if the row
          length is wider than the screen width.
@@ -901,7 +867,6 @@ Clients
        o Stop dumping CASCADE on DROP TYPE commands in clean mode
        o Allow pg_dump --clean to drop roles that own objects or have
          privileges
-       o -Add -f to pg_dumpall
        o Change pg_dump so that a comment on the dumped database is
          applied to the loaded database, even if the database has a
          different name.  This will require new backend syntax, perhaps
@@ -999,15 +964,6 @@ Triggers
 
 
 
-Dependency Checking
-===================
-
-* -Flush cached query plans when the dependent objects change or
-  when new ANALYZE statistics are available
-* -Track dependencies in function bodies and recompile/invalidate
-* -Invalidate prepared queries, like INSERT, when the table definition
-  is altered
-
 
 Indexes
 =======
@@ -1028,15 +984,12 @@ Indexes
   http://archives.postgresql.org/pgsql-patches/2005-07/msg00512.php
   http://archives.postgresql.org/pgsql-hackers/2006-12/msg01107.php
 
-* -Allow use of indexes to search for NULLs
 * Allow accurate statistics to be collected on indexes with more than
   one column or expression indexes, perhaps using per-index statistics
 
   http://archives.postgresql.org/pgsql-performance/2006-10/msg00222.php
   http://archives.postgresql.org/pgsql-hackers/2007-03/msg01131.php
 
-* -Allow the creation of indexes with mixed ascending/descending
-  specifiers
 * Consider compressing indexes by storing key values duplicated in
   several rows as a single index entry
 
@@ -1111,8 +1064,6 @@ Fsync
 
 * %Add an option to sync() before fsync()'ing checkpoint files
 * Add program to test if fsync has a delay compared to non-fsync
-* -Reduce checkpoint performance degredation by forcing data to disk
-  more evenly
 
 
 Cache Usage
@@ -1171,8 +1122,6 @@ Cache Usage
        o Query execute plan
        o Query results
 
-* -Allow sequential scans to take advantage of other concurrent
-  sequential scans, also called "Synchronised Scanning"
 * Consider increasing internal areas when shared buffers is increased
 
   http://archives.postgresql.org/pgsql-hackers/2005-10/msg01419.php
@@ -1227,14 +1176,10 @@ Vacuum
   in hopes that empty pages at the end can be truncated by VACUUM
 * Allow FSM page return free space based on table clustering, to assist
   in maintaining clustering?
-* -Consider shrinking expired tuples to just their headers
-* -Allow heap reuse of UPDATEd rows if no indexed columns are changed,
-  and old and new versions are on the same heap page
 * Improve dead row detection during multi-statement transactions usage
 
   http://archives.postgresql.org/pgsql-patches/2007-03/msg00358.php
 
-* -Reduce XID consumption of read-only queries
 * Prevent long-lived temporary tables from causing frozen-xid advancement
    starvation
 
@@ -1249,9 +1194,6 @@ Vacuum
        o %Issue log message to suggest VACUUM FULL if a table is nearly
          empty?
        o Consider logging activity either to the logs or a system view
-       o -Turn on by default
-       o -Allow multiple vacuums so large tables do not starve small
-         tables
        o Improve control of auto-vacuum
 
          http://archives.postgresql.org/pgsql-hackers/2006-12/msg00876.php
@@ -1344,8 +1286,6 @@ Write-Ahead Log
 
   http://archives.postgresql.org/pgsql-hackers/2007-03/msg01589.php
 
-* -Allow the pg_xlog directory location to be specified during initdb
-  with a symlink back to the /data location
 * Allow WAL information to recover corrupted pg_controldata
 
   http://archives.postgresql.org/pgsql-patches/2006-06/msg00025.php
@@ -1357,7 +1297,6 @@ Write-Ahead Log
   rotation to fsync again. One idea is to write the WAL to different
   offsets that might reduce the rotational delay.
 
-* -Allow buffered WAL writes and fsync
 * Allow WAL logging to be turned off for a table, but the table
   might be dropped or truncated during crash recovery [walcontrol]
 
@@ -1382,8 +1321,6 @@ Optimizer / Executor
 ====================
 
 * Improve selectivity functions for geometric operators
-* -Allow ORDER BY ... LIMIT # to select high/low value without sort or
-  index using a sequential scan for highest/lowest values
 * Precompile SQL functions to avoid overhead
 * Create utility to compute accurate random_page_cost value
 * Improve ability to display optimizer analysis using OPTIMIZER_DEBUG
@@ -1433,10 +1370,8 @@ Miscellaneous Performance
   could hit disk before WAL is written.
 
 * Add a script to ask system configuration questions and tune postgresql.conf
-* -Merge xmin/xmax/cmin/cmax back into three header fields
 * Consider ways of storing rows more compactly on disk
 
-       o -Support a smaller header for short variable-length fields
        o Reduce the row header size?
        o Consider reducing on-disk varlena length from four bytes to
          two because a heap row cannot be more than 64k in length
@@ -1511,7 +1446,6 @@ Source Code
 
   http://archives.postgresql.org/pgsql-docs/2006-12/msg00152.php
 
-* -Move NAMEDATALEN from postgres_ext.h to pg_config_manual.h
 * Consider making NAMEDATALEN more configurable in future releases
 * Update our code to handle 64-bit timezone files to match the zic
   source code, which now uses them
@@ -1519,11 +1453,6 @@ Source Code
 
   http://archives.postgresql.org/pgsql-patches/2007-05/msg00046.php
 
-* -Fix problem with excessive logging during SSL disconnection
-
-  http://archives.postgresql.org/pgsql-bugs/2006-12/msg00122.php
-  http://archives.postgresql.org/pgsql-bugs/2007-05/msg00065.php
-
 * Support scoped IPv6 addresses
 
   http://archives.postgresql.org/pgsql-bugs/2007-05/msg00111.php
@@ -1552,7 +1481,6 @@ Source Code
 
          http://archives.postgresql.org/pgsql-patches/2005-06/msg00027.php
 
-       o -Add long file support for binary pg_dump output
 
 
 * Wire Protocol Changes
index 215176f1926737b3cd1e4215ee2c0d50f76dd9c2..8b141ac26dfda55e48810aa410b4a1e000171418 100644 (file)
@@ -8,7 +8,7 @@
 <body bgcolor="#FFFFFF" text="#000000" link="#FF0000" vlink="#A00000" alink="#0000FF">
 <h1><a name="section_1">PostgreSQL TODO List</a></h1>
 <p>Current maintainer:     Bruce Momjian (<a href="mailto:bruce@momjian.us">bruce@momjian.us</a>)<br/>
-Last updated:           Mon Nov 26 18:31:05 EST 2007
+Last updated:           Fri Dec  7 12:52:05 EST 2007
 </p>
 <p>The most recent version of this document can be viewed at<br/>
 <a href="http://www.postgresql.org/docs/faqs.TODO.html">http://www.postgresql.org/docs/faqs.TODO.html</a>.
@@ -95,9 +95,7 @@ first.  There is also a developer's wiki at<br/>
   </li></ul>
   </li><li>Configuration files
   <ul>
-    <li>-<em>Allow commenting of variables in postgresql.conf to restore them</em>
-          to defaults
-    </li><li>Allow pg_hba.conf to specify host names along with IP addresses
+    <li>Allow pg_hba.conf to specify host names along with IP addresses
 <p>          Host name lookup could occur when the postmaster reads the
           pg_hba.conf file, or when the backend starts.  Another
           solution would be to reverse lookup the connection IP and
@@ -133,8 +131,6 @@ first.  There is also a developer's wiki at<br/>
           requires a tool that will call that function and connect to each
           database to find the objects in each database for that tablespace.
 </p>
-    </li><li>-<em>Add a GUC variable to control the tablespace for temporary objects</em>
-          and sort files
     </li><li>Allow WAL replay of CREATE TABLESPACE to work when the directory
           structure on the recovery computer is different from the original
     </li><li>Allow per-tablespace quotas
@@ -156,13 +152,7 @@ first.  There is also a developer's wiki at<br/>
 </p>
   </li></ul>
 </li></ul>
-<h1><a name="section_3">Monitoring</a></h1>
-
-<ul>
-  <li>-<em>Allow server log information to be output as CSV format</em>
-  </li><li>-<em>Add ability to monitor the use of temporary sort files</em>
-</li></ul>
-<h1><a name="section_4">Data Types</a></h1>
+<h1><a name="section_3">Data Types</a></h1>
 
 <ul>
   <li>Change NUMERIC to enforce the maximum precision
@@ -173,21 +163,12 @@ first.  There is also a developer's wiki at<br/>
   </li><li>Fix data types where equality comparison isn't intuitive, e.g. box
   </li><li>Allow user-defined types to specify a type modifier at table creation
   time
-  </li><li>-<em>Allow user-defined types to accept 'typmod' parameters</em>
-<p>  <a href="http://archives.postgresql.org/pgsql-hackers/2005-08/msg01142.php">http://archives.postgresql.org/pgsql-hackers/2005-08/msg01142.php</a>
-  <a href="http://archives.postgresql.org/pgsql-hackers/2005-09/msg00012.php">http://archives.postgresql.org/pgsql-hackers/2005-09/msg00012.php</a>
-  <a href="http://archives.postgresql.org/pgsql-hackers/2006-08/msg00149.php">http://archives.postgresql.org/pgsql-hackers/2006-08/msg00149.php</a>
-</p>
   </li><li>Add support for public SYNONYMs
 <p>  <a href="http://archives.postgresql.org/pgsql-hackers/2006-03/msg00519.php">http://archives.postgresql.org/pgsql-hackers/2006-03/msg00519.php</a>
 </p>
   </li><li>Fix CREATE CAST on DOMAINs
 <p>  <a href="http://archives.postgresql.org/pgsql-hackers/2006-05/msg00072.php">http://archives.postgresql.org/pgsql-hackers/2006-05/msg00072.php</a>
   <a href="http://archives.postgresql.org/pgsql-hackers/2006-09/msg01681.php">http://archives.postgresql.org/pgsql-hackers/2006-09/msg01681.php</a>
-</p>
-  </li><li>-<em>Add Globally/Universally Unique Identifier (GUID/UUID)</em>
-<p>  <a href="http://archives.postgresql.org/pgsql-patches/2006-09/msg00209.php">http://archives.postgresql.org/pgsql-patches/2006-09/msg00209.php</a>
-  <a href="http://archives.postgresql.org/pgsql-general/2007-01/msg00853.php">http://archives.postgresql.org/pgsql-general/2007-01/msg00853.php</a>
 </p>
   </li><li>Add support for SQL-standard GENERATED/IDENTITY columns
 <p>  <a href="http://archives.postgresql.org/pgsql-hackers/2006-07/msg00543.php">http://archives.postgresql.org/pgsql-hackers/2006-07/msg00543.php</a>
@@ -195,7 +176,6 @@ first.  There is also a developer's wiki at<br/>
   <a href="http://archives.postgresql.org/pgsql-hackers/2007-05/msg00344.php">http://archives.postgresql.org/pgsql-hackers/2007-05/msg00344.php</a>
   <a href="http://archives.postgresql.org/pgsql-patches/2007-05/msg00076.php">http://archives.postgresql.org/pgsql-patches/2007-05/msg00076.php</a>
 </p>
-  </li><li>-<em>Support a data type with specific enumerated values (ENUM)</em>
   </li><li>Improve XML support
 <p>  <a href="http://developer.postgresql.org/index.php/XML_Support">http://developer.postgresql.org/index.php/XML_Support</a>
 </p>
@@ -280,7 +260,6 @@ first.  There is also a developer's wiki at<br/>
       </li><li>Add support for arrays of domains
 <p>          <a href="http://archives.postgresql.org/pgsql-patches/2007-05/msg00114.php">http://archives.postgresql.org/pgsql-patches/2007-05/msg00114.php</a>
 </p>
-      </li><li>-<em>Add support for arrays of complex types</em>
       </li><li>Allow single-byte header storage for array elements
     </li></ul>
     </li><li>Binary Data
@@ -299,20 +278,17 @@ first.  There is also a developer's wiki at<br/>
     </li></ul>
     </li><li>MONEY data type
     <ul>
-      <li>-<em>Make 64-bit version of the MONEY data type</em>
-      <ul>
-        <li>Add locale-aware MONEY type, and support multiple currencies
+      <li>Add locale-aware MONEY type, and support multiple currencies
 <p>          <a href="http://archives.postgresql.org/pgsql-general/2005-08/msg01432.php">http://archives.postgresql.org/pgsql-general/2005-08/msg01432.php</a>
           <a href="http://archives.postgresql.org/pgsql-hackers/2007-03/msg01181.php">http://archives.postgresql.org/pgsql-hackers/2007-03/msg01181.php</a>
 </p>
-        </li><li>MONEY dumps in a locale-specific format making it difficult to
+      </li><li>MONEY dumps in a locale-specific format making it difficult to
           restore to a system with a different locale
-        </li><li>Allow MONEY to be cast to/from other numeric data types
-      </li></ul>
+      </li><li>Allow MONEY to be cast to/from other numeric data types
     </li></ul>
   </li></ul>
 </li></ul>
-<h1><a name="section_5">Functions</a></h1>
+<h1><a name="section_4">Functions</a></h1>
 
 <ul>
   <li>Allow INET subnet tests using non-constants to be indexed
@@ -338,8 +314,6 @@ first.  There is also a developer's wiki at<br/>
     </li><li>to_char(INTERVAL '43 hours 20 minutes', 'WK:DD:HR:MI') =&gt; 0:1:19:20
     </li><li>to_char(INTERVAL '3 years 5 months','MM') =&gt; 41
   </li></ul>
-  </li><li>-<em>Add ISO day of week format 'ID' to to_char() where Monday = 1</em>
-  </li><li>-<em>Add a field 'isoyear' to extract(), based on the ISO week</em>
   </li><li>Implement inlining of set-returning functions defined in SQL
   </li><li>Allow SQL-language functions to return results from RETURNING queries
 <p>  <a href="http://archives.postgresql.org/pgsql-hackers/2006-10/msg00665.php">http://archives.postgresql.org/pgsql-hackers/2006-10/msg00665.php</a>
@@ -369,7 +343,7 @@ first.  There is also a developer's wiki at<br/>
 <p>  <a href="http://archives.postgresql.org/pgsql-patches/2007-08/msg00012.php">http://archives.postgresql.org/pgsql-patches/2007-08/msg00012.php</a>
 </p>
 </li></ul>
-<h1><a name="section_6">Multi-Language Support</a></h1>
+<h1><a name="section_5">Multi-Language Support</a></h1>
 
 <ul>
   <li>Add NCHAR (as distinguished from ordinary varchar),
@@ -412,7 +386,7 @@ first.  There is also a developer's wiki at<br/>
 <p>  <a href="http://archives.postgresql.org/pgsql-hackers/2007-03/msg00767.php">http://archives.postgresql.org/pgsql-hackers/2007-03/msg00767.php</a>
 </p>
 </li></ul>
-<h1><a name="section_7">Views / Rules</a></h1>
+<h1><a name="section_6">Views / Rules</a></h1>
 
 <ul>
   <li>Automatically create rules on views so they are updateable, per SQL99
@@ -434,7 +408,7 @@ first.  There is also a developer's wiki at<br/>
 <p>  <a href="http://archives.postgresql.org/pgsql-hackers/2007-09/msg00577.php">http://archives.postgresql.org/pgsql-hackers/2007-09/msg00577.php</a>
 </p>
 </li></ul>
-<h1><a name="section_8">SQL Commands</a></h1>
+<h1><a name="section_7">SQL Commands</a></h1>
 
 <ul>
   <li>Add CORRESPONDING BY to UNION/INTERSECT/EXCEPT
@@ -483,7 +457,6 @@ first.  There is also a developer's wiki at<br/>
 </p>
   </li><li>Add NOVICE output level for helpful messages like automatic sequence/index
   creation
-  </li><li>-<em>Add RESET SESSION command to reset all session state</em>
   </li><li>Add GUC to issue notice about statements that use unjoined tables
   </li><li>Allow EXPLAIN to identify tables that were skipped because of
   constraint_exclusion
@@ -584,8 +557,7 @@ first.  There is also a developer's wiki at<br/>
   </li></ul>
   </li><li>CLUSTER
   <ul>
-    <li>-<em>Make CLUSTER preserve recently-dead tuples per MVCC requirements</em>
-    </li><li>Automatically maintain clustering on a table
+    <li>Automatically maintain clustering on a table
 <p>          This might require some background daemon to maintain clustering
           during periods of low usage. It might also require tables to be only
           partially filled for easier reorganization.  Another idea would
@@ -601,8 +573,6 @@ first.  There is also a developer's wiki at<br/>
 </p>
     </li><li>%Add VERBOSE option to report tables as they are processed,
           like VACUUM VERBOSE
-    </li><li>-<em>Add more logical syntax CLUSTER table USING index;</em>
-          support current syntax for backward compatibility
   </li></ul>
   </li><li>COPY
   <ul>
@@ -633,8 +603,7 @@ first.  There is also a developer's wiki at<br/>
   </li></ul>
   </li><li>CURSOR
   <ul>
-    <li>-<em>Allow UPDATE/DELETE WHERE CURRENT OF cursor</em>
-    </li><li>Prevent DROP TABLE from dropping a row referenced by its own open
+    <li>Prevent DROP TABLE from dropping a row referenced by its own open
           cursor?
   </li></ul>
   </li><li>INSERT
@@ -701,7 +670,6 @@ first.  There is also a developer's wiki at<br/>
                   <a href="http://archives.postgresql.org/pgsql-patches/2006-06/msg00031.php">http://archives.postgresql.org/pgsql-patches/2006-06/msg00031.php</a>
 </p>
       </li><li>Add single-step debugging of functions
-      </li><li>-<em>Add support for MOVE cursors</em>
       </li><li>Add support for SCROLL cursors
       </li><li>Add support for WITH HOLD cursors
       </li><li>Allow RETURN to return row or record functions
@@ -732,7 +700,6 @@ first.  There is also a developer's wiki at<br/>
       </li><li>Add PL/PythonU tracebacks
 <p>                  <a href="http://archives.postgresql.org/pgsql-patches/2006-02/msg00288.php">http://archives.postgresql.org/pgsql-patches/2006-02/msg00288.php</a>
 </p>
-      </li><li>-<em>Allow PL/PythonU to return boolean rather than 1/0</em>
       </li><li>Allow data to be passed in native language formats, rather
                   than only text
 <p>                  <a href="http://archives.postgresql.org/pgsql-hackers/2007-05/msg00289.php">http://archives.postgresql.org/pgsql-hackers/2007-05/msg00289.php</a>
@@ -740,7 +707,7 @@ first.  There is also a developer's wiki at<br/>
     </li></ul>
   </li></ul>
 </li></ul>
-<h1><a name="section_9">Clients</a></h1>
+<h1><a name="section_8">Clients</a></h1>
 
 <ul>
   <li>Have pg_ctl look at PGHOST in case it is a socket directory?
@@ -766,8 +733,6 @@ first.  There is also a developer's wiki at<br/>
 <p>          <a href="http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php">http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php</a>
           <a href="http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php">http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php</a>
 </p>
-    </li><li>-<em>Allow psql \pset boolean variables to set to fixed values, rather</em>
-          than toggle
     </li><li>Consistently display privilege information for all objects in psql
     </li><li>Add auto-expanded mode so expanded output is used if the row
           length is wider than the screen width.
@@ -808,7 +773,6 @@ first.  There is also a developer's wiki at<br/>
     </li><li>Stop dumping CASCADE on DROP TYPE commands in clean mode
     </li><li>Allow pg_dump --clean to drop roles that own objects or have
           privileges
-    </li><li>-<em>Add -f to pg_dumpall</em>
     </li><li>Change pg_dump so that a comment on the dumped database is
           applied to the loaded database, even if the database has a
           different name.  This will require new backend syntax, perhaps
@@ -858,7 +822,7 @@ first.  There is also a developer's wiki at<br/>
 </p>
   </li></ul>
 </p></ul>
-<h1><a name="section_10">Triggers</a></h1>
+<h1><a name="section_9">Triggers</a></h1>
 
 <ul>
   <li>Add deferred trigger queue file
@@ -893,16 +857,7 @@ first.  There is also a developer's wiki at<br/>
 <p>  <a href="http://archives.postgresql.org/pgsql-general/2007-02/msg01466.php">http://archives.postgresql.org/pgsql-general/2007-02/msg01466.php</a>
 </p>
 </li></ul>
-<h1><a name="section_11">Dependency Checking</a></h1>
-
-<ul>
-  <li>-<em>Flush cached query plans when the dependent objects change or</em>
-  when new ANALYZE statistics are available
-  </li><li>-<em>Track dependencies in function bodies and recompile/invalidate</em>
-  </li><li>-<em>Invalidate prepared queries, like INSERT, when the table definition</em>
-  is altered
-</li></ul>
-<h1><a name="section_12">Indexes</a></h1>
+<h1><a name="section_10">Indexes</a></h1>
 
 <ul>
   <li>Add UNIQUE capability to non-btree indexes
@@ -919,14 +874,11 @@ first.  There is also a developer's wiki at<br/>
 <p>  <a href="http://archives.postgresql.org/pgsql-patches/2005-07/msg00512.php">http://archives.postgresql.org/pgsql-patches/2005-07/msg00512.php</a>
   <a href="http://archives.postgresql.org/pgsql-hackers/2006-12/msg01107.php">http://archives.postgresql.org/pgsql-hackers/2006-12/msg01107.php</a>
 </p>
-  </li><li>-<em>Allow use of indexes to search for NULLs</em>
   </li><li>Allow accurate statistics to be collected on indexes with more than
   one column or expression indexes, perhaps using per-index statistics
 <p>  <a href="http://archives.postgresql.org/pgsql-performance/2006-10/msg00222.php">http://archives.postgresql.org/pgsql-performance/2006-10/msg00222.php</a>
   <a href="http://archives.postgresql.org/pgsql-hackers/2007-03/msg01131.php">http://archives.postgresql.org/pgsql-hackers/2007-03/msg01131.php</a>
 </p>
-  </li><li>-<em>Allow the creation of indexes with mixed ascending/descending</em>
-  specifiers
   </li><li>Consider compressing indexes by storing key values duplicated in
   several rows as a single index entry
 <p>  This is difficult because it requires datatype-specific knowledge.
@@ -980,7 +932,7 @@ first.  There is also a developer's wiki at<br/>
 </p>
   </li></ul>
 </li></ul>
-<h1><a name="section_13">Fsync</a></h1>
+<h1><a name="section_11">Fsync</a></h1>
 
 <ul>
   <li>Improve commit_delay handling to reduce fsync()
@@ -991,10 +943,8 @@ first.  There is also a developer's wiki at<br/>
 </p>
   </li><li>%Add an option to sync() before fsync()'ing checkpoint files
   </li><li>Add program to test if fsync has a delay compared to non-fsync
-  </li><li>-<em>Reduce checkpoint performance degredation by forcing data to disk</em>
-  more evenly
 </li></ul>
-<h1><a name="section_14">Cache Usage</a></h1>
+<h1><a name="section_12">Cache Usage</a></h1>
 
 <ul>
   <li>Allow free-behind capability for large sequential scans to avoid
@@ -1046,8 +996,6 @@ first.  There is also a developer's wiki at<br/>
     </li><li>Query execute plan
     </li><li>Query results
   </li></ul>
-  </li><li>-<em>Allow sequential scans to take advantage of other concurrent</em>
-  sequential scans, also called "Synchronised Scanning"
   </li><li>Consider increasing internal areas when shared buffers is increased
 <p>  <a href="http://archives.postgresql.org/pgsql-hackers/2005-10/msg01419.php">http://archives.postgresql.org/pgsql-hackers/2005-10/msg01419.php</a>
 </p>
@@ -1056,7 +1004,7 @@ first.  There is also a developer's wiki at<br/>
   <a href="http://archives.postgresql.org/pgsql-hackers/2007-01/msg00752.php">http://archives.postgresql.org/pgsql-hackers/2007-01/msg00752.php</a>
 </p>
 </li></ul>
-<h1><a name="section_15">Vacuum</a></h1>
+<h1><a name="section_13">Vacuum</a></h1>
 
 <ul>
   <li>Improve speed with indexes
@@ -1095,13 +1043,9 @@ first.  There is also a developer's wiki at<br/>
   in hopes that empty pages at the end can be truncated by VACUUM
   </li><li>Allow FSM page return free space based on table clustering, to assist
   in maintaining clustering?
-  </li><li>-<em>Consider shrinking expired tuples to just their headers</em>
-  </li><li>-<em>Allow heap reuse of UPDATEd rows if no indexed columns are changed,</em>
-  and old and new versions are on the same heap page
   </li><li>Improve dead row detection during multi-statement transactions usage
 <p>  <a href="http://archives.postgresql.org/pgsql-patches/2007-03/msg00358.php">http://archives.postgresql.org/pgsql-patches/2007-03/msg00358.php</a>
 </p>
-  </li><li>-<em>Reduce XID consumption of read-only queries</em>
   </li><li>Prevent long-lived temporary tables from causing frozen-xid advancement
    starvation
 </li></ul>
@@ -1115,9 +1059,6 @@ first.  There is also a developer's wiki at<br/>
     </li><li>%Issue log message to suggest VACUUM FULL if a table is nearly
           empty?
     </li><li>Consider logging activity either to the logs or a system view
-    </li><li>-<em>Turn on by default</em>
-    </li><li>-<em>Allow multiple vacuums so large tables do not starve small</em>
-          tables
     </li><li>Improve control of auto-vacuum
 <p>          <a href="http://archives.postgresql.org/pgsql-hackers/2006-12/msg00876.php">http://archives.postgresql.org/pgsql-hackers/2006-12/msg00876.php</a>
 </p>
@@ -1127,7 +1068,7 @@ first.  There is also a developer's wiki at<br/>
 </p>
   </li></ul>
 </li></ul>
-<h1><a name="section_16">Locking</a></h1>
+<h1><a name="section_14">Locking</a></h1>
 
 <ul>
   <li>Fix priority ordering of read and write light-weight locks (Neil)
@@ -1147,7 +1088,7 @@ first.  There is also a developer's wiki at<br/>
   </li><li>Add idle_in_transaction_timeout GUC so locks are not held for long
   periods of time
 </li></ul>
-<h1><a name="section_17">Startup Time Improvements</a></h1>
+<h1><a name="section_15">Startup Time Improvements</a></h1>
 
 <ul>
   <li>Experiment with multi-threaded backend for backend creation [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?thread">thread</a>]
@@ -1170,7 +1111,7 @@ first.  There is also a developer's wiki at<br/>
   existing backends is one of the difficulties with a backend approach.
 </p>
 </li></ul>
-<h1><a name="section_18">Write-Ahead Log</a></h1>
+<h1><a name="section_16">Write-Ahead Log</a></h1>
 
 <ul>
   <li>Eliminate need to write full pages to WAL before page modification [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?wal">wal</a>]
@@ -1199,8 +1140,6 @@ first.  There is also a developer's wiki at<br/>
   entire rows
 <p>  <a href="http://archives.postgresql.org/pgsql-hackers/2007-03/msg01589.php">http://archives.postgresql.org/pgsql-hackers/2007-03/msg01589.php</a>
 </p>
-  </li><li>-<em>Allow the pg_xlog directory location to be specified during initdb</em>
-  with a symlink back to the /data location
   </li><li>Allow WAL information to recover corrupted pg_controldata
 <p>  <a href="http://archives.postgresql.org/pgsql-patches/2006-06/msg00025.php">http://archives.postgresql.org/pgsql-patches/2006-06/msg00025.php</a>
 </p>
@@ -1210,7 +1149,6 @@ first.  There is also a developer's wiki at<br/>
   rotation to fsync again. One idea is to write the WAL to different
   offsets that might reduce the rotational delay.
 </p>
-  </li><li>-<em>Allow buffered WAL writes and fsync</em>
   </li><li>Allow WAL logging to be turned off for a table, but the table
   might be dropped or truncated during crash recovery [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?walcontrol">walcontrol</a>]
 <p>  Allow tables to bypass WAL writes and just fsync() dirty pages on
@@ -1229,12 +1167,10 @@ first.  There is also a developer's wiki at<br/>
   of indexes on TOAST tables.
 </p>
 </li></ul>
-<h1><a name="section_19">Optimizer / Executor</a></h1>
+<h1><a name="section_17">Optimizer / Executor</a></h1>
 
 <ul>
   <li>Improve selectivity functions for geometric operators
-  </li><li>-<em>Allow ORDER BY ... LIMIT # to select high/low value without sort or</em>
-  index using a sequential scan for highest/lowest values
   </li><li>Precompile SQL functions to avoid overhead
   </li><li>Create utility to compute accurate random_page_cost value
   </li><li>Improve ability to display optimizer analysis using OPTIMIZER_DEBUG
@@ -1254,7 +1190,7 @@ first.  There is also a developer's wiki at<br/>
 <p>  <a href="http://archives.postgresql.org/pgsql-hackers/2007-01/msg00096.php">http://archives.postgresql.org/pgsql-hackers/2007-01/msg00096.php</a>
 </p>
 </li></ul>
-<h1><a name="section_20">Miscellaneous Performance</a></h1>
+<h1><a name="section_18">Miscellaneous Performance</a></h1>
 
 <ul>
   <li>Do async I/O for faster random read-ahead of data
@@ -1277,11 +1213,9 @@ first.  There is also a developer's wiki at<br/>
   could hit disk before WAL is written.
 </p>
   </li><li>Add a script to ask system configuration questions and tune postgresql.conf
-  </li><li>-<em>Merge xmin/xmax/cmin/cmax back into three header fields</em>
   </li><li>Consider ways of storing rows more compactly on disk
   <ul>
-    <li>-<em>Support a smaller header for short variable-length fields</em>
-    </li><li>Reduce the row header size?
+    <li>Reduce the row header size?
     </li><li>Consider reducing on-disk varlena length from four bytes to
           two because a heap row cannot be more than 64k in length
   </li></ul>
@@ -1301,7 +1235,7 @@ first.  There is also a developer's wiki at<br/>
 <p>  <a href="http://archives.postgresql.org/pgsql-hackers/2007-01/msg00752.php">http://archives.postgresql.org/pgsql-hackers/2007-01/msg00752.php</a>
 </p>
 </li></ul>
-<h1><a name="section_21">Source Code</a></h1>
+<h1><a name="section_19">Source Code</a></h1>
 
 <ul>
   <li>Add use of 'const' for variables in source tree
@@ -1345,16 +1279,11 @@ first.  There is also a developer's wiki at<br/>
   </li><li>Consider changing documentation format from SGML to XML
 <p>  <a href="http://archives.postgresql.org/pgsql-docs/2006-12/msg00152.php">http://archives.postgresql.org/pgsql-docs/2006-12/msg00152.php</a>
 </p>
-  </li><li>-<em>Move NAMEDATALEN from postgres_ext.h to pg_config_manual.h</em>
   </li><li>Consider making NAMEDATALEN more configurable in future releases
   </li><li>Update our code to handle 64-bit timezone files to match the zic
   source code, which now uses them
   </li><li>Have configure choose integer datetimes by default
 <p>  <a href="http://archives.postgresql.org/pgsql-patches/2007-05/msg00046.php">http://archives.postgresql.org/pgsql-patches/2007-05/msg00046.php</a>
-</p>
-  </li><li>-<em>Fix problem with excessive logging during SSL disconnection</em>
-<p>  <a href="http://archives.postgresql.org/pgsql-bugs/2006-12/msg00122.php">http://archives.postgresql.org/pgsql-bugs/2006-12/msg00122.php</a>
-  <a href="http://archives.postgresql.org/pgsql-bugs/2007-05/msg00065.php">http://archives.postgresql.org/pgsql-bugs/2007-05/msg00065.php</a>
 </p>
   </li><li>Support scoped IPv6 addresses
 <p>  <a href="http://archives.postgresql.org/pgsql-bugs/2007-05/msg00111.php">http://archives.postgresql.org/pgsql-bugs/2007-05/msg00111.php</a>
@@ -1379,7 +1308,6 @@ first.  There is also a developer's wiki at<br/>
     </li><li>Improve signal handling
 <p>          <a href="http://archives.postgresql.org/pgsql-patches/2005-06/msg00027.php">http://archives.postgresql.org/pgsql-patches/2005-06/msg00027.php</a>
 </p>
-    </li><li>-<em>Add long file support for binary pg_dump output</em>
   </li></ul>
   </li><li>Wire Protocol Changes
   <ul>
@@ -1390,7 +1318,7 @@ first.  There is also a developer's wiki at<br/>
           of result sets using new statement protocol
   </li></ul>
 </li></ul>
-<h1><a name="section_22">Exotic Features</a></h1>
+<h1><a name="section_20">Exotic Features</a></h1>
 
 <ul>
   <li>Add pre-parsing phase that converts non-ISO syntax to supported
@@ -1416,7 +1344,7 @@ first.  There is also a developer's wiki at<br/>
   <a href="http://archives.postgresql.org/pgsql-hackers/2006-10/msg01527.php">http://archives.postgresql.org/pgsql-hackers/2006-10/msg01527.php</a>
 </p>
 </li></ul>
-<h1><a name="section_23">Features We Do <u>Not</u> Want</a></h1>
+<h1><a name="section_21">Features We Do <u>Not</u> Want</a></h1>
 
 <ul>
   <li>All backends running as threads in a single process (not wanted)