Break out referential integrity and server-side languages into separate

TODO categories.
This commit is contained in:
Bruce Momjian 2008-03-06 03:15:52 +00:00
parent 4d436efca8
commit fca7bcbb64
2 changed files with 125 additions and 122 deletions

View File

@ -1,7 +1,7 @@
PostgreSQL TODO List PostgreSQL TODO List
==================== ====================
Current maintainer: Bruce Momjian (bruce@momjian.us) Current maintainer: Bruce Momjian (bruce@momjian.us)
Last updated: Wed Mar 5 11:07:13 EST 2008 Last updated: Wed Mar 5 22:15:29 EST 2008
The most recent version of this document can be viewed at The most recent version of this document can be viewed at
http://www.postgresql.org/docs/faqs.TODO.html. http://www.postgresql.org/docs/faqs.TODO.html.
@ -711,31 +711,33 @@ SQL Commands
ANALYZE, and CLUSTER ANALYZE, and CLUSTER
* Referential Integrity
o Add MATCH PARTIAL referential integrity Referential Integrity
o Change foreign key constraint for array -> element to mean element =====================
* Add MATCH PARTIAL referential integrity
* Change foreign key constraint for array -> element to mean element
in array? in array?
o Fix problem when cascading referential triggers make changes on * Fix problem when cascading referential triggers make changes on
cascaded tables, seeing the tables in an intermediate state cascaded tables, seeing the tables in an intermediate state
http://archives.postgresql.org/pgsql-hackers/2005-09/msg00174.php http://archives.postgresql.org/pgsql-hackers/2005-09/msg00174.php
http://archives.postgresql.org/pgsql-hackers/2005-09/msg00174.php http://archives.postgresql.org/pgsql-hackers/2005-09/msg00174.php
o Allow DEFERRABLE and end-of-statement UNIQUE constraints? * Allow DEFERRABLE and end-of-statement UNIQUE constraints?
This would allow UPDATE tab SET col = col + 1 to work if col has This would allow UPDATE tab SET col = col + 1 to work if col has
a unique index. Currently, uniqueness checks are done while the a unique index. Currently, uniqueness checks are done while the
command is being executed, rather than at the end of the statement command is being executed, rather than at the end of the statement
or transaction. or transaction.
http://people.planetpostgresql.org/greg/index.php?/archives/2006/06/10.html http://people.planetpostgresql.org/greg/index.php?/archives/2006/06/10.html
http://archives.postgresql.org/pgsql-hackers/2006-09/msg01458.php http://archives.postgresql.org/pgsql-hackers/2006-09/msg01458.php
* Server-Side Languages Server-Side Languages
=====================
o PL/pgSQL * PL/pgSQL
o Fix RENAME to work on variables other than OLD/NEW o Fix RENAME to work on variables other than OLD/NEW
http://archives.postgresql.org/pgsql-hackers/2002-03/msg00591.php http://archives.postgresql.org/pgsql-hackers/2002-03/msg00591.php
@ -763,7 +765,7 @@ SQL Commands
http://archives.postgresql.org/pgsql-hackers/2006-10/msg00070.php http://archives.postgresql.org/pgsql-hackers/2006-10/msg00070.php
o Other * Other
o Add table function support to pltcl, plpythonu o Add table function support to pltcl, plpythonu
o Add support for polymorphic arguments and return types to o Add support for polymorphic arguments and return types to
languages other than PL/PgSQL languages other than PL/PgSQL

View File

@ -8,7 +8,7 @@
<body bgcolor="#FFFFFF" text="#000000" link="#FF0000" vlink="#A00000" alink="#0000FF"> <body bgcolor="#FFFFFF" text="#000000" link="#FF0000" vlink="#A00000" alink="#0000FF">
<h1><a name="section_1">PostgreSQL TODO List</a></h1> <h1><a name="section_1">PostgreSQL TODO List</a></h1>
<p>Current maintainer: Bruce Momjian (<a href="mailto:bruce@momjian.us">bruce@momjian.us</a>)<br/> <p>Current maintainer: Bruce Momjian (<a href="mailto:bruce@momjian.us">bruce@momjian.us</a>)<br/>
Last updated: Wed Mar 5 11:07:13 EST 2008 Last updated: Wed Mar 5 22:15:29 EST 2008
</p> </p>
<p>The most recent version of this document can be viewed at<br/> <p>The most recent version of this document can be viewed at<br/>
<a href="http://www.postgresql.org/docs/faqs.TODO.html">http://www.postgresql.org/docs/faqs.TODO.html</a>. <a href="http://www.postgresql.org/docs/faqs.TODO.html">http://www.postgresql.org/docs/faqs.TODO.html</a>.
@ -623,7 +623,9 @@ first. There is also a developer's wiki at<br/>
<li>Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM <li>Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM
ANALYZE, and CLUSTER ANALYZE, and CLUSTER
</li></ul> </li></ul>
</li><li>Referential Integrity </li></ul>
<h1><a name="section_8">Referential Integrity</a></h1>
<ul> <ul>
<li>Add MATCH PARTIAL referential integrity <li>Add MATCH PARTIAL referential integrity
</li><li>Change foreign key constraint for array -&gt; element to mean element </li><li>Change foreign key constraint for array -&gt; element to mean element
@ -638,12 +640,12 @@ first. There is also a developer's wiki at<br/>
a unique index. Currently, uniqueness checks are done while the a unique index. Currently, uniqueness checks are done while the
command is being executed, rather than at the end of the statement command is being executed, rather than at the end of the statement
or transaction. or transaction.
</p> <a href="http://people.planetpostgresql.org/greg/index.php?/archives/2006/06/10.html">http://people.planetpostgresql.org/greg/index.php?/archives/2006/06/10.html</a>
<p> <a href="http://people.planetpostgresql.org/greg/index.php?/archives/2006/06/10.html">http://people.planetpostgresql.org/greg/index.php?/archives/2006/06/10.html</a>
<a href="http://archives.postgresql.org/pgsql-hackers/2006-09/msg01458.php">http://archives.postgresql.org/pgsql-hackers/2006-09/msg01458.php</a> <a href="http://archives.postgresql.org/pgsql-hackers/2006-09/msg01458.php">http://archives.postgresql.org/pgsql-hackers/2006-09/msg01458.php</a>
</p> </p>
</li></ul> </li></ul>
</li><li>Server-Side Languages <h1><a name="section_9">Server-Side Languages</a></h1>
<ul> <ul>
<li>PL/pgSQL <li>PL/pgSQL
<ul> <ul>
@ -689,8 +691,7 @@ first. There is also a developer's wiki at<br/>
</p> </p>
</li></ul> </li></ul>
</li></ul> </li></ul>
</li></ul> <h1><a name="section_10">Clients</a></h1>
<h1><a name="section_8">Clients</a></h1>
<ul> <ul>
<li>Have pg_ctl look at PGHOST in case it is a socket directory? <li>Have pg_ctl look at PGHOST in case it is a socket directory?
@ -821,7 +822,7 @@ first. There is also a developer's wiki at<br/>
</p> </p>
</li></ul> </li></ul>
</li></ul> </li></ul>
<h1><a name="section_9">Triggers</a></h1> <h1><a name="section_11">Triggers</a></h1>
<ul> <ul>
<li>Add deferred trigger queue file <li>Add deferred trigger queue file
@ -859,7 +860,7 @@ first. There is also a developer's wiki at<br/>
<p> <a href="http://archives.postgresql.org/pgsql-sql/2008-01/msg00050.php">http://archives.postgresql.org/pgsql-sql/2008-01/msg00050.php</a> <p> <a href="http://archives.postgresql.org/pgsql-sql/2008-01/msg00050.php">http://archives.postgresql.org/pgsql-sql/2008-01/msg00050.php</a>
</p> </p>
</li></ul> </li></ul>
<h1><a name="section_10">Indexes</a></h1> <h1><a name="section_12">Indexes</a></h1>
<ul> <ul>
<li>Add UNIQUE capability to non-btree indexes <li>Add UNIQUE capability to non-btree indexes
@ -931,7 +932,7 @@ first. There is also a developer's wiki at<br/>
<p> <a href="http://archives.postgresql.org/pgsql-hackers/2007-03/msg01199.php">http://archives.postgresql.org/pgsql-hackers/2007-03/msg01199.php</a> <p> <a href="http://archives.postgresql.org/pgsql-hackers/2007-03/msg01199.php">http://archives.postgresql.org/pgsql-hackers/2007-03/msg01199.php</a>
</p> </p>
</li></ul> </li></ul>
<h1><a name="section_11">Fsync</a></h1> <h1><a name="section_13">Fsync</a></h1>
<ul> <ul>
<li>Determine optimal fdatasync/fsync, O_SYNC/O_DSYNC options <li>Determine optimal fdatasync/fsync, O_SYNC/O_DSYNC options
@ -941,7 +942,7 @@ first. There is also a developer's wiki at<br/>
</p> </p>
</li><li>Add program to test if fsync has a delay compared to non-fsync </li><li>Add program to test if fsync has a delay compared to non-fsync
</li></ul> </li></ul>
<h1><a name="section_12">Cache Usage</a></h1> <h1><a name="section_14">Cache Usage</a></h1>
<ul> <ul>
<li>Speed up COUNT(*) <li>Speed up COUNT(*)
@ -994,7 +995,7 @@ first. There is also a developer's wiki at<br/>
<a href="http://archives.postgresql.org/pgsql-hackers/2007-01/msg00752.php">http://archives.postgresql.org/pgsql-hackers/2007-01/msg00752.php</a> <a href="http://archives.postgresql.org/pgsql-hackers/2007-01/msg00752.php">http://archives.postgresql.org/pgsql-hackers/2007-01/msg00752.php</a>
</p> </p>
</li></ul> </li></ul>
<h1><a name="section_13">Vacuum</a></h1> <h1><a name="section_15">Vacuum</a></h1>
<ul> <ul>
<li>Improve speed with indexes <li>Improve speed with indexes
@ -1045,7 +1046,7 @@ first. There is also a developer's wiki at<br/>
</p> </p>
</li></ul> </li></ul>
</li></ul> </li></ul>
<h1><a name="section_14">Locking</a></h1> <h1><a name="section_16">Locking</a></h1>
<ul> <ul>
<li>Fix priority ordering of read and write light-weight locks (Neil) <li>Fix priority ordering of read and write light-weight locks (Neil)
@ -1071,7 +1072,7 @@ first. There is also a developer's wiki at<br/>
<a href="http://archives.postgresql.org/pgsql-committers/2008-01/msg00365.php">http://archives.postgresql.org/pgsql-committers/2008-01/msg00365.php</a> <a href="http://archives.postgresql.org/pgsql-committers/2008-01/msg00365.php">http://archives.postgresql.org/pgsql-committers/2008-01/msg00365.php</a>
</p> </p>
</li></ul> </li></ul>
<h1><a name="section_15">Startup Time Improvements</a></h1> <h1><a name="section_17">Startup Time Improvements</a></h1>
<ul> <ul>
<li>Experiment with multi-threaded backend for backend creation [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?thread">thread</a>] <li>Experiment with multi-threaded backend for backend creation [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?thread">thread</a>]
@ -1082,7 +1083,7 @@ first. There is also a developer's wiki at<br/>
a single session using multiple threads to execute a statement faster. a single session using multiple threads to execute a statement faster.
</p> </p>
</li></ul> </li></ul>
<h1><a name="section_16">Write-Ahead Log</a></h1> <h1><a name="section_18">Write-Ahead Log</a></h1>
<ul> <ul>
<li>Eliminate need to write full pages to WAL before page modification [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?wal">wal</a>] <li>Eliminate need to write full pages to WAL before page modification [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?wal">wal</a>]
@ -1143,7 +1144,7 @@ first. There is also a developer's wiki at<br/>
<a href="http://archives.postgresql.org/pgsql-hackers/2008-02/msg01279.php">http://archives.postgresql.org/pgsql-hackers/2008-02/msg01279.php</a> <a href="http://archives.postgresql.org/pgsql-hackers/2008-02/msg01279.php">http://archives.postgresql.org/pgsql-hackers/2008-02/msg01279.php</a>
</p> </p>
</li></ul> </li></ul>
<h1><a name="section_17">Optimizer / Executor</a></h1> <h1><a name="section_19">Optimizer / Executor</a></h1>
<ul> <ul>
<li>Improve selectivity functions for geometric operators <li>Improve selectivity functions for geometric operators
@ -1166,7 +1167,7 @@ first. There is also a developer's wiki at<br/>
<p> <a href="http://archives.postgresql.org/pgsql-hackers/2007-01/msg00096.php">http://archives.postgresql.org/pgsql-hackers/2007-01/msg00096.php</a> <p> <a href="http://archives.postgresql.org/pgsql-hackers/2007-01/msg00096.php">http://archives.postgresql.org/pgsql-hackers/2007-01/msg00096.php</a>
</p> </p>
</li></ul> </li></ul>
<h1><a name="section_18">Miscellaneous Performance</a></h1> <h1><a name="section_20">Miscellaneous Performance</a></h1>
<ul> <ul>
<li>Do async I/O for faster random read-ahead of data <li>Do async I/O for faster random read-ahead of data
@ -1219,7 +1220,7 @@ first. There is also a developer's wiki at<br/>
concurrent reads from multiple devices in a partitioned table. concurrent reads from multiple devices in a partitioned table.
</p> </p>
</li></ul> </li></ul>
<h1><a name="section_19">Source Code</a></h1> <h1><a name="section_21">Source Code</a></h1>
<ul> <ul>
<li>Add use of 'const' for variables in source tree <li>Add use of 'const' for variables in source tree
@ -1286,7 +1287,7 @@ first. There is also a developer's wiki at<br/>
of result sets using new statement protocol of result sets using new statement protocol
</li></ul> </li></ul>
</li></ul> </li></ul>
<h1><a name="section_20">Exotic Features</a></h1> <h1><a name="section_22">Exotic Features</a></h1>
<ul> <ul>
<li>Add pre-parsing phase that converts non-ISO syntax to supported <li>Add pre-parsing phase that converts non-ISO syntax to supported
@ -1313,7 +1314,7 @@ first. There is also a developer's wiki at<br/>
<p> <a href="http://archives.postgresql.org/pgsql-hackers/2008-01/msg00893.php">http://archives.postgresql.org/pgsql-hackers/2008-01/msg00893.php</a> <p> <a href="http://archives.postgresql.org/pgsql-hackers/2008-01/msg00893.php">http://archives.postgresql.org/pgsql-hackers/2008-01/msg00893.php</a>
</p> </p>
</li></ul> </li></ul>
<h1><a name="section_21">Features We Do <u>Not</u> Want</a></h1> <h1><a name="section_23">Features We Do <u>Not</u> Want</a></h1>
<ul> <ul>
<li>All backends running as threads in a single process (not wanted) <li>All backends running as threads in a single process (not wanted)