diff --git a/doc/TODO b/doc/TODO index c7087d014119c2405d4a92771c70c6fc09317711..9a0f84fe675cbc319f3599f0610c128e250159df 100644 --- a/doc/TODO +++ b/doc/TODO @@ -2,12 +2,13 @@ PostgreSQL TODO List ==================== Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us) -Last updated: Wed Aug 24 10:00:31 EDT 2005 +Last updated: Wed Aug 24 10:05:23 EDT 2005 The most recent version of this document can be viewed at http://www.postgresql.org/docs/faqs.TODO.html. #A hyphen, "-", marks changes that will appear in the upcoming 8.1 release.# +#A percent sign, "%", marks items that are easier to implement.# Bracketed items, "[]", have more detail. @@ -19,10 +20,10 @@ first. Administration ============== -* Remove behavior of postmaster -o after making postmaster/postgres +* %Remove behavior of postmaster -o after making postmaster/postgres flags unique * -Allow limits on per-db/role connections -* Allow pooled connections to list all prepared queries +* %Allow pooled connections to list all prepared queries This would allow an application inheriting a pooled connection to know the queries prepared in the current session. @@ -37,7 +38,7 @@ Administration Currently SIGTERM of a backend can lead to lock table corruption. * -Prevent dropping user that still owns objects, or auto-drop the objects -* Set proper permissions on non-system schemas during db creation +* %Set proper permissions on non-system schemas during db creation Currently all schemas are owned by the super-user because they are copied from the template1 database. @@ -61,16 +62,16 @@ Administration * Configuration files - o Add "include file" functionality in postgresql.conf + o %Add "include file" functionality in postgresql.conf o Allow postgresql.conf values to be set so they can not be changed by the user - o Allow commenting of variables in postgresql.conf to restore them + o %Allow commenting of variables in postgresql.conf to restore them to defaults Currently, if a variable is commented out, it keeps the previous uncommented value until a server restarted. - o Allow pg_hba.conf settings to be controlled via SQL + o %Allow pg_hba.conf settings to be controlled via SQL This would add a function to load the SQL table from pg_hba.conf, and one to writes its contents to the flat file. @@ -78,7 +79,7 @@ Administration can be inserted between existing rows, e.g. row 2.5 goes between row 2 and row 3. - o Allow postgresql.conf file values to be changed via an SQL + o %Allow postgresql.conf file values to be changed via an SQL API, perhaps using SET GLOBAL o Allow the server to be stopped/restarted via an SQL API @@ -106,7 +107,7 @@ Administration requires a tool that will call that function and connect to each database to find the objects in each database for that tablespace. - o Add a GUC variable to control the tablespace for temporary objects + o %Add a GUC variable to control the tablespace for temporary objects and sort files It could start with a random tablespace from a supplied list and @@ -135,7 +136,7 @@ Administration the archive contins all the files needed for point-in-time recovery. - o Create dump tool for write-ahead logs for use in determining + o %Create dump tool for write-ahead logs for use in determining transaction id for point-in-time recovery o Allow a warm standby system to also allow read-only queries [pitr] @@ -153,7 +154,7 @@ Monitoring This would allow server log information to be easily loaded into a database for analysis. -* Add ability to monitor the use of temporary sort files +* %Add ability to monitor the use of temporary sort files * -Add session start time and last statement time to pg_stat_activity * -Add a function that returns the start time of the postmaster * Allow server logs to be remotely read and removed using SQL commands @@ -162,7 +163,7 @@ Monitoring Data Types ========== -* Remove Money type, add money formatting for decimal type +* %Remove Money type, add money formatting for decimal type * Change NUMERIC to enforce the maximum precision, and increase it * Add NUMERIC division operator that doesn't round? @@ -177,14 +178,14 @@ Data Types * Have sequence dependency track use of DEFAULT sequences, seqname.nextval? -* Disallow changing default expression of a SERIAL column? +* %Disallow changing default expression of a SERIAL column? * Fix data types where equality comparison isn't intuitive, e.g. box -* Prevent INET cast to CIDR if the unmasked bits are not zero, or +* %Prevent INET cast to CIDR if the unmasked bits are not zero, or zero the bits -* Prevent INET cast to CIDR from droping netmask, SELECT '1.1.1.1'::inet::cidr +* %Prevent INET cast to CIDR from droping netmask, SELECT '1.1.1.1'::inet::cidr * Allow INET + INT4 to increment the host part of the address, or throw an error on overflow -* Add 'tid != tid ' operator for use in corruption recovery +* %Add 'tid != tid ' operator for use in corruption recovery * Dates and Times @@ -221,7 +222,7 @@ Data Types * Arrays o Allow NULLs in arrays - o Allow MIN()/MAX() on arrays + o %Allow MIN()/MAX() on arrays o Delay resolution of array expression's data type so assignment coercion can be performed on empty array expressions o Modify array literal representation to handle array index lower bound @@ -255,7 +256,7 @@ Functions make time reporting more consistent and will allow reporting of the statement start time. -* Add pg_get_acldef(), pg_get_typedefault(), and pg_get_attrdef() +* %Add pg_get_acldef(), pg_get_typedefault(), and pg_get_attrdef() * Allow to_char() to print localized month names * Allow functions to have a schema search path specified at creation time * Allow substring/replace() to get/set bit values @@ -304,16 +305,16 @@ Multi-Language Support Views / Rules ============= -* Automatically create rules on views so they are updateable, per SQL99 +* %Automatically create rules on views so they are updateable, per SQL99 We can only auto-create rules for simple views. For more complex cases users will still have to write rules. * Add the functionality for WITH CHECK OPTION clause of CREATE VIEW * Allow NOTIFY in rules involving conditionals -* Have views on temporary tables exist in the temporary namespace +* %Have views on temporary tables exist in the temporary namespace * Allow temporary views on non-temporary tables -* Allow RULE recompilation +* %Allow RULE recompilation SQL Commands @@ -333,9 +334,9 @@ SQL Commands * Add CORRESPONDING BY to UNION/INTERSECT/EXCEPT * -Allow REINDEX to rebuild all database indexes * Add ROLLUP, CUBE, GROUPING SETS options to GROUP BY -* Allow SET CONSTRAINTS to be qualified by schema/table name -* Allow TRUNCATE ... CASCADE/RESTRICT -* Add a separate TRUNCATE permission +* %Allow SET CONSTRAINTS to be qualified by schema/table name +* %Allow TRUNCATE ... CASCADE/RESTRICT +* %Add a separate TRUNCATE permission Currently only the owner can TRUNCATE a table because triggers are not called, and the table is locked in exclusive mode. @@ -367,7 +368,7 @@ SQL Commands triggers?) * Add NOVICE output level for helpful messages like automatic sequence/index creation -* Add COMMENT ON for all cluster global objects (roles, databases +* %Add COMMENT ON for all cluster global objects (roles, databases and tablespaces) * -Add an option to automatically use savepoints for each statement in a multi-statement transaction. @@ -420,11 +421,11 @@ SQL Commands * ALTER - o Have ALTER TABLE RENAME rename SERIAL sequence names - o Add ALTER DOMAIN TYPE - o Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME - o Allow ALTER TABLE to change constraint deferrability and actions - o Disallow dropping of an inherited constraint + o %Have ALTER TABLE RENAME rename SERIAL sequence names + o %Add ALTER DOMAIN TYPE + o %Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME + o %Allow ALTER TABLE to change constraint deferrability and actions + o %Disallow dropping of an inherited constraint o -Allow objects to be moved to different schemas o Allow ALTER TABLESPACE to move to different directories o Allow databases to be moved to different tablespaces @@ -433,7 +434,7 @@ SQL Commands 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 constraints like CHECK that were + o %Prevent child tables from altering constraints like CHECK that were inherited from the parent table @@ -449,7 +450,7 @@ SQL Commands store heap rows in hashed groups, perhaps using a user-supplied hash function. - o Add default clustering to system tables + o %Add default clustering to system tables To do this, determine the ideal cluster index for each system table and set the cluster setting during initdb. @@ -463,7 +464,7 @@ SQL Commands processed, with ROLLBACK on COPY failure. o -Allow COPY to understand \x as a hex byte - o Have COPY return the number of rows loaded/unloaded? + o %Have COPY return the number of rows loaded/unloaded? o -Allow COPY to optionally include column headings in the first line o -Allow COPY FROM ... CSV to interpret newlines and carriage returns in data @@ -472,7 +473,7 @@ SQL Commands * GRANT/REVOKE o Allow column-level privileges - o Allow GRANT/REVOKE permissions to be applied to all schema objects + o %Allow GRANT/REVOKE permissions to be applied to all schema objects with one command The proposed syntax is: @@ -495,7 +496,7 @@ SQL Commands o Prevent DROP TABLE from dropping a row referenced by its own open cursor? - o Allow pooled connections to list all open WITH HOLD cursors + o %Allow pooled connections to list all open WITH HOLD cursors Because WITH HOLD cursors exist outside transactions, this allows them to be listed so they can be closed. @@ -589,22 +590,22 @@ Clients * pg_dump - o Have pg_dump use multi-statement transactions for INSERT dumps - o Allow pg_dump to use multiple -t and -n switches [pg_dump] - o Add dumping of comments on composite type columns - o Add dumping of comments on index columns - o Replace crude DELETE FROM method of pg_dumpall --clean for + o %Have pg_dump use multi-statement transactions for INSERT dumps + o %Allow pg_dump to use multiple -t and -n switches [pg_dump] + o %Add dumping of comments on composite type columns + o %Add dumping of comments on index columns + o %Replace crude DELETE FROM method of pg_dumpall --clean for cleaning of roles with separate DROP commands o -Add dumping and restoring of LOB comments o Stop dumping CASCADE on DROP TYPE commands in clean mode - o Add full object name to the tag field. eg. for operators we need + o %Add full object name to the tag field. eg. for operators we need '=(integer, integer)', instead of just '='. o Add pg_dumpall custom format dumps. This is probably best done by combining pg_dump and pg_dumpall into a single binary. - o Add CSV output format + o %Add CSV output format o Update pg_dump and psql to use the new COPY libpq API (Christopher) o Remove unnecessary abstractions in pg_dump source code @@ -622,7 +623,7 @@ Clients o Use backend PREPARE/EXECUTE facility for ecpg where possible o Implement SQLDA o Fix nested C comments - o sqlwarn[6] should be 'W' if the PRECISION or SCALE value specified + o %sqlwarn[6] should be 'W' if the PRECISION or SCALE value specified o Make SET CONNECTION thread-aware, non-standard? o Allow multidimensional arrays o Add internationalized message strings @@ -657,7 +658,7 @@ Referential Integrity * Allow statement-level triggers to access modified rows * Support triggers on columns (Greg Sabino Mullane) -* Remove CREATE CONSTRAINT TRIGGER +* %Remove CREATE CONSTRAINT TRIGGER This was used in older releases to dump referential integrity constraints. @@ -808,7 +809,7 @@ Fsync * Improve commit_delay handling to reduce fsync() * Determine optimal fdatasync/fsync, O_SYNC/O_DSYNC options * -Allow multiple blocks to be written to WAL with one write() -* Add an option to sync() before fsync()'ing checkpoint files +* %Add an option to sync() before fsync()'ing checkpoint files * Add program to test if fsync has a delay compared to non-fsync @@ -906,14 +907,14 @@ Vacuum VACUUM can look at just those pages rather than the entire table. In the event of a system crash, the bitmap would probably be invalidated. -* Add system view to show free space map contents +* %Add system view to show free space map contents * Auto-vacuum o -Move into the backend code o Use free-space map information to guide refilling - o Suggest VACUUM FULL if a table is nearly empty + o %Suggest VACUUM FULL if a table is nearly empty o Improve xid wraparound detection by recording per-table rather than per-database @@ -1079,7 +1080,7 @@ Source Code * Rename some /contrib modules from pg* to pg_* * Move some things from /contrib into main tree * Move some /contrib modules out to their own project sites -* Remove warnings created by -Wcast-align +* %Remove warnings created by -Wcast-align * Move platform-specific ps status display info from ps_status.c to ports * Add optional CRC checksum to heap and index pages * Improve documentation to build only interfaces (Marc) @@ -1110,6 +1111,7 @@ Source Code * Fix cross-compiling of time zone database via 'zic' * Fix sgmltools so PDFs can be generated with bookmarks * -Add C code on Unix to copy directories for use in creating new databases +* %Clean up compiler warnings (especially with gcc version 4) * Win32 diff --git a/doc/src/FAQ/TODO.html b/doc/src/FAQ/TODO.html index 707addbba9e6d722bba66a24d7d19eae9cdee160..a0fc82fa72d52b852d02878b89e32661b80d908d 100644 --- a/doc/src/FAQ/TODO.html +++ b/doc/src/FAQ/TODO.html @@ -8,12 +8,13 @@ <body bgcolor="#FFFFFF" text="#000000" link="#FF0000" vlink="#A00000" alink="#0000FF"> <h1><a name="section_1">PostgreSQL TODO List</a></h1> <p>Current maintainer: Bruce Momjian (<a href="mailto:pgman@candle.pha.pa.us">pgman@candle.pha.pa.us</a>)<br/> -Last updated: Wed Aug 24 10:00:31 EDT 2005 +Last updated: Wed Aug 24 10:05:23 EDT 2005 </p> <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>. </p> -<p><strong>A hyphen, "-", marks changes that will appear in the upcoming 8.1 release.</strong> +<p><strong>A hyphen, "-", marks changes that will appear in the upcoming 8.1 release.</strong><br/> +<strong>A percent sign, "%", marks items that are easier to implement.</strong> </p> <p>Bracketed items, "[<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?"></a>]", have more detail. </p> @@ -24,10 +25,10 @@ first. <h1><a name="section_2">Administration</a></h1> <ul> - <li>Remove behavior of postmaster -o after making postmaster/postgres + <li>%Remove behavior of postmaster -o after making postmaster/postgres flags unique </li><li>-<em>Allow limits on per-db/role connections</em> - </li><li>Allow pooled connections to list all prepared queries + </li><li>%Allow pooled connections to list all prepared queries <p> This would allow an application inheriting a pooled connection to know the queries prepared in the current session. </p> @@ -40,7 +41,7 @@ first. <p> Currently SIGTERM of a backend can lead to lock table corruption. </p> </li><li>-<em>Prevent dropping user that still owns objects, or auto-drop the objects</em> - </li><li>Set proper permissions on non-system schemas during db creation + </li><li>%Set proper permissions on non-system schemas during db creation <p> Currently all schemas are owned by the super-user because they are copied from the template1 database. </p> @@ -59,22 +60,22 @@ first. </li></ul> </li><li>Configuration files <ul> - <li>Add "include file" functionality in postgresql.conf + <li>%Add "include file" functionality in postgresql.conf </li><li>Allow postgresql.conf values to be set so they can not be changed by the user - </li><li>Allow commenting of variables in postgresql.conf to restore them + </li><li>%Allow commenting of variables in postgresql.conf to restore them to defaults <p> Currently, if a variable is commented out, it keeps the previous uncommented value until a server restarted. </p> - </li><li>Allow pg_hba.conf settings to be controlled via SQL + </li><li>%Allow pg_hba.conf settings to be controlled via SQL <p> This would add a function to load the SQL table from pg_hba.conf, and one to writes its contents to the flat file. The table should have a line number that is a float so rows can be inserted between existing rows, e.g. row 2.5 goes between row 2 and row 3. </p> - </li><li>Allow postgresql.conf file values to be changed via an SQL + </li><li>%Allow postgresql.conf file values to be changed via an SQL API, perhaps using SET GLOBAL </li><li>Allow the server to be stopped/restarted via an SQL API </li></ul> @@ -100,7 +101,7 @@ first. database to find the objects in each database for that tablespace. </p> <ul> - <li>Add a GUC variable to control the tablespace for temporary objects + <li>%Add a GUC variable to control the tablespace for temporary objects and sort files <p> It could start with a random tablespace from a supplied list and cycle through the list. @@ -125,7 +126,7 @@ first. the archive contins all the files needed for point-in-time recovery. </p> - </li><li>Create dump tool for write-ahead logs for use in determining + </li><li>%Create dump tool for write-ahead logs for use in determining transaction id for point-in-time recovery </li><li>Allow a warm standby system to also allow read-only queries [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?pitr">pitr</a>] @@ -141,7 +142,7 @@ first. <p> This would allow server log information to be easily loaded into a database for analysis. </p> - </li><li>Add ability to monitor the use of temporary sort files + </li><li>%Add ability to monitor the use of temporary sort files </li><li>-<em>Add session start time and last statement time to pg_stat_activity</em> </li><li>-<em>Add a function that returns the start time of the postmaster</em> </li><li>Allow server logs to be remotely read and removed using SQL commands @@ -149,7 +150,7 @@ first. <h1><a name="section_4">Data Types</a></h1> <ul> - <li>Remove Money type, add money formatting for decimal type + <li>%Remove Money type, add money formatting for decimal type </li><li>Change NUMERIC to enforce the maximum precision, and increase it </li><li>Add NUMERIC division operator that doesn't round? <p> Currently NUMERIC _rounds_ the result to the specified precision. @@ -165,14 +166,14 @@ first. <ul> <li>Have sequence dependency track use of DEFAULT sequences, seqname.nextval? - </li><li>Disallow changing default expression of a SERIAL column? + </li><li>%Disallow changing default expression of a SERIAL column? </li><li>Fix data types where equality comparison isn't intuitive, e.g. box - </li><li>Prevent INET cast to CIDR if the unmasked bits are not zero, or + </li><li>%Prevent INET cast to CIDR if the unmasked bits are not zero, or zero the bits - </li><li>Prevent INET cast to CIDR from droping netmask, SELECT '<a href="telnet://1.1.1.1">1.1.1.1</a>'::inet::cidr + </li><li>%Prevent INET cast to CIDR from droping netmask, SELECT '<a href="telnet://1.1.1.1">1.1.1.1</a>'::inet::cidr </li><li>Allow INET + INT4 to increment the host part of the address, or throw an error on overflow - </li><li>Add 'tid != tid ' operator for use in corruption recovery + </li><li>%Add 'tid != tid ' operator for use in corruption recovery </li><li>Dates and Times <ul> <li>Allow infinite dates just like infinite timestamps @@ -207,7 +208,7 @@ first. </li><li>Arrays <ul> <li>Allow NULLs in arrays - </li><li>Allow MIN()/MAX() on arrays + </li><li>%Allow MIN()/MAX() on arrays </li><li>Delay resolution of array expression's data type so assignment coercion can be performed on empty array expressions </li><li>Modify array literal representation to handle array index lower bound @@ -238,7 +239,7 @@ first. make time reporting more consistent and will allow reporting of the statement start time. </p> - </li><li>Add pg_get_acldef(), pg_get_typedefault(), and pg_get_attrdef() + </li><li>%Add pg_get_acldef(), pg_get_typedefault(), and pg_get_attrdef() </li><li>Allow to_char() to print localized month names </li><li>Allow functions to have a schema search path specified at creation time </li><li>Allow substring/replace() to get/set bit values @@ -283,15 +284,15 @@ first. <h1><a name="section_7">Views / Rules</a></h1> <ul> - <li>Automatically create rules on views so they are updateable, per SQL99 + <li>%Automatically create rules on views so they are updateable, per SQL99 <p> We can only auto-create rules for simple views. For more complex cases users will still have to write rules. </p> </li><li>Add the functionality for WITH CHECK OPTION clause of CREATE VIEW </li><li>Allow NOTIFY in rules involving conditionals - </li><li>Have views on temporary tables exist in the temporary namespace + </li><li>%Have views on temporary tables exist in the temporary namespace </li><li>Allow temporary views on non-temporary tables - </li><li>Allow RULE recompilation + </li><li>%Allow RULE recompilation </li></ul> <h1><a name="section_8">SQL Commands</a></h1> @@ -308,9 +309,9 @@ first. </li><li>Add CORRESPONDING BY to UNION/INTERSECT/EXCEPT </li><li>-<em>Allow REINDEX to rebuild all database indexes</em> </li><li>Add ROLLUP, CUBE, GROUPING SETS options to GROUP BY - </li><li>Allow SET CONSTRAINTS to be qualified by schema/table name - </li><li>Allow TRUNCATE ... CASCADE/RESTRICT - </li><li>Add a separate TRUNCATE permission + </li><li>%Allow SET CONSTRAINTS to be qualified by schema/table name + </li><li>%Allow TRUNCATE ... CASCADE/RESTRICT + </li><li>%Add a separate TRUNCATE permission <p> Currently only the owner can TRUNCATE a table because triggers are not called, and the table is locked in exclusive mode. </p> @@ -338,7 +339,7 @@ first. triggers?) </li><li>Add NOVICE output level for helpful messages like automatic sequence/index creation - </li><li>Add COMMENT ON for all cluster global objects (roles, databases + </li><li>%Add COMMENT ON for all cluster global objects (roles, databases and tablespaces) </li><li>-<em>Add an option to automatically use savepoints for each statement in a</em> multi-statement transaction. @@ -383,11 +384,11 @@ first. </li></ul> </li><li>ALTER <ul> - <li>Have ALTER TABLE RENAME rename SERIAL sequence names - </li><li>Add ALTER DOMAIN TYPE - </li><li>Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME - </li><li>Allow ALTER TABLE to change constraint deferrability and actions - </li><li>Disallow dropping of an inherited constraint + <li>%Have ALTER TABLE RENAME rename SERIAL sequence names + </li><li>%Add ALTER DOMAIN TYPE + </li><li>%Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME + </li><li>%Allow ALTER TABLE to change constraint deferrability and actions + </li><li>%Disallow dropping of an inherited constraint </li><li>-<em>Allow objects to be moved to different schemas</em> </li><li>Allow ALTER TABLESPACE to move to different directories </li><li>Allow databases to be moved to different tablespaces @@ -395,7 +396,7 @@ first. <p> Currently non-global system tables must be in the default database tablespace. Global system tables can never be moved. </p> - </li><li>Prevent child tables from altering constraints like CHECK that were + </li><li>%Prevent child tables from altering constraints like CHECK that were inherited from the parent table </li></ul> </li><li>CLUSTER @@ -409,7 +410,7 @@ first. store heap rows in hashed groups, perhaps using a user-supplied hash function. </p> - </li><li>Add default clustering to system tables + </li><li>%Add default clustering to system tables <p> To do this, determine the ideal cluster index for each system table and set the cluster setting during initdb. </p> @@ -421,7 +422,7 @@ first. processed, with ROLLBACK on COPY failure. </p> </li><li>-<em>Allow COPY to understand \x as a hex byte</em> - </li><li>Have COPY return the number of rows loaded/unloaded? + </li><li>%Have COPY return the number of rows loaded/unloaded? </li><li>-<em>Allow COPY to optionally include column headings in the first line</em> </li><li>-<em>Allow COPY FROM ... CSV to interpret newlines and carriage</em> returns in data @@ -429,7 +430,7 @@ first. </li><li>GRANT/REVOKE <ul> <li>Allow column-level privileges - </li><li>Allow GRANT/REVOKE permissions to be applied to all schema objects + </li><li>%Allow GRANT/REVOKE permissions to be applied to all schema objects with one command <p> The proposed syntax is: </p><p> GRANT SELECT ON ALL TABLES IN public TO phpuser; @@ -450,7 +451,7 @@ first. </p> </li><li>Prevent DROP TABLE from dropping a row referenced by its own open cursor? - </li><li>Allow pooled connections to list all open WITH HOLD cursors + </li><li>%Allow pooled connections to list all open WITH HOLD cursors <p> Because WITH HOLD cursors exist outside transactions, this allows them to be listed so they can be closed. </p> @@ -534,21 +535,21 @@ first. </li></ul> </li><li>pg_dump <ul> - <li>Have pg_dump use multi-statement transactions for INSERT dumps - </li><li>Allow pg_dump to use multiple -t and -n switches [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?pg_dump">pg_dump</a>] - </li><li>Add dumping of comments on composite type columns - </li><li>Add dumping of comments on index columns - </li><li>Replace crude DELETE FROM method of pg_dumpall --clean for + <li>%Have pg_dump use multi-statement transactions for INSERT dumps + </li><li>%Allow pg_dump to use multiple -t and -n switches [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?pg_dump">pg_dump</a>] + </li><li>%Add dumping of comments on composite type columns + </li><li>%Add dumping of comments on index columns + </li><li>%Replace crude DELETE FROM method of pg_dumpall --clean for cleaning of roles with separate DROP commands </li><li>-<em>Add dumping and restoring of LOB comments</em> </li><li>Stop dumping CASCADE on DROP TYPE commands in clean mode - </li><li>Add full object name to the tag field. eg. for operators we need + </li><li>%Add full object name to the tag field. eg. for operators we need '=(integer, integer)', instead of just '='. </li><li>Add pg_dumpall custom format dumps. <p> This is probably best done by combining pg_dump and pg_dumpall into a single binary. </p> - </li><li>Add CSV output format + </li><li>%Add CSV output format </li><li>Update pg_dump and psql to use the new COPY libpq API (Christopher) </li><li>Remove unnecessary abstractions in pg_dump source code </li></ul> @@ -564,7 +565,7 @@ first. </li><li>Use backend PREPARE/EXECUTE facility for ecpg where possible </li><li>Implement SQLDA </li><li>Fix nested C comments - </li><li>sqlwarn[<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?6">6</a>] should be 'W' if the PRECISION or SCALE value specified + </li><li>%sqlwarn[<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?6">6</a>] should be 'W' if the PRECISION or SCALE value specified </li><li>Make SET CONNECTION thread-aware, non-standard? </li><li>Allow multidimensional arrays </li><li>Add internationalized message strings @@ -596,7 +597,7 @@ first. </p> </li><li>Allow statement-level triggers to access modified rows </li><li>Support triggers on columns (Greg Sabino Mullane) - </li><li>Remove CREATE CONSTRAINT TRIGGER + </li><li>%Remove CREATE CONSTRAINT TRIGGER <p> This was used in older releases to dump referential integrity constraints. </p> @@ -728,7 +729,7 @@ first. <li>Improve commit_delay handling to reduce fsync() </li><li>Determine optimal fdatasync/fsync, O_SYNC/O_DSYNC options </li><li>-<em>Allow multiple blocks to be written to WAL with one write()</em> - </li><li>Add an option to sync() before fsync()'ing checkpoint files + </li><li>%Add an option to sync() before fsync()'ing checkpoint files </li><li>Add program to test if fsync has a delay compared to non-fsync </li></ul> <h1><a name="section_15">Cache Usage</a></h1> @@ -813,12 +814,12 @@ first. VACUUM can look at just those pages rather than the entire table. In the event of a system crash, the bitmap would probably be invalidated. </p> - </li><li>Add system view to show free space map contents + </li><li>%Add system view to show free space map contents </li><li>Auto-vacuum <ul> <li>-<em>Move into the backend code</em> </li><li>Use free-space map information to guide refilling - </li><li>Suggest VACUUM FULL if a table is nearly empty + </li><li>%Suggest VACUUM FULL if a table is nearly empty </li><li>Improve xid wraparound detection by recording per-table rather than per-database </li></ul> @@ -967,7 +968,7 @@ first. </li><li>Rename some /contrib modules from pg* to pg_* </li><li>Move some things from /contrib into main tree </li><li>Move some /contrib modules out to their own project sites - </li><li>Remove warnings created by -Wcast-align + </li><li>%Remove warnings created by -Wcast-align </li><li>Move platform-specific ps status display info from ps_status.c to ports </li><li>Add optional CRC checksum to heap and index pages </li><li>Improve documentation to build only interfaces (Marc) @@ -996,6 +997,7 @@ first. </li><li>Fix cross-compiling of time zone database via 'zic' </li><li>Fix sgmltools so PDFs can be generated with bookmarks </li><li>-<em>Add C code on Unix to copy directories for use in creating new databases</em> + </li><li>%Clean up compiler warnings (especially with gcc version 4) </li><li>Win32 <ul> <li>Remove configure.in check for link failure when cause is found