Skip to content

Commit 883b6a8

Browse files
committed
Remove TODO.detail references; instead add TODO URLs pointing to the
archives. We have been using URLs for a while for new items.
1 parent 05ace73 commit 883b6a8

File tree

2 files changed

+59
-50
lines changed

2 files changed

+59
-50
lines changed

doc/TODO

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,14 @@
11
PostgreSQL TODO List
22
====================
33
Current maintainer: Bruce Momjian (bruce@momjian.us)
4-
Last updated: Thu Apr 17 16:56:51 EDT 2008
4+
Last updated: Sat Apr 19 08:15:19 EDT 2008
55

66
The most recent version of this document can be viewed at
77
http://www.postgresql.org/docs/faqs.TODO.html.
88

99
#A hyphen, "-", marks changes that will appear in the upcoming 8.3 release.#
1010
#A percent sign, "%", marks items that are easier to implement.#
1111

12-
Bracketed items, "[]", have more detail.
13-
1412
This list contains all known PostgreSQL bugs and feature requests. If
1513
you would like to work on an item, please read the Developer's FAQ
1614
first. There is also a developer's wiki at
@@ -162,7 +160,6 @@ Administration
162160
* Point-In-Time Recovery (PITR)
163161

164162
o Allow a warm standby system to also allow read-only statements
165-
[pitr]
166163

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

@@ -275,10 +272,11 @@ Data Types
275272
o Merge hardwired timezone names with the TZ database; allow either
276273
kind everywhere a TZ name is currently taken
277274
o Allow TIMESTAMP WITH TIME ZONE to store the original timezone
278-
information, either zone name or offset from UTC [timezone]
275+
information, either zone name or offset from UTC
279276

280277
If the TIMESTAMP value is stored with a time zone name, interval
281278
computations should adjust based on the time zone rules.
279+
http://archives.postgresql.org/pgsql-hackers/2004-10/msg00705.php
282280

283281
o Fix SELECT '0.01 years'::interval, '0.01 months'::interval
284282
o Add a GUC variable to allow output of interval values in ISO8601
@@ -503,18 +501,23 @@ Multi-Language Support
503501
database creation might have locale-aware indexes. The indexes would
504502
need to be reindexed to match the new locale.
505503

506-
* Allow encoding on a per-column basis optionally using the ICU library
504+
* Allow encoding on a per-column basis optionally using the ICU library;
505+
Add CREATE COLLATE
507506

508-
Right now only one encoding is allowed per database. [locale]
507+
Right now only one encoding is allowed per database.
509508

510509
http://archives.postgresql.org/pgsql-hackers/2005-03/msg00932.php
510+
http://archives.postgresql.org/pgsql-patches/2005-08/msg00039.php
511511
http://archives.postgresql.org/pgsql-patches/2005-08/msg00309.php
512+
http://archives.postgresql.org/pgsql-hackers/2005-09/msg00110.php
513+
http://archives.postgresql.org/pgsql-patches/2005-09/msg00020.php
514+
http://archives.postgresql.org/pgsql-hackers/2005-12/msg01121.php
515+
http://archives.postgresql.org/pgsql-hackers/2006-01/msg00767.php
512516
http://archives.postgresql.org/pgsql-patches/2006-03/msg00233.php
513517
http://archives.postgresql.org/pgsql-hackers/2006-09/msg00662.php
514518
http://wiki.postgresql.org/wiki/Todo:Collate
515519
http://wiki.postgresql.org/wiki/Todo:ICU
516520

517-
* Add CREATE COLLATE? [locale]
518521
* Support multiple simultaneous character sets, per SQL92
519522
* Improve UTF8 combined character handling?
520523
* Add octet_length_server() and octet_length_client()
@@ -601,20 +604,16 @@ SQL Commands
601604
http://archives.postgresql.org/pgsql-hackers/2006-11/msg00092.php
602605

603606
* Add a GUC variable to warn about non-standard SQL usage in queries
604-
* Add SQL-standard MERGE command, typically used to merge two tables
605-
[merge]
606-
607-
This is similar to UPDATE, then for unmatched rows, INSERT.
608-
Whether concurrent access allows modifications which could cause
609-
row loss is implementation independent.
610-
611-
* Add REPLACE or UPSERT command that does UPDATE, or on failure, INSERT
612-
[merge]
607+
* Add SQL-standard MERGE/REPLACE/UPSERT command
613608

609+
MERGE is typically used to merge two tables. REPLACE or UPSERT
610+
command does UPDATE, or on failure, INSERT. This is similar to UPDATE,
611+
then for unmatched rows, INSERT. Whether concurrent access allows
612+
modifications which could cause row loss is implementation independent.
614613
To implement this cleanly requires that the table have a unique index
615-
so duplicate checking can be easily performed. It is possible to
616-
do it without a unique index if we require the user to LOCK the table
617-
before the MERGE.
614+
so duplicate checking can be easily performed. It is possible to do it
615+
without a unique index if we require the user to LOCK the table before
616+
the MERGE.
618617

619618
http://archives.postgresql.org/pgsql-hackers/2005-11/msg00501.php
620619
http://archives.postgresql.org/pgsql-hackers/2005-11/msg00536.php
@@ -1007,10 +1006,11 @@ Clients
10071006
* psql
10081007
o Have psql show current values for a sequence
10091008
o Move psql backslash database information into the backend, use
1010-
mnemonic commands? [psql]
1009+
mnemonic commands?
10111010

10121011
This would allow non-psql clients to pull the same information out
10131012
of the database as psql.
1013+
http://archives.postgresql.org/pgsql-hackers/2004-01/msg00191.php
10141014

10151015
o Make psql's \d commands more consistent
10161016

@@ -1539,7 +1539,7 @@ Locking
15391539
Startup Time Improvements
15401540
=========================
15411541

1542-
* Experiment with multi-threaded backend for backend creation [thread]
1542+
* Experiment with multi-threaded backend for backend creation
15431543

15441544
This would prevent the overhead associated with process creation. Most
15451545
operating systems have trivial process creation time compared to
@@ -1552,12 +1552,13 @@ Startup Time Improvements
15521552
Write-Ahead Log
15531553
===============
15541554

1555-
* Eliminate need to write full pages to WAL before page modification [wal]
1555+
* Eliminate need to write full pages to WAL before page modification
15561556

15571557
Currently, to protect against partial disk page writes, we write
15581558
full page images to WAL before they are modified so we can correct any
15591559
partial page writes during recovery. These pages can also be
15601560
eliminated from point-in-time archive files.
1561+
http://archives.postgresql.org/pgsql-hackers/2002-06/msg00655.php
15611562

15621563
o When off, write CRC to WAL and check file system blocks
15631564
on recovery
@@ -1590,25 +1591,28 @@ Write-Ahead Log
15901591
Currently fsync of WAL requires the disk platter to perform a full
15911592
rotation to fsync again. One idea is to write the WAL to different
15921593
offsets that might reduce the rotational delay.
1594+
http://archives.postgresql.org/pgsql-hackers/2002-11/msg00483.php
15931595

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

15971599
Allow tables to bypass WAL writes and just fsync() dirty pages on
15981600
commit. This should be implemented using ALTER TABLE, e.g. ALTER
15991601
TABLE PERSISTENCE [ DROP | TRUNCATE | DEFAULT ]. Tables using
16001602
non-default logging should not use referential integrity with
16011603
default-logging tables. A table without dirty buffers during a
16021604
crash could perhaps avoid the drop/truncate.
1605+
http://archives.postgresql.org/pgsql-hackers/2005-12/msg01016.php
16031606

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

16071610
To do this, only a single writer can modify the table, and writes
16081611
must happen only on new pages so the new pages can be removed during
16091612
crash recovery. Readers can continue accessing the table. Such
16101613
tables probably cannot have indexes. One complexity is the handling
16111614
of indexes on TOAST tables.
1615+
http://archives.postgresql.org/pgsql-hackers/2005-12/msg01016.php
16121616

16131617
* Speed WAL recovery by allowing more than one page to be prefetched
16141618

doc/src/FAQ/TODO.html

Lines changed: 30 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,14 @@
88
<body bgcolor="#FFFFFF" text="#000000" link="#FF0000" vlink="#A00000" alink="#0000FF">
99
<h1><a name="section_1">PostgreSQL TODO List</a></h1>
1010
<p>Current maintainer: Bruce Momjian (<a href="mailto:bruce@momjian.us">bruce@momjian.us</a>)<br/>
11-
Last updated: Thu Apr 17 16:56:51 EDT 2008
11+
Last updated: Sat Apr 19 08:15:19 EDT 2008
1212
</p>
1313
<p>The most recent version of this document can be viewed at<br/>
1414
<a href="http://www.postgresql.org/docs/faqs.TODO.html">http://www.postgresql.org/docs/faqs.TODO.html</a>.
1515
</p>
1616
<p><strong>A hyphen, "-", marks changes that will appear in the upcoming 8.3 release.</strong><br/>
1717
<strong>A percent sign, "%", marks items that are easier to implement.</strong>
1818
</p>
19-
<p>Bracketed items, "[<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?"></a>]", have more detail.
20-
</p>
2119
<p>This list contains all known PostgreSQL bugs and feature requests. If<br/>
2220
you would like to work on an item, please read the Developer's FAQ<br/>
2321
first. There is also a developer's wiki at<br/>
@@ -149,7 +147,6 @@ <h1><a name="section_2">Administration</a></h1>
149147
</li><li>Point-In-Time Recovery (PITR)
150148
<ul>
151149
<li>Allow a warm standby system to also allow read-only statements
152-
[<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?pitr">pitr</a>]
153150
<p> <a href="http://archives.postgresql.org/pgsql-hackers/2007-03/msg00050.php">http://archives.postgresql.org/pgsql-hackers/2007-03/msg00050.php</a>
154151
</p>
155152
</li><li>%Create dump tool for write-ahead logs for use in determining
@@ -241,9 +238,10 @@ <h1><a name="section_3">Data Types</a></h1>
241238
</li><li>Merge hardwired timezone names with the TZ database; allow either
242239
kind everywhere a TZ name is currently taken
243240
</li><li>Allow TIMESTAMP WITH TIME ZONE to store the original timezone
244-
information, either zone name or offset from UTC [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?timezone">timezone</a>]
241+
information, either zone name or offset from UTC
245242
<p> If the TIMESTAMP value is stored with a time zone name, interval
246243
computations should adjust based on the time zone rules.
244+
<a href="http://archives.postgresql.org/pgsql-hackers/2004-10/msg00705.php">http://archives.postgresql.org/pgsql-hackers/2004-10/msg00705.php</a>
247245
</p>
248246
</li><li>Fix SELECT '0.01 years'::interval, '0.01 months'::interval
249247
</li><li>Add a GUC variable to allow output of interval values in ISO8601
@@ -439,17 +437,22 @@ <h1><a name="section_5">Multi-Language Support</a></h1>
439437
database creation might have locale-aware indexes. The indexes would
440438
need to be reindexed to match the new locale.
441439
</p>
442-
</li><li>Allow encoding on a per-column basis optionally using the ICU library
443-
<p> Right now only one encoding is allowed per database. [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?locale">locale</a>]
440+
</li><li>Allow encoding on a per-column basis optionally using the ICU library;
441+
Add CREATE COLLATE
442+
<p> Right now only one encoding is allowed per database.
444443
</p>
445444
<p> <a href="http://archives.postgresql.org/pgsql-hackers/2005-03/msg00932.php">http://archives.postgresql.org/pgsql-hackers/2005-03/msg00932.php</a>
445+
<a href="http://archives.postgresql.org/pgsql-patches/2005-08/msg00039.php">http://archives.postgresql.org/pgsql-patches/2005-08/msg00039.php</a>
446446
<a href="http://archives.postgresql.org/pgsql-patches/2005-08/msg00309.php">http://archives.postgresql.org/pgsql-patches/2005-08/msg00309.php</a>
447+
<a href="http://archives.postgresql.org/pgsql-hackers/2005-09/msg00110.php">http://archives.postgresql.org/pgsql-hackers/2005-09/msg00110.php</a>
448+
<a href="http://archives.postgresql.org/pgsql-patches/2005-09/msg00020.php">http://archives.postgresql.org/pgsql-patches/2005-09/msg00020.php</a>
449+
<a href="http://archives.postgresql.org/pgsql-hackers/2005-12/msg01121.php">http://archives.postgresql.org/pgsql-hackers/2005-12/msg01121.php</a>
450+
<a href="http://archives.postgresql.org/pgsql-hackers/2006-01/msg00767.php">http://archives.postgresql.org/pgsql-hackers/2006-01/msg00767.php</a>
447451
<a href="http://archives.postgresql.org/pgsql-patches/2006-03/msg00233.php">http://archives.postgresql.org/pgsql-patches/2006-03/msg00233.php</a>
448452
<a href="http://archives.postgresql.org/pgsql-hackers/2006-09/msg00662.php">http://archives.postgresql.org/pgsql-hackers/2006-09/msg00662.php</a>
449453
<a href="http://wiki.postgresql.org/wiki/Todo:Collate">http://wiki.postgresql.org/wiki/Todo:Collate</a>
450454
<a href="http://wiki.postgresql.org/wiki/Todo:ICU">http://wiki.postgresql.org/wiki/Todo:ICU</a>
451455
</p>
452-
</li><li>Add CREATE COLLATE? [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?locale">locale</a>]
453456
</li><li>Support multiple simultaneous character sets, per SQL92
454457
</li><li>Improve UTF8 combined character handling?
455458
</li><li>Add octet_length_server() and octet_length_client()
@@ -523,18 +526,15 @@ <h1><a name="section_7">SQL Commands</a></h1>
523526
<p> <a href="http://archives.postgresql.org/pgsql-hackers/2006-11/msg00092.php">http://archives.postgresql.org/pgsql-hackers/2006-11/msg00092.php</a>
524527
</p>
525528
</li><li>Add a GUC variable to warn about non-standard SQL usage in queries
526-
</li><li>Add SQL-standard MERGE command, typically used to merge two tables
527-
[<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?merge">merge</a>]
528-
<p> This is similar to UPDATE, then for unmatched rows, INSERT.
529-
Whether concurrent access allows modifications which could cause
530-
row loss is implementation independent.
531-
</p>
532-
</li><li>Add REPLACE or UPSERT command that does UPDATE, or on failure, INSERT
533-
[<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?merge">merge</a>]
534-
<p> To implement this cleanly requires that the table have a unique index
535-
so duplicate checking can be easily performed. It is possible to
536-
do it without a unique index if we require the user to LOCK the table
537-
before the MERGE.
529+
</li><li>Add SQL-standard MERGE/REPLACE/UPSERT command
530+
<p> MERGE is typically used to merge two tables. REPLACE or UPSERT
531+
command does UPDATE, or on failure, INSERT. This is similar to UPDATE,
532+
then for unmatched rows, INSERT. Whether concurrent access allows
533+
modifications which could cause row loss is implementation independent.
534+
To implement this cleanly requires that the table have a unique index
535+
so duplicate checking can be easily performed. It is possible to do it
536+
without a unique index if we require the user to LOCK the table before
537+
the MERGE.
538538
</p>
539539
<p> <a href="http://archives.postgresql.org/pgsql-hackers/2005-11/msg00501.php">http://archives.postgresql.org/pgsql-hackers/2005-11/msg00501.php</a>
540540
<a href="http://archives.postgresql.org/pgsql-hackers/2005-11/msg00536.php">http://archives.postgresql.org/pgsql-hackers/2005-11/msg00536.php</a>
@@ -872,9 +872,10 @@ <h1><a name="section_10">Clients</a></h1>
872872
<ul>
873873
<li>Have psql show current values for a sequence
874874
</li><li>Move psql backslash database information into the backend, use
875-
mnemonic commands? [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?psql">psql</a>]
875+
mnemonic commands?
876876
<p> This would allow non-psql clients to pull the same information out
877877
of the database as psql.
878+
<a href="http://archives.postgresql.org/pgsql-hackers/2004-01/msg00191.php">http://archives.postgresql.org/pgsql-hackers/2004-01/msg00191.php</a>
878879
</p>
879880
</li><li>Make psql's \d commands more consistent
880881
<p> <a href="http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php">http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php</a>
@@ -1331,7 +1332,7 @@ <h1><a name="section_16">Locking</a></h1>
13311332
<h1><a name="section_17">Startup Time Improvements</a></h1>
13321333

13331334
<ul>
1334-
<li>Experiment with multi-threaded backend for backend creation [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?thread">thread</a>]
1335+
<li>Experiment with multi-threaded backend for backend creation
13351336
<p> This would prevent the overhead associated with process creation. Most
13361337
operating systems have trivial process creation time compared to
13371338
database startup overhead, but a few operating systems (Win32,
@@ -1342,11 +1343,12 @@ <h1><a name="section_17">Startup Time Improvements</a></h1>
13421343
<h1><a name="section_18">Write-Ahead Log</a></h1>
13431344

13441345
<ul>
1345-
<li>Eliminate need to write full pages to WAL before page modification [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?wal">wal</a>]
1346+
<li>Eliminate need to write full pages to WAL before page modification
13461347
<p> Currently, to protect against partial disk page writes, we write
13471348
full page images to WAL before they are modified so we can correct any
13481349
partial page writes during recovery. These pages can also be
13491350
eliminated from point-in-time archive files.
1351+
<a href="http://archives.postgresql.org/pgsql-hackers/2002-06/msg00655.php">http://archives.postgresql.org/pgsql-hackers/2002-06/msg00655.php</a>
13501352
</p>
13511353
<ul>
13521354
<li>When off, write CRC to WAL and check file system blocks
@@ -1376,23 +1378,26 @@ <h1><a name="section_18">Write-Ahead Log</a></h1>
13761378
<p> Currently fsync of WAL requires the disk platter to perform a full
13771379
rotation to fsync again. One idea is to write the WAL to different
13781380
offsets that might reduce the rotational delay.
1381+
<a href="http://archives.postgresql.org/pgsql-hackers/2002-11/msg00483.php">http://archives.postgresql.org/pgsql-hackers/2002-11/msg00483.php</a>
13791382
</p>
13801383
</li><li>Allow WAL logging to be turned off for a table, but the table
1381-
might be dropped or truncated during crash recovery [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?walcontrol">walcontrol</a>]
1384+
might be dropped or truncated during crash recovery
13821385
<p> Allow tables to bypass WAL writes and just fsync() dirty pages on
13831386
commit. This should be implemented using ALTER TABLE, e.g. ALTER
13841387
TABLE PERSISTENCE [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo? DROP | TRUNCATE | DEFAULT "> DROP | TRUNCATE | DEFAULT </a>]. Tables using
13851388
non-default logging should not use referential integrity with
13861389
default-logging tables. A table without dirty buffers during a
13871390
crash could perhaps avoid the drop/truncate.
1391+
<a href="http://archives.postgresql.org/pgsql-hackers/2005-12/msg01016.php">http://archives.postgresql.org/pgsql-hackers/2005-12/msg01016.php</a>
13881392
</p>
13891393
</li><li>Allow WAL logging to be turned off for a table, but the table would
1390-
avoid being truncated/dropped [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?walcontrol">walcontrol</a>]
1394+
avoid being truncated/dropped
13911395
<p> To do this, only a single writer can modify the table, and writes
13921396
must happen only on new pages so the new pages can be removed during
13931397
crash recovery. Readers can continue accessing the table. Such
13941398
tables probably cannot have indexes. One complexity is the handling
13951399
of indexes on TOAST tables.
1400+
<a href="http://archives.postgresql.org/pgsql-hackers/2005-12/msg01016.php">http://archives.postgresql.org/pgsql-hackers/2005-12/msg01016.php</a>
13961401
</p>
13971402
</li><li>Speed WAL recovery by allowing more than one page to be prefetched
13981403
<p> This should be done utilizing the same infrastructure used for

0 commit comments

Comments
 (0)