@@ -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
384384o Add security checking for large objects
385385o Auto-delete large objects when referencing row is deleted
386386
387- contrib/lo offers this functionality.
387+ contrib/lo offers this functionality.
388388
389389o 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
842842o -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
844844o Have ALTER INDEX update the name of a constraint using that index
845845o Add ALTER TABLE RENAME CONSTRAINT, update index name also
846846o 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
916916o 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
959959o 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
964964o Add optional textual message to NOTIFY
@@ -1154,7 +1154,7 @@ Clients
11541154o -Improve display of enums to show valid enum values
11551155o Add prompt escape to display the client and server versions
11561156o 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
11971197o 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
12141214o 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
14401440o 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
16391637Locking
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