Remove TODO.detail references; instead add TODO URLs pointing to the
authorBruce Momjian
Sat, 19 Apr 2008 12:16:21 +0000 (12:16 +0000)
committerBruce Momjian
Sat, 19 Apr 2008 12:16:21 +0000 (12:16 +0000)
archives.  We have been using URLs for a while for new items.

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

index 3c7d50a78e90114375d2c608f3bb163946860338..08d85bfa9da019b7e01c3a1d38b21f21eeff2e76 100644 (file)
--- a/doc/TODO
+++ b/doc/TODO
@@ -1,7 +1,7 @@
 PostgreSQL TODO List
 ====================
 Current maintainer:    Bruce Momjian ([email protected])
-Last updated:      Thu Apr 17 16:56:51 EDT 2008
+Last updated:      Sat Apr 19 08:15:19 EDT 2008
 
 The most recent version of this document can be viewed at
 http://www.postgresql.org/docs/faqs.TODO.html.
@@ -9,8 +9,6 @@ http://www.postgresql.org/docs/faqs.TODO.html.
 #A hyphen, "-", marks changes that will appear in the upcoming 8.3 release.#
 #A percent sign, "%", marks items that are easier to implement.#
 
-Bracketed items, "[]", have more detail.
-
 This list contains all known PostgreSQL bugs and feature requests. If
 you would like to work on an item, please read the Developer's FAQ
 first.  There is also a developer's wiki at
@@ -162,7 +160,6 @@ Administration
 * Point-In-Time Recovery (PITR)
 
    o Allow a warm standby system to also allow read-only statements
-     [pitr]
 
      http://archives.postgresql.org/pgsql-hackers/2007-03/msg00050.php
 
@@ -275,10 +272,11 @@ Data Types
    o Merge hardwired timezone names with the TZ database; allow either
      kind everywhere a TZ name is currently taken
    o Allow TIMESTAMP WITH TIME ZONE to store the original timezone
-     information, either zone name or offset from UTC [timezone]
+     information, either zone name or offset from UTC
 
      If the TIMESTAMP value is stored with a time zone name, interval
      computations should adjust based on the time zone rules.
+     http://archives.postgresql.org/pgsql-hackers/2004-10/msg00705.php
 
    o Fix SELECT '0.01 years'::interval, '0.01 months'::interval
    o Add a GUC variable to allow output of interval values in ISO8601
@@ -503,18 +501,23 @@ Multi-Language Support
   database creation might have locale-aware indexes.  The indexes would
   need to be reindexed to match the new locale.
 
-* Allow encoding on a per-column basis optionally using the ICU library
+* Allow encoding on a per-column basis optionally using the ICU library;
+  Add CREATE COLLATE
 
-  Right now only one encoding is allowed per database.  [locale]
+  Right now only one encoding is allowed per database.
 
   http://archives.postgresql.org/pgsql-hackers/2005-03/msg00932.php
+  http://archives.postgresql.org/pgsql-patches/2005-08/msg00039.php
   http://archives.postgresql.org/pgsql-patches/2005-08/msg00309.php
+  http://archives.postgresql.org/pgsql-hackers/2005-09/msg00110.php
+  http://archives.postgresql.org/pgsql-patches/2005-09/msg00020.php
+  http://archives.postgresql.org/pgsql-hackers/2005-12/msg01121.php
+  http://archives.postgresql.org/pgsql-hackers/2006-01/msg00767.php
   http://archives.postgresql.org/pgsql-patches/2006-03/msg00233.php
   http://archives.postgresql.org/pgsql-hackers/2006-09/msg00662.php
   http://wiki.postgresql.org/wiki/Todo:Collate 
   http://wiki.postgresql.org/wiki/Todo:ICU
 
-* Add CREATE COLLATE?  [locale]
 * Support multiple simultaneous character sets, per SQL92
 * Improve UTF8 combined character handling?
 * Add octet_length_server() and octet_length_client()
@@ -601,20 +604,16 @@ SQL Commands
   http://archives.postgresql.org/pgsql-hackers/2006-11/msg00092.php
 
 * Add a GUC variable to warn about non-standard SQL usage in queries
-* Add SQL-standard MERGE command, typically used to merge two tables
-  [merge]
-
-  This is similar to UPDATE, then for unmatched rows, INSERT.
-  Whether concurrent access allows modifications which could cause
-  row loss is implementation independent.
-
-* Add REPLACE or UPSERT command that does UPDATE, or on failure, INSERT
-  [merge]
+* Add SQL-standard MERGE/REPLACE/UPSERT command
 
+  MERGE is typically used to merge two tables.  REPLACE or UPSERT
+  command does UPDATE, or on failure, INSERT. This is similar to UPDATE,
+  then for unmatched rows, INSERT.  Whether concurrent access allows
+  modifications which could cause row loss is implementation independent.
   To implement this cleanly requires that the table have a unique index
-  so duplicate checking can be easily performed.  It is possible to
-  do it without a unique index if we require the user to LOCK the table
-  before the MERGE.
+  so duplicate checking can be easily performed.  It is possible to do it
+  without a unique index if we require the user to LOCK the table before
+  the MERGE.
 
   http://archives.postgresql.org/pgsql-hackers/2005-11/msg00501.php
   http://archives.postgresql.org/pgsql-hackers/2005-11/msg00536.php
@@ -1007,10 +1006,11 @@ Clients
 * psql
    o Have psql show current values for a sequence
    o Move psql backslash database information into the backend, use
-     mnemonic commands? [psql]
+     mnemonic commands?
 
      This would allow non-psql clients to pull the same information out
      of the database as psql.
+     http://archives.postgresql.org/pgsql-hackers/2004-01/msg00191.php
 
    o Make psql's \d commands more consistent
 
@@ -1539,7 +1539,7 @@ Locking
 Startup Time Improvements
 =========================
 
-* Experiment with multi-threaded backend for backend creation [thread]
+* Experiment with multi-threaded backend for backend creation
 
   This would prevent the overhead associated with process creation. Most
   operating systems have trivial process creation time compared to
@@ -1552,12 +1552,13 @@ Startup Time Improvements
 Write-Ahead Log
 ===============
 
-* Eliminate need to write full pages to WAL before page modification [wal]
+* Eliminate need to write full pages to WAL before page modification
 
   Currently, to protect against partial disk page writes, we write
   full page images to WAL before they are modified so we can correct any
   partial page writes during recovery.  These pages can also be
   eliminated from point-in-time archive files.
+  http://archives.postgresql.org/pgsql-hackers/2002-06/msg00655.php
 
    o  When off, write CRC to WAL and check file system blocks
       on recovery
@@ -1590,9 +1591,10 @@ Write-Ahead Log
   Currently fsync of WAL requires the disk platter to perform a full
   rotation to fsync again. One idea is to write the WAL to different
   offsets that might reduce the rotational delay.
+  http://archives.postgresql.org/pgsql-hackers/2002-11/msg00483.php
 
 * Allow WAL logging to be turned off for a table, but the table
-  might be dropped or truncated during crash recovery [walcontrol]
+  might be dropped or truncated during crash recovery
 
   Allow tables to bypass WAL writes and just fsync() dirty pages on
   commit.  This should be implemented using ALTER TABLE, e.g. ALTER
@@ -1600,15 +1602,17 @@ Write-Ahead Log
   non-default logging should not use referential integrity with
   default-logging tables.  A table without dirty buffers during a
   crash could perhaps avoid the drop/truncate.
+  http://archives.postgresql.org/pgsql-hackers/2005-12/msg01016.php
 
 * Allow WAL logging to be turned off for a table, but the table would
-  avoid being truncated/dropped [walcontrol]
+  avoid being truncated/dropped
 
   To do this, only a single writer can modify the table, and writes
   must happen only on new pages so the new pages can be removed during
   crash recovery.  Readers can continue accessing the table.  Such
   tables probably cannot have indexes.  One complexity is the handling
   of indexes on TOAST tables.
+  http://archives.postgresql.org/pgsql-hackers/2005-12/msg01016.php
 
 * Speed WAL recovery by allowing more than one page to be prefetched
 
index bc64564eb8f80fa11c73e79cc1c01a0418be4e5a..06aa4e11476b3b50153a359da96bcf98d706b421 100644 (file)
@@ -8,7 +8,7 @@
 
 

PostgreSQL TODO List

 

Current maintainer:     Bruce Momjian ([email protected])

-Last updated:           Thu Apr 17 16:56:51 EDT 2008
+Last updated:           Sat Apr 19 08:15:19 EDT 2008
 

 

The most recent version of this document can be viewed at

 http://www.postgresql.org/docs/faqs.TODO.html.
@@ -16,8 +16,6 @@ Last updated:           Thu Apr 17 16:56:51 EDT 2008
 

A hyphen, "-", marks changes that will appear in the upcoming 8.3 release.

 A percent sign, "%", marks items that are easier to implement.
 

-

Bracketed items, "[]", have more detail.

-

 

This list contains all known PostgreSQL bugs and feature requests. If

 you would like to work on an item, please read the Developer's FAQ
 first.  There is also a developer's wiki at
@@ -149,7 +147,6 @@ first.  There is also a developer's wiki at
   
  • Point-In-Time Recovery (PITR)
  •    
           
    • Allow a warm standby system to also allow read-only statements
    • -          [pitr]
       

                http://archives.postgresql.org/pgsql-hackers/2007-03/msg00050.php

       

           
    • %Create dump tool for write-ahead logs for use in determining
    • @@ -241,9 +238,10 @@ first.  There is also a developer's wiki at
           
    • Merge hardwired timezone names with the TZ database; allow either
    •            kind everywhere a TZ name is currently taken
           
    • Allow TIMESTAMP WITH TIME ZONE to store the original timezone
    • -          information, either zone name or offset from UTC [timezone]
      +          information, either zone name or offset from UTC
       

                If the TIMESTAMP value is stored with a time zone name, interval

                 computations should adjust based on the time zone rules.
      +          http://archives.postgresql.org/pgsql-hackers/2004-10/msg00705.php
       

           
    • Fix SELECT '0.01 years'::interval, '0.01 months'::interval
    •      
    • Add a GUC variable to allow output of interval values in ISO8601
    • @@ -439,17 +437,22 @@ first.  There is also a developer's wiki at
         database creation might have locale-aware indexes.  The indexes would
         need to be reindexed to match the new locale.
       

      -  
    • Allow encoding on a per-column basis optionally using the ICU library
    • -

        Right now only one encoding is allowed per database.  [locale]

      +  
    • Allow encoding on a per-column basis optionally using the ICU library;
    • +  Add CREATE COLLATE
      +

        Right now only one encoding is allowed per database.

       

       

        http://archives.postgresql.org/pgsql-hackers/2005-03/msg00932.php

      +  http://archives.postgresql.org/pgsql-patches/2005-08/msg00039.php
         http://archives.postgresql.org/pgsql-patches/2005-08/msg00309.php
      +  http://archives.postgresql.org/pgsql-hackers/2005-09/msg00110.php
      +  http://archives.postgresql.org/pgsql-patches/2005-09/msg00020.php
      +  http://archives.postgresql.org/pgsql-hackers/2005-12/msg01121.php
      +  http://archives.postgresql.org/pgsql-hackers/2006-01/msg00767.php
         http://archives.postgresql.org/pgsql-patches/2006-03/msg00233.php
         http://archives.postgresql.org/pgsql-hackers/2006-09/msg00662.php
         http://wiki.postgresql.org/wiki/Todo:Collate 
         http://wiki.postgresql.org/wiki/Todo:ICU
       

      -  
    • Add CREATE COLLATE?  [locale]
    •    
    • Support multiple simultaneous character sets, per SQL92
    •    
    • Improve UTF8 combined character handling?
    •    
    • Add octet_length_server() and octet_length_client()
    • @@ -523,18 +526,15 @@ first.  There is also a developer's wiki at
       

        http://archives.postgresql.org/pgsql-hackers/2006-11/msg00092.php

       

         
    • Add a GUC variable to warn about non-standard SQL usage in queries
    • -  
    • Add SQL-standard MERGE command, typically used to merge two tables
    • -  [merge]
      -

        This is similar to UPDATE, then for unmatched rows, INSERT.

      -  Whether concurrent access allows modifications which could cause
      -  row loss is implementation independent.
      -

      -  
    • Add REPLACE or UPSERT command that does UPDATE, or on failure, INSERT
    • -  [merge]
      -

        To implement this cleanly requires that the table have a unique index

      -  so duplicate checking can be easily performed.  It is possible to
      -  do it without a unique index if we require the user to LOCK the table
      -  before the MERGE.
      +  
    • Add SQL-standard MERGE/REPLACE/UPSERT command
    • +

        MERGE is typically used to merge two tables.  REPLACE or UPSERT

      +  command does UPDATE, or on failure, INSERT. This is similar to UPDATE,
      +  then for unmatched rows, INSERT.  Whether concurrent access allows
      +  modifications which could cause row loss is implementation independent.
      +  To implement this cleanly requires that the table have a unique index
      +  so duplicate checking can be easily performed.  It is possible to do it
      +  without a unique index if we require the user to LOCK the table before
      +  the MERGE.
       

       

        http://archives.postgresql.org/pgsql-hackers/2005-11/msg00501.php

         http://archives.postgresql.org/pgsql-hackers/2005-11/msg00536.php
      @@ -872,9 +872,10 @@ first.  There is also a developer's wiki at
         
             
      • Have psql show current values for a sequence
      •      
      • Move psql backslash database information into the backend, use
      • -          mnemonic commands? [psql]
        +          mnemonic commands?
         

                  This would allow non-psql clients to pull the same information out

                   of the database as psql.
        +          http://archives.postgresql.org/pgsql-hackers/2004-01/msg00191.php
         

             
      • Make psql's \d commands more consistent
      •  

                  http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php

        @@ -1331,7 +1332,7 @@ first.  There is also a developer's wiki at
         

        Startup Time Improvements

         
         
          -  
        • Experiment with multi-threaded backend for backend creation [thread]
        • +  
        • Experiment with multi-threaded backend for backend creation
        •  

            This would prevent the overhead associated with process creation. Most

             operating systems have trivial process creation time compared to
             database startup overhead, but a few operating systems (Win32,
          @@ -1342,11 +1343,12 @@ first.  There is also a developer's wiki at
           

          Write-Ahead Log

           
           
            -  
          • Eliminate need to write full pages to WAL before page modification [wal]
          • +  
          • Eliminate need to write full pages to WAL before page modification
          •  

              Currently, to protect against partial disk page writes, we write

               full page images to WAL before they are modified so we can correct any
               partial page writes during recovery.  These pages can also be
               eliminated from point-in-time archive files.
            +  http://archives.postgresql.org/pgsql-hackers/2002-06/msg00655.php
             

               
                   
            • When off, write CRC to WAL and check file system blocks
            • @@ -1376,23 +1378,26 @@ first.  There is also a developer's wiki at
               

                Currently fsync of WAL requires the disk platter to perform a full

                 rotation to fsync again. One idea is to write the WAL to different
                 offsets that might reduce the rotational delay.
              +  http://archives.postgresql.org/pgsql-hackers/2002-11/msg00483.php
               

                 
            • Allow WAL logging to be turned off for a table, but the table
            • -  might be dropped or truncated during crash recovery [walcontrol]
              +  might be dropped or truncated during crash recovery
               

                Allow tables to bypass WAL writes and just fsync() dirty pages on

                 commit.  This should be implemented using ALTER TABLE, e.g. ALTER
                 TABLE PERSISTENCE [ DROP | TRUNCATE | DEFAULT ].  Tables using
                 non-default logging should not use referential integrity with
                 default-logging tables.  A table without dirty buffers during a
                 crash could perhaps avoid the drop/truncate.
              +  http://archives.postgresql.org/pgsql-hackers/2005-12/msg01016.php
               

                 
            • Allow WAL logging to be turned off for a table, but the table would
            • -  avoid being truncated/dropped [walcontrol]
              +  avoid being truncated/dropped
               

                To do this, only a single writer can modify the table, and writes

                 must happen only on new pages so the new pages can be removed during
                 crash recovery.  Readers can continue accessing the table.  Such
                 tables probably cannot have indexes.  One complexity is the handling
                 of indexes on TOAST tables.
              +  http://archives.postgresql.org/pgsql-hackers/2005-12/msg01016.php
               

                 
            • Speed WAL recovery by allowing more than one page to be prefetched
            •  

                This should be done utilizing the same infrastructure used for