]> granicus.if.org Git - postgresql/blobdiff - doc/TODO
Add question mark:
[postgresql] / doc / TODO
index b33fb76528e51c1937a898216664d99211e91ad1..56e22ff9357e66245c2e87f6849c7feaa22c3b07 100644 (file)
--- a/doc/TODO
+++ b/doc/TODO
@@ -2,7 +2,7 @@
 PostgreSQL TODO List
 ====================
 Current maintainer:    Bruce Momjian (pgman@candle.pha.pa.us)
 PostgreSQL TODO List
 ====================
 Current maintainer:    Bruce Momjian (pgman@candle.pha.pa.us)
-Last updated:          Sat Apr 22 23:59:59 EDT 2006
+Last updated:          Sat Apr 29 21:45:16 EDT 2006
 
 The most recent version of this document can be viewed at
 http://www.postgresql.org/docs/faqs.TODO.html.
 
 The most recent version of this document can be viewed at
 http://www.postgresql.org/docs/faqs.TODO.html.
@@ -54,6 +54,8 @@ Administration
 
   This would allow administrators to see more detailed information from
   specific sections of the backend, e.g. checkpoints, autovacuum, etc.
 
   This would allow administrators to see more detailed information from
   specific sections of the backend, e.g. checkpoints, autovacuum, etc.
+  Another idea is to allow separate configuration files for each module,
+  or allow arbitrary SET commands to be passed to them.
 
 * -Re-enable the GUC full_page_writes in 8.2 when reliability issues have
   been addressed
 
 * -Re-enable the GUC full_page_writes in 8.2 when reliability issues have
   been addressed
@@ -198,7 +200,7 @@ Data Types
   The positive modulus result returned by NUMERICs might be considered
   inaccurate, in one sense.
 
   The positive modulus result returned by NUMERICs might be considered
   inaccurate, in one sense.
 
-* %Disallow changing default expression of a SERIAL column
+* %Disallow changing default expression of a SERIAL column?
 * %Disallow ALTER SEQUENCE changes for SERIAL sequences because pg_dump
   does not dump the changes
 * Fix data types where equality comparison isn't intuitive, e.g. box
 * %Disallow ALTER SEQUENCE changes for SERIAL sequences because pg_dump
   does not dump the changes
 * Fix data types where equality comparison isn't intuitive, e.g. box
@@ -225,7 +227,6 @@ Data Types
          computations should adjust based on the time zone rules.
 
        o Fix SELECT '0.01 years'::interval, '0.01 months'::interval
          computations should adjust based on the time zone rules.
 
        o Fix SELECT '0.01 years'::interval, '0.01 months'::interval
-       o Fix SELECT INTERVAL '1' MONTH
        o Add a GUC variable to allow output of interval values in ISO8601 
          format
        o Improve timestamptz subtraction to be DST-aware
        o Add a GUC variable to allow output of interval values in ISO8601 
          format
        o Improve timestamptz subtraction to be DST-aware
@@ -240,14 +241,31 @@ Data Types
        o Fix interval display to support values exceeding 2^31 hours
        o Add overflow checking to timestamp and interval arithmetic    
        o Add ISO INTERVAL handling
        o Fix interval display to support values exceeding 2^31 hours
        o Add overflow checking to timestamp and interval arithmetic    
        o Add ISO INTERVAL handling
-               o Add support for day-time syntax, INTERVAL '1 2:03:04' DAY TO 
+               o -Add support for day-time syntax, INTERVAL '1 2:03:04' DAY TO 
                  SECOND
                  SECOND
+               o Support ISO INTERVAL syntax if units cannot be determined from
+                 the string, and are supplied after the string
+
+                 The SQL standard states that the units after the string
+                 specify the units of the string, e.g. INTERVAL '2' MINUTE
+                 should return '00:02:00'. The current behavior has the units
+                 restrict the interval value to the specified unit or unit
+                 range, INTERVAL '70' SECOND returns '00:00:10'.
+
+                 For syntax that isn't uniquely ISO or PG syntax, like '1' or
+                 '1:30', treat as ISO if there is a range specification clause,
+                 and as PG if there no clause is present, e.g. interpret '1:30'
+                 MINUTE TO SECOND as '1 minute 30 seconds', and interpret
+                 '1:30' as '1 hour, 30 minutes'.
+
+                 This makes common cases like SELECT INTERVAL '1' MONTH
+                 SQL-standard results. The SQL standard supports a limited
+                 number of unit combinations and doesn't support unit names in
+                 the string. The PostgreSQL syntax is more flexible in the
+                 range of units supported, e.g. PostgreSQL supports '1 year 1
+                 hour', while the SQL standard does not.
+
                o Add support for year-month syntax, INTERVAL '50-6' YEAR TO MONTH
                o Add support for year-month syntax, INTERVAL '50-6' YEAR TO MONTH
-               o For syntax that isn't uniquely ISO or PG syntax, like '1:30' or
-                 '1', treat as ISO if there is a range specification clause,
-                 and as PG if there no clause is present, e.g. interpret 
-                         '1:30' MINUTE TO SECOND as '1 minute 30 seconds', and 
-                         interpret '1:30' as '1 hour, 30 minutes'
                o Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1 year' AS
                  INTERVAL MONTH), and this should return '12 months'
                o Round or truncate values to the requested precision, e.g.
                o Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1 year' AS
                  INTERVAL MONTH), and this should return '12 months'
                o Round or truncate values to the requested precision, e.g.
@@ -279,7 +297,7 @@ Functions
 =========
 
 * Allow INET subnet tests using non-constants to be indexed
 =========
 
 * Allow INET subnet tests using non-constants to be indexed
-* Add transaction_timestamp(), statement_timestamp(), clock_timestamp()
+* -Add transaction_timestamp(), statement_timestamp(), clock_timestamp()
   functionality
 
   Current CURRENT_TIMESTAMP returns the start time of the current
   functionality
 
   Current CURRENT_TIMESTAMP returns the start time of the current
@@ -382,6 +400,8 @@ SQL Commands
   manually or automatically when statistics for execute parameters
   differ dramatically from those used during planning.
 
   manually or automatically when statistics for execute parameters
   differ dramatically from those used during planning.
 
+* Invalidate prepared queries, like INSERT, when the table definition
+  is altered
 * Allow LISTEN/NOTIFY to store info in memory rather than tables?
 
   Currently LISTEN/NOTIFY information is stored in pg_listener. Storing
 * Allow LISTEN/NOTIFY to store info in memory rather than tables?
 
   Currently LISTEN/NOTIFY information is stored in pg_listener. Storing
@@ -483,13 +503,11 @@ SQL Commands
          Currently non-global system tables must be in the default database
          tablespace. Global system tables can never be moved.
 
          Currently non-global system tables must be in the default database
          tablespace. Global system tables can never be moved.
 
-       o %Prevent child tables from altering or dropping constraints 
-          like CHECK that were inherited from the parent table
        o Prevent parent tables from altering or dropping constraints
        o Prevent parent tables from altering or dropping constraints
-         like CHECK that are inherited by child tables
-
-         Dropping constraints should only be possible with CASCADE.
-
+         like CHECK that are inherited by child tables unless CASCADE
+         is used
+       o %Prevent child tables from altering or dropping constraints
+          like CHECK that were inherited from the parent table
        o Have ALTER INDEX update the name of a constraint using that index
        o Add ALTER TABLE RENAME CONSTRAINT, update index name also
 
        o Have ALTER INDEX update the name of a constraint using that index
        o Add ALTER TABLE RENAME CONSTRAINT, update index name also
 
@@ -1075,7 +1093,7 @@ Write-Ahead Log
   entire rows?
 * Allow the pg_xlog directory location to be specified during initdb
   with a symlink back to the /data location
   entire rows?
 * 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
+* -Allow WAL information to recover corrupted pg_controldata
 * Find a way to reduce rotational delay when repeatedly writing
   last WAL page
 
 * Find a way to reduce rotational delay when repeatedly writing
   last WAL page