Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit a3faf37

Browse files
committed
Fix some issues that prevent this file to be processed by scripts.
While at it, mark a couple of items completed in 8.4: ! o -Prevent long-lived temporary tables from causing frozen-xid advancement starvation ! * -Improve performance of shared invalidation queue for multiple CPUs Also remove a couple of obsolete assignments.
1 parent 48a9d92 commit a3faf37

File tree

2 files changed

+150
-160
lines changed

2 files changed

+150
-160
lines changed

doc/TODO

+58-60
Original file line numberDiff line numberDiff line change
@@ -331,40 +331,40 @@ Data Types
331331

332332
http://archives.postgresql.org/pgsql-hackers/2006-11/msg00390.php
333333

334-
o Add ISO INTERVAL handling
335-
336-
http://archives.postgresql.org/pgsql-hackers/2006-01/msg00250.php
337-
http://archives.postgresql.org/pgsql-bugs/2006-04/msg00248.php
338-
339-
o Support ISO INTERVAL syntax if units cannot be determined from
340-
the string, and are supplied after the string
341-
342-
The SQL standard states that the units after the string
343-
specify the units of the string, e.g. INTERVAL '2' MINUTE
344-
should return '00:02:00'. The current behavior has the units
345-
restrict the interval value to the specified unit or unit
346-
range, INTERVAL '70' SECOND returns '00:00:10'.
347-
348-
For syntax that isn't uniquely ISO or PG syntax, like '1' or
349-
'1:30', treat as ISO if there is a range specification clause,
350-
and as PG if there no clause is present, e.g. interpret '1:30'
351-
MINUTE TO SECOND as '1 minute 30 seconds', and interpret
352-
'1:30' as '1 hour, 30 minutes'.
353-
354-
This makes common cases like SELECT INTERVAL '1' MONTH
355-
SQL-standard results. The SQL standard supports a limited
356-
number of unit combinations and doesn't support unit names in
357-
the string. The PostgreSQL syntax is more flexible in the
358-
range of units supported, e.g. PostgreSQL supports '1 year 1
359-
hour', while the SQL standard does not.
360-
361-
o Add support for year-month syntax, INTERVAL '50-6' YEAR
362-
TO MONTH
363-
o Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1
364-
year' AS INTERVAL MONTH), and this should return '12 months'
365-
o Round or truncate values to the requested precision, e.g.
366-
INTERVAL '11 months' AS YEAR should return one or zero
367-
o Support precision, CREATE TABLE foo (a INTERVAL MONTH(3))
334+
* Add ISO INTERVAL handling
335+
336+
http://archives.postgresql.org/pgsql-hackers/2006-01/msg00250.php
337+
http://archives.postgresql.org/pgsql-bugs/2006-04/msg00248.php
338+
339+
o Support ISO INTERVAL syntax if units cannot be determined from
340+
the string, and are supplied after the string
341+
342+
The SQL standard states that the units after the string
343+
specify the units of the string, e.g. INTERVAL '2' MINUTE
344+
should return '00:02:00'. The current behavior has the units
345+
restrict the interval value to the specified unit or unit
346+
range, INTERVAL '70' SECOND returns '00:00:10'.
347+
348+
For syntax that isn't uniquely ISO or PG syntax, like '1' or
349+
'1:30', treat as ISO if there is a range specification clause,
350+
and as PG if there no clause is present, e.g. interpret '1:30'
351+
MINUTE TO SECOND as '1 minute 30 seconds', and interpret
352+
'1:30' as '1 hour, 30 minutes'.
353+
354+
This makes common cases like SELECT INTERVAL '1' MONTH
355+
SQL-standard results. The SQL standard supports a limited
356+
number of unit combinations and doesn't support unit names in
357+
the string. The PostgreSQL syntax is more flexible in the
358+
range of units supported, e.g. PostgreSQL supports '1 year 1
359+
hour', while the SQL standard does not.
360+
361+
o Add support for year-month syntax, INTERVAL '50-6' YEAR
362+
TO MONTH
363+
o Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1
364+
year' AS INTERVAL MONTH), and this should return '12 months'
365+
o Round or truncate values to the requested precision, e.g.
366+
INTERVAL '11 months' AS YEAR should return one or zero
367+
o Support precision, CREATE TABLE foo (a INTERVAL MONTH(3))
368368

369369

370370
* Arrays
@@ -384,7 +384,7 @@ Data Types
384384
o Add security checking for large objects
385385
o Auto-delete large objects when referencing row is deleted
386386

387-
contrib/lo offers this functionality.
387+
contrib/lo offers this functionality.
388388

389389
o Allow read/write into TOAST values like large objects
390390

@@ -396,14 +396,14 @@ Data Types
396396

397397
* MONEY data type
398398

399-
* Add locale-aware MONEY type, and support multiple currencies
399+
o Add locale-aware MONEY type, and support multiple currencies
400400

401401
http://archives.postgresql.org/pgsql-general/2005-08/msg01432.php
402402
http://archives.postgresql.org/pgsql-hackers/2007-03/msg01181.php
403403

404-
* MONEY dumps in a locale-specific format making it difficult to
404+
o MONEY dumps in a locale-specific format making it difficult to
405405
restore to a system with a different locale
406-
* Allow MONEY to be easily cast to/from other numeric data types
406+
o Allow MONEY to be easily cast to/from other numeric data types
407407

408408
* Text Search
409409

@@ -494,7 +494,7 @@ Functions
494494
* Prevent malicious functions from being executed with the permissions
495495
of unsuspecting users
496496

497-
Index functions are safe, so VACUUM and ANALYZE are safe too.
497+
Index functions are safe, so VACUUM and ANALYZE are safe too.
498498
Triggers, CHECK and DEFAULT expressions, and rules are still vulnerable.
499499
http://archives.postgresql.org/pgsql-hackers/2008-01/msg00268.php
500500

@@ -569,7 +569,7 @@ Multi-Language Support
569569
http://archives.postgresql.org/pgsql-hackers/2006-01/msg00767.php
570570
http://archives.postgresql.org/pgsql-patches/2006-03/msg00233.php
571571
http://archives.postgresql.org/pgsql-hackers/2006-09/msg00662.php
572-
http://wiki.postgresql.org/wiki/Todo:Collate
572+
http://wiki.postgresql.org/wiki/Todo:Collate
573573
http://wiki.postgresql.org/wiki/Todo:ICU
574574

575575
* Support multiple simultaneous character sets, per SQL92
@@ -667,7 +667,7 @@ SQL Commands
667667
* Improve failure message when DROP DATABASE is used on a database that
668668
has prepared transactions
669669
* Allow prepared transactions with temporary tables created and dropped
670-
in the same transaction, and when an ON COMMIT DELETE ROWS temporary
670+
in the same transaction, and when an ON COMMIT DELETE ROWS temporary
671671
table is accessed
672672

673673
http://archives.postgresql.org/pgsql-hackers/2008-03/msg00047.php
@@ -840,7 +840,7 @@ SQL Commands
840840
like CHECK that are inherited by child tables unless CASCADE
841841
is used
842842
o -Prevent child tables from altering or dropping constraints
843-
like CHECK that were inherited from the parent table
843+
like CHECK that were inherited from the parent table
844844
o Have ALTER INDEX update the name of a constraint using that index
845845
o Add ALTER TABLE RENAME CONSTRAINT, update index name also
846846
o Allow column display reordering by recording a display,
@@ -860,7 +860,7 @@ SQL Commands
860860
This might require some background daemon to maintain clustering
861861
during periods of low usage. It might also require tables to be only
862862
partially filled for easier reorganization. Another idea would
863-
be to create a merged heap/index data file so an index lookup would
863+
be to create a merged heap/index data file so an index lookup would
864864
automatically access the heap data too. A third idea would be to
865865
store heap rows in hashed groups, perhaps using a user-supplied
866866
hash function.
@@ -915,7 +915,7 @@ SQL Commands
915915

916916
o Allow COPY to report errors sooner
917917

918-
http://archives.postgresql.org/pgsql-hackers/2008-04/msg01169.php
918+
http://archives.postgresql.org/pgsql-hackers/2008-04/msg01169.php
919919

920920

921921

@@ -958,7 +958,7 @@ SQL Commands
958958

959959
o Allow LISTEN/NOTIFY to store info in memory rather than tables?
960960

961-
Currently LISTEN/NOTIFY information is stored in pg_listener.
961+
Currently LISTEN/NOTIFY information is stored in pg_listener.
962962
Storing such information in memory would improve performance.
963963

964964
o Add optional textual message to NOTIFY
@@ -1154,7 +1154,7 @@ Clients
11541154
o -Improve display of enums to show valid enum values
11551155
o Add prompt escape to display the client and server versions
11561156
o Add option to wrap column values at whitespace boundaries,
1157-
rather than chopping them at a fixed width.
1157+
rather than chopping them at a fixed width.
11581158

11591159
Currently, "wrapped" format chops values into fixed
11601160
widths. Perhaps the word wrapping could use the same
@@ -1195,7 +1195,7 @@ Clients
11951195
http://archives.postgresql.org/pgsql-hackers/2008-02/msg00205.php
11961196

11971197
o Allow pg_restore to utilize multiple CPUs and I/O channels by
1198-
restoring multiple objects simultaneously
1198+
restoring multiple objects simultaneously
11991199

12001200
This might require a pg_restore flag to indicate how many
12011201
simultaneous operations should be performed. Only pg_dump's
@@ -1208,7 +1208,7 @@ Clients
12081208
concurrently, via a single heap scan
12091209

12101210
This requires a pg_dump -Fc file because that format contains
1211-
the required dependency information.
1211+
the required dependency information.
12121212
http://archives.postgresql.org/pgsql-general/2007-05/msg01274.php
12131213

12141214
o Allow pg_restore to load different parts of the COPY data
@@ -1435,7 +1435,7 @@ Indexes
14351435

14361436
* Hash
14371437

1438-
http://archives.postgresql.org/pgsql-hackers/2007-09/msg00051.php
1438+
o http://archives.postgresql.org/pgsql-hackers/2007-09/msg00051.php
14391439

14401440
o Pack hash index buckets onto disk pages more efficiently
14411441

@@ -1526,7 +1526,7 @@ Cache Usage
15261526
page of bitmaps could track 512MB of heap pages.
15271527

15281528
A third idea would be for a heap scan to check if all rows are visible
1529-
and if so set a per-table flag which can be checked by index scans.
1529+
and if so set a per-table flag which can be checked by index scans.
15301530
Any change to the table would have to clear the flag. To detect
15311531
changes during the heap scan a counter could be set at the start and
15321532
checked at the end --- if it is the same, the table has not been
@@ -1536,11 +1536,9 @@ Cache Usage
15361536
http://archives.postgresql.org/pgsql-patches/2008-01/msg00049.php
15371537

15381538
* Consider automatic caching of statements at various levels:
1539+
parsed query tree, query execution plan, query results
15391540

1540-
o Parsed query tree
1541-
o Query execute plan
1542-
o Query results
1543-
http://archives.postgresql.org/pgsql-hackers/2008-04/msg00823.php
1541+
http://archives.postgresql.org/pgsql-hackers/2008-04/msg00823.php
15441542

15451543
* Consider increasing internal areas when shared buffers is increased
15461544

@@ -1617,7 +1615,7 @@ Vacuum
16171615

16181616
http://archives.postgresql.org/pgsql-hackers/2006-12/msg00876.php
16191617

1620-
o Prevent long-lived temporary tables from causing frozen-xid
1618+
o -Prevent long-lived temporary tables from causing frozen-xid
16211619
advancement starvation
16221620

16231621
The problem is that autovacuum cannot vacuum them to set frozen xids;
@@ -1639,7 +1637,7 @@ Vacuum
16391637
Locking
16401638
=======
16411639

1642-
* Fix priority ordering of read and write light-weight locks (Neil)
1640+
* Fix priority ordering of read and write light-weight locks
16431641

16441642
http://archives.postgresql.org/pgsql-hackers/2004-11/msg00893.php
16451643
http://archives.postgresql.org/pgsql-hackers/2004-11/msg00905.php
@@ -1822,7 +1820,7 @@ Background Writer
18221820
catalogs and the transaction status log.
18231821

18241822
* Consider adding buffers the background writer finds reusable to the
1825-
free list
1823+
free list
18261824

18271825
http://archives.postgresql.org/pgsql-hackers/2007-04/msg00781.php
18281826

@@ -1925,7 +1923,7 @@ Miscellaneous Performance
19251923

19261924
http://archives.postgresql.org/pgsql-committers/2007-11/msg00585.php
19271925

1928-
* Improve performance of shared invalidation queue for multiple CPUs
1926+
* -Improve performance of shared invalidation queue for multiple CPUs
19291927

19301928
http://archives.postgresql.org/pgsql-performance/2008-01/msg00023.php
19311929

@@ -1975,7 +1973,7 @@ Source Code
19751973
* %Remove warnings created by -Wcast-align
19761974
* Move platform-specific ps status display info from ps_status.c to ports
19771975
* Add optional CRC checksum to heap and index pages
1978-
* Improve documentation to build only interfaces (Marc)
1976+
* Improve documentation to build only interfaces
19791977
* Remove or relicense modules that are not under the BSD license, if possible
19801978
* Acquire lock on a relation before building a relcache entry for it
19811979
* Allow cross-compiling by generating the zic database on the target system
@@ -2132,7 +2130,7 @@ Exotic Features
21322130
modification.
21332131

21342132
* Allow plug-in modules to emulate features from other databases
2135-
* Add features of Oracle-style packages (Pavel)
2133+
* Add features of Oracle-style packages
21362134

21372135
A package would be a schema with session-local variables,
21382136
public/private functions, and initialization functions. It

0 commit comments

Comments
 (0)