From aa3f396aca648134a90a5f899d960fafa3c433a8 Mon Sep 17 00:00:00 2001 From: Bruce Momjian <bruce@momjian.us> Date: Tue, 19 Sep 2006 19:20:00 +0000 Subject: [PATCH] Remove completed TODO items: < * -Make postmater and postgres options distinct so the postmaster -o < option is no longer needed < * -Allow pooled connections to list all prepared statements < < This would allow an application inheriting a pooled connection to know < the statements prepared in the current session. < < * -Re-enable the GUC full_page_writes in 8.2 when reliability issues have < been addressed < o -Add "include file" functionality in postgresql.conf < o -Allow per-database permissions to be set via GRANT < < Allow database connection checks based on GRANT rules in < addition to the existing access checks in pg_hba.conf. < < o -Issue a warning if a change-on-restart-only postgresql.conf value > o Issue a warning if a change-on-restart-only postgresql.conf value < o -Automatically force archiving of partially-filled WAL files when < pg_stop_backup() is called or the server is stopped < o -Add reporting of the current WAL file and offset, perhaps as < part of partial log file archiving < * -Allow server logs to be remotely read and removed using SQL commands < * -Allow protocol-level BIND parameter values to be logged < * -Zero umasked bits in conversion from INET cast to CIDR < * -Prevent INET cast to CIDR from dropping netmask, SELECT '1.1.1.1'::inet::cidr < * -Allow INET + INT8 to increment the host part of the address or < throw an error on overflow < * -Add 'tid != tid ' operator for use in corruption recovery < o -Allow customization of the known set of TZ names (generalize the < present australian_timezones hack) < o -Allow timezone names in SQL strings, '2006-05-24 21:11 < Americas/New_York'::timestamptz < o -Add support for day-time syntax, INTERVAL '1 2:03:04' DAY TO < SECOND < o -Allow NULLs in arrays < * -Add transaction_timestamp(), statement_timestamp(), clock_timestamp() < functionality < < Current CURRENT_TIMESTAMP returns the start time of the current < transaction, and gettimeofday() returns the wallclock time. This will < make time reporting more consistent and will allow reporting of < the statement start time. < < * -Allow to_char() to print localized month names < * -Add sleep() function, remove from regress.c < * -Allow user-defined functions retuning a domain value to enforce domain < constraints < * -Allow TRUNCATE ... CASCADE/RESTRICT < < This is like DELETE CASCADE, but truncates. < < * -Add COMMENT ON for all cluster global objects (roles, databases < and tablespaces) < * -Make row-wise comparisons work per SQL spec < < Right now, '(a, b) < (1, 2)' is processed as 'a < 1 and b < 2', but < the SQL standard requires it to be processed as a column-by-column < comparison, so the proper comparison is '(a < 1) OR (a = 1 AND b < 2)'. < < * -Enable escape_string_warning and standard_conforming_strings > * Enable standard_conforming_strings < o -Add ON COMMIT capability to CREATE TABLE AS ... SELECT < o -Allow an alias to be provided for the target table in < UPDATE/DELETE (Neil) < o -Allow UPDATE tab SET ROW (col, ...) = (val, ...) for updating < multiple columns < o -Add ALTER TABLE tab INHERIT / NO INHERIT parent < o -Have COPY return the number of rows loaded/unloaded? < o -Allow COPY (SELECT ...) TO 'filename' < < 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. < < o -Allow INSERT INTO tab (col1, ..) VALUES (val1, ..), (val2, ..) < o -Allow INSERT/UPDATE ... RETURNING new.col or old.col < o -Allow PL/python to return composite types and result sets < < * -Have initdb set the input DateStyle (MDY or DMY) based on locale < o -Improve psql's handling of multi-line statements < < Currently, while \e saves a single statement as one entry, interactive < statements are saved one line at a time. Ideally all statements < would be saved like \e does. < < o -Allow multi-line column values to align in the proper columns < < If the second output column value is 'a\nb', the 'b' should appear < in the second display column, rather than the first column as it < does now. < < o -Display IN, INOUT, and OUT parameters in \df < o -Allow pg_dump to use multiple -t and -n switches, exclusion < ability, and regular expression object matching < o -Update pg_dump and psql to use the new COPY libpq API (Christopher) < o -Add a function to support Parse/DescribeStatement capability < * -Add fillfactor to control reserved free space during index creation < * -Add system view to show free space map contents < * -Allow installing to directories containing spaces < < This is possible if proper quoting is added to the makefiles for the < install targets. Because PostgreSQL supports relocatable installs, it < is already possible to install into a directory that doesn't contain < spaces and then copy the install to a directory with spaces. < < * -%Clean up compiler warnings (especially with gcc version 4) < * -Remove BeOS and QNX-specific code < o -Port contrib/xml2 --- doc/TODO | 111 ++-------------------------------------- doc/src/FAQ/TODO.html | 116 ++++-------------------------------------- 2 files changed, 14 insertions(+), 213 deletions(-) diff --git a/doc/TODO b/doc/TODO index d5fdfeb70e1..9209a40c391 100644 --- a/doc/TODO +++ b/doc/TODO @@ -2,7 +2,7 @@ PostgreSQL TODO List ==================== Current maintainer: Bruce Momjian (bruce@momjian.us) -Last updated: Mon Sep 18 12:23:58 EDT 2006 +Last updated: Tue Sep 19 15:19:50 EDT 2006 The most recent version of this document can be viewed at http://www.postgresql.org/docs/faqs.TODO.html. @@ -20,13 +20,6 @@ first. Administration ============== -* -Make postmater and postgres options distinct so the postmaster -o - option is no longer needed -* -Allow pooled connections to list all prepared statements - - This would allow an application inheriting a pooled connection to know - the statements prepared in the current session. - * Allow major upgrades without dump/reload, perhaps using pg_upgrade [pg_upgrade] * Check for unreferenced table files created by transactions that were @@ -62,8 +55,6 @@ Administration Another idea is to allow separate configuration files for each module, or allow arbitrary SET commands to be passed to them. -* -Re-enable the GUC full_page_writes in 8.2 when reliability issues have - been addressed * Simplify ability to create partitioned tables This would allow creation of partitioned tables without requiring @@ -87,7 +78,6 @@ Administration * Configuration files - o -Add "include file" functionality in postgresql.conf o Allow commenting of variables in postgresql.conf to restore them to defaults @@ -95,11 +85,6 @@ Administration previous uncommented value until a server restarted. http://archives.postgresql.org/pgsql-hackers/2006-09/msg01481.php - o -Allow per-database permissions to be set via GRANT - - Allow database connection checks based on GRANT rules in - addition to the existing access checks in pg_hba.conf. - o Allow pg_hba.conf to specify host names along with IP addresses Host name lookup could occur when the postmaster reads the @@ -112,7 +97,7 @@ Administration 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 - o -Issue a warning if a change-on-restart-only postgresql.conf value + o Issue a warning if a change-on-restart-only postgresql.conf value is modified and the server config files are reloaded o Mark change-on-restart-only values in postgresql.conf @@ -160,10 +145,6 @@ Administration most recent transactions aren't available for recovery in case of a disk failure. - o -Automatically force archiving of partially-filled WAL files when - pg_stop_backup() is called or the server is stopped - o -Add reporting of the current WAL file and offset, perhaps as - part of partial log file archiving 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 statements @@ -183,8 +164,6 @@ Monitoring a database for analysis. * %Add ability to monitor the use of temporary sort files -* -Allow server logs to be remotely read and removed using SQL commands -* -Allow protocol-level BIND parameter values to be logged Data Types @@ -209,11 +188,6 @@ Data Types inaccurate, in one sense. * Fix data types where equality comparison isn't intuitive, e.g. box -* -Zero umasked bits in conversion from INET cast to CIDR -* -Prevent INET cast to CIDR from dropping netmask, SELECT '1.1.1.1'::inet::cidr -* -Allow INET + INT8 to increment the host part of the address or - throw an error on overflow -* -Add 'tid != tid ' operator for use in corruption recovery * Allow user-defined types to specify a type modifier at table creation time * Allow user-defined types to accept 'typmod' parameters @@ -251,16 +225,12 @@ Data Types o Allow infinite dates and intervals just like infinite timestamps o Merge hardwired timezone names with the TZ database; allow either kind everywhere a TZ name is currently taken - o -Allow customization of the known set of TZ names (generalize the - present australian_timezones hack) o Allow TIMESTAMP WITH TIME ZONE to store the original timezone information, either zone name or offset from UTC [timezone] If the TIMESTAMP value is stored with a time zone name, interval computations should adjust based on the time zone rules. - o -Allow timezone names in SQL strings, '2006-05-24 21:11 - Americas/New_York'::timestamptz o Fix SELECT '0.01 years'::interval, '0.01 months'::interval o Add a GUC variable to allow output of interval values in ISO8601 format @@ -280,8 +250,6 @@ Data Types http://archives.postgresql.org/pgsql-hackers/2006-01/msg00250.php http://archives.postgresql.org/pgsql-bugs/2006-04/msg00248.php - o -Add support for day-time syntax, INTERVAL '1 2:03:04' DAY TO - SECOND o Support ISO INTERVAL syntax if units cannot be determined from the string, and are supplied after the string @@ -314,7 +282,6 @@ Data Types * Arrays - o -Allow NULLs in arrays o Delay resolution of array expression's data type so assignment coercion can be performed on empty array expressions o Add support for arrays of domains @@ -342,20 +309,11 @@ Functions ========= * Allow INET subnet tests using non-constants to be indexed -* -Add transaction_timestamp(), statement_timestamp(), clock_timestamp() - functionality - - Current CURRENT_TIMESTAMP returns the start time of the current - transaction, and gettimeofday() returns the wallclock time. This will - make time reporting more consistent and will allow reporting of - the statement start time. - * %Add pg_get_acldef(), pg_get_typedefault(), pg_get_attrdef(), pg_get_tabledef(), pg_get_domaindef(), pg_get_functiondef() These would be for application use, not for use by pg_dump. -* -Allow to_char() to print localized month names * Allow to_date() and to_timestamp() accept localized month names * Add missing parameter handling in to_char() @@ -376,9 +334,6 @@ Functions o to_char(INTERVAL '43 hours 20 minutes', 'WK:DD:HR:MI') => 0:1:19:20 o to_char(INTERVAL '3 years 5 months','MM') => 41 -* -Add sleep() function, remove from regress.c -* -Allow user-defined functions retuning a domain value to enforce domain - constraints * Add SPI_gettypmod() to return the typemod for a TupleDesc * Allow inlining of set-returning functions @@ -448,10 +403,6 @@ SQL Commands * Add CORRESPONDING BY to UNION/INTERSECT/EXCEPT * Add ROLLUP, CUBE, GROUPING SETS options to GROUP BY * %Allow SET CONSTRAINTS to be qualified by schema/table name -* -Allow TRUNCATE ... CASCADE/RESTRICT - - This is like DELETE CASCADE, but truncates. - * %Add a separate TRUNCATE permission Currently only the owner can TRUNCATE a table because triggers are not @@ -497,14 +448,6 @@ SQL Commands * Add NOVICE output level for helpful messages like automatic sequence/index creation -* -Add COMMENT ON for all cluster global objects (roles, databases - and tablespaces) -* -Make row-wise comparisons work per SQL spec - - Right now, '(a, b) < (1, 2)' is processed as 'a < 1 and b < 2', but - the SQL standard requires it to be processed as a column-by-column - comparison, so the proper comparison is '(a < 1) OR (a = 1 AND b < 2)'. - * Add RESET CONNECTION command to reset all session state This would include resetting of all variables (RESET ALL), dropping of @@ -521,7 +464,7 @@ SQL Commands * Allow EXPLAIN to identify tables that were skipped because of constraint_exclusion * Allow EXPLAIN output to be more easily processed by scripts -* -Enable escape_string_warning and standard_conforming_strings +* Enable standard_conforming_strings * Make standard_conforming_strings the default in 8.3? When this is done, backslash-quote should be prohibited in non-E'' @@ -556,14 +499,9 @@ SQL Commands expressions like SELECT col1 || col2 o Use more reliable method for CREATE DATABASE to get a consistent copy of db? - o -Add ON COMMIT capability to CREATE TABLE AS ... SELECT * UPDATE - o -Allow an alias to be provided for the target table in - UPDATE/DELETE (Neil) - o -Allow UPDATE tab SET ROW (col, ...) = (val, ...) for updating - multiple columns o Allow UPDATE tab SET ROW (col, ...) = (SELECT...) http://archives.postgresql.org/pgsql-hackers/2006-07/msg01306.php @@ -591,7 +529,6 @@ SQL Commands is used o %Prevent child tables from altering or dropping constraints like CHECK that were inherited from the parent table - o -Add ALTER TABLE tab INHERIT / NO INHERIT parent o Have ALTER INDEX update the name of a constraint using that index o Add ALTER TABLE RENAME CONSTRAINT, update index name also @@ -622,7 +559,6 @@ SQL Commands This requires the use of a savepoint before each COPY line is processed, with ROLLBACK on COPY failure. - o -Have COPY return the number of rows loaded/unloaded? o Allow COPY on a newly-created table to skip WAL logging On crash recovery, the table involved in the COPY would @@ -631,8 +567,6 @@ SQL Commands the table at the same time, which is something that is currently allowed. - o -Allow COPY (SELECT ...) TO 'filename' - * GRANT/REVOKE @@ -662,17 +596,10 @@ 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 - - Because WITH HOLD cursors exist outside transactions, this allows - them to be listed so they can be closed. - * INSERT o Allow INSERT/UPDATE of the system-generated oid value for a row - o -Allow INSERT INTO tab (col1, ..) VALUES (val1, ..), (val2, ..) - o -Allow INSERT/UPDATE ... RETURNING new.col or old.col o In rules, allow VALUES() to contain a mixture of 'old' and 'new' references @@ -763,13 +690,10 @@ SQL Commands http://archives.postgresql.org/pgsql-patches/2006-02/msg00288.php - o -Allow PL/python to return composite types and result sets - Clients ======= -* -Have initdb set the input DateStyle (MDY or DMY) based on locale * Have pg_ctl look at PGHOST in case it is a socket directory? * Allow pg_ctl to work properly with configuration files located outside the PGDATA directory @@ -797,19 +721,6 @@ Clients o Allow psql \pset boolean variables to set to fixed values, rather than toggle o Consistently display privilege information for all objects in psql - o -Improve psql's handling of multi-line statements - - Currently, while \e saves a single statement as one entry, interactive - statements are saved one line at a time. Ideally all statements - would be saved like \e does. - - o -Allow multi-line column values to align in the proper columns - - If the second output column value is 'a\nb', the 'b' should appear - in the second display column, rather than the first column as it - does now. - - o -Display IN, INOUT, and OUT parameters in \df o Add auto-expanded mode so expanded output is used if the row length is wider than the screen width. @@ -827,13 +738,10 @@ Clients * pg_dump - o -Allow pg_dump to use multiple -t and -n switches, exclusion - ability, and regular expression object matching o %Add dumping of comments on index columns and composite type columns 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? - o -Update pg_dump and psql to use the new COPY libpq API (Christopher) o Remove unnecessary function pointer abstractions in pg_dump source code o Allow selection of individual object(s) of all types, not just @@ -869,7 +777,6 @@ Clients * libpq - o -Add a function to support Parse/DescribeStatement capability o Add PQescapeIdentifierConn() o Prevent PQfnumber() from lowercasing unquoted the column name @@ -1001,7 +908,6 @@ Indexes * Allow accurate statistics to be collected on indexes with more than one column or expression indexes, perhaps using per-index statistics -* -Add fillfactor to control reserved free space during index creation * Allow the creation of indexes with mixed ascending/descending specifiers @@ -1151,7 +1057,6 @@ Vacuum index entry) might be slow and unreliable, especially for user-defined index functions. -* -Add system view to show free space map contents * Allow FSM to return free space toward the beginning of the heap file, in hopes that empty pages at the end can be truncated by VACUUM * Allow FSM page return free space based on table clustering, to assist @@ -1402,19 +1307,10 @@ Source Code This is probably not possible because 'gmake' and other compiler tools do not fully support quoting of paths with spaces. -* -Allow installing to directories containing spaces - - This is possible if proper quoting is added to the makefiles for the - install targets. Because PostgreSQL supports relocatable installs, it - is already possible to install into a directory that doesn't contain - spaces and then copy the install to a directory with spaces. - * Fix sgmltools so PDFs can be generated with bookmarks -* -%Clean up compiler warnings (especially with gcc version 4) * Use UTF8 encoding for NLS messages so all server encodings can read them properly * Update Bonjour to work with newer cross-platform SDK -* -Remove BeOS and QNX-specific code * Split out libpq pgpass and environment documentation sections to make it easier for non-developers to find * Improve port/qsort() to handle sorts with 50% unique and 50% duplicate @@ -1452,7 +1348,6 @@ Source Code option is to wait for the MinGW project to fix it, or use the code from the LibGW32C project as a guide. - o -Port contrib/xml2 o Check WSACancelBlockingCall() for interrupts [win32intr] diff --git a/doc/src/FAQ/TODO.html b/doc/src/FAQ/TODO.html index a5be0ac3659..8c8b56944ee 100644 --- a/doc/src/FAQ/TODO.html +++ b/doc/src/FAQ/TODO.html @@ -8,7 +8,7 @@ <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:bruce@momjian.us">bruce@momjian.us</a>)<br/> -Last updated: Mon Sep 18 12:23:58 EDT 2006 +Last updated: Tue Sep 19 15:19:50 EDT 2006 </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>. @@ -25,13 +25,7 @@ first. <h1><a name="section_2">Administration</a></h1> <ul> - <li>-<em>Make postmater and postgres options distinct so the postmaster -o</em> - option is no longer needed - </li><li>-<em>Allow pooled connections to list all prepared statements</em> -<p> This would allow an application inheriting a pooled connection to know - the statements prepared in the current session. -</p> - </li><li>Allow major upgrades without dump/reload, perhaps using pg_upgrade + <li>Allow major upgrades without dump/reload, perhaps using pg_upgrade [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?pg_upgrade">pg_upgrade</a>] </li><li>Check for unreferenced table files created by transactions that were in-progress when the server terminated abruptly @@ -62,8 +56,6 @@ first. Another idea is to allow separate configuration files for each module, or allow arbitrary SET commands to be passed to them. </p> - </li><li>-<em>Re-enable the GUC full_page_writes in 8.2 when reliability issues have</em> - been addressed </li><li>Simplify ability to create partitioned tables <p> This would allow creation of partitioned tables without requiring creation of rules for INSERT/UPDATE/DELETE, and constraints for @@ -82,16 +74,11 @@ first. </li></ul> </li><li>Configuration files <ul> - <li>-<em>Add "include file" functionality in postgresql.conf</em> - </li><li>Allow commenting of variables in postgresql.conf to restore them + <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. <a href="http://archives.postgresql.org/pgsql-hackers/2006-09/msg01481.php">http://archives.postgresql.org/pgsql-hackers/2006-09/msg01481.php</a> -</p> - </li><li>-<em>Allow per-database permissions to be set via GRANT</em> -<p> Allow database connection checks based on GRANT rules in - addition to the existing access checks in pg_hba.conf. </p> </li><li>Allow pg_hba.conf to specify host names along with IP addresses <p> Host name lookup could occur when the postmaster reads the @@ -104,7 +91,7 @@ first. </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><li>-<em>Issue a warning if a change-on-restart-only postgresql.conf value</em> + </li><li>Issue a warning if a change-on-restart-only postgresql.conf value is modified and the server config files are reloaded </li><li>Mark change-on-restart-only values in postgresql.conf </li></ul> @@ -145,10 +132,6 @@ first. most recent transactions aren't available for recovery in case of a disk failure. </p> - </li><li>-Automatically force archiving of partially-filled WAL files when - pg_stop_backup() is called or the server is stopped - </li><li>-Add reporting of the current WAL file and offset, perhaps as - part of partial log file archiving </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 statements @@ -166,8 +149,6 @@ first. a database for analysis. </p> </li><li>%Add ability to monitor the use of temporary sort files - </li><li>-<em>Allow server logs to be remotely read and removed using SQL commands</em> - </li><li>-<em>Allow protocol-level BIND parameter values to be logged</em> </li></ul> <h1><a name="section_4">Data Types</a></h1> @@ -191,11 +172,6 @@ first. </p> <ul> <li>Fix data types where equality comparison isn't intuitive, e.g. box - </li><li>-<em>Zero umasked bits in conversion from INET cast to CIDR</em> - </li><li>-<em>Prevent INET cast to CIDR from dropping netmask, SELECT '<a href="telnet://1.1.1.1">1.1.1.1</a>'::inet::cidr</em> - </li><li>-<em>Allow INET + INT8 to increment the host part of the address or</em> - throw an error on overflow - </li><li>-<em>Add 'tid != tid ' operator for use in corruption recovery</em> </li><li>Allow user-defined types to specify a type modifier at table creation time </li><li>Allow user-defined types to accept 'typmod' parameters @@ -226,15 +202,11 @@ first. <li>Allow infinite dates and intervals just like infinite timestamps </li><li>Merge hardwired timezone names with the TZ database; allow either kind everywhere a TZ name is currently taken - </li><li>-<em>Allow customization of the known set of TZ names (generalize the</em> - present australian_timezones hack) </li><li>Allow TIMESTAMP WITH TIME ZONE to store the original timezone information, either zone name or offset from UTC [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?timezone">timezone</a>] <p> If the TIMESTAMP value is stored with a time zone name, interval computations should adjust based on the time zone rules. </p> - </li><li>-<em>Allow timezone names in SQL strings, '2006-05-24 21:11</em> - Americas/New_York'::timestamptz </li><li>Fix SELECT '0.01 years'::interval, '0.01 months'::interval </li><li>Add a GUC variable to allow output of interval values in ISO8601 format @@ -255,9 +227,7 @@ first. <a href="http://archives.postgresql.org/pgsql-bugs/2006-04/msg00248.php">http://archives.postgresql.org/pgsql-bugs/2006-04/msg00248.php</a> </p> <ul> - <li>-<em>Add support for day-time syntax, INTERVAL '1 2:03:04' DAY TO </em> - SECOND - </li><li>Support ISO INTERVAL syntax if units cannot be determined from + <li>Support ISO INTERVAL syntax if units cannot be determined from the string, and are supplied after the string <p> The SQL standard states that the units after the string specify the units of the string, e.g. INTERVAL '2' MINUTE @@ -287,8 +257,7 @@ first. <ul> <li>Arrays <ul> - <li>-<em>Allow NULLs in arrays</em> - </li><li>Delay resolution of array expression's data type so assignment + <li>Delay resolution of array expression's data type so assignment coercion can be performed on empty array expressions </li><li>Add support for arrays of domains </li><li>Add support for arrays of complex types @@ -313,18 +282,10 @@ first. <ul> <li>Allow INET subnet tests using non-constants to be indexed - </li><li>-<em>Add transaction_timestamp(), statement_timestamp(), clock_timestamp()</em> - functionality -<p> Current CURRENT_TIMESTAMP returns the start time of the current - transaction, and gettimeofday() returns the wallclock time. This will - make time reporting more consistent and will allow reporting of - the statement start time. -</p> </li><li>%Add pg_get_acldef(), pg_get_typedefault(), pg_get_attrdef(), pg_get_tabledef(), pg_get_domaindef(), pg_get_functiondef() <p> These would be for application use, not for use by pg_dump. </p> - </li><li>-<em>Allow to_char() to print localized month names</em> </li><li>Allow to_date() and to_timestamp() accept localized month names </li><li>Add missing parameter handling in to_char() </li></ul> @@ -346,9 +307,6 @@ first. </li><li>to_char(INTERVAL '43 hours 20 minutes', 'WK:DD:HR:MI') => 0:1:19:20 </li><li>to_char(INTERVAL '3 years 5 months','MM') => 41 </li></ul> - </li><li>-<em>Add sleep() function, remove from regress.c</em> - </li><li>-<em>Allow user-defined functions retuning a domain value to enforce domain</em> - constraints </li><li>Add SPI_gettypmod() to return the typemod for a TupleDesc </li><li>Allow inlining of set-returning functions </li></ul> @@ -410,9 +368,6 @@ first. <li>Add CORRESPONDING BY to UNION/INTERSECT/EXCEPT </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>-<em>Allow TRUNCATE ... CASCADE/RESTRICT</em> -<p> This is like DELETE CASCADE, but truncates. -</p> </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. @@ -452,13 +407,6 @@ first. </p> </li><li>Add NOVICE output level for helpful messages like automatic sequence/index creation - </li><li>-<em>Add COMMENT ON for all cluster global objects (roles, databases</em> - and tablespaces) - </li><li>-<em>Make row-wise comparisons work per SQL spec</em> -<p> Right now, '(a, b) < (1, 2)' is processed as 'a < 1 and b < 2', but - the SQL standard requires it to be processed as a column-by-column - comparison, so the proper comparison is '(a < 1) OR (a = 1 AND b < 2)'. -</p> </li><li>Add RESET CONNECTION command to reset all session state <p> This would include resetting of all variables (RESET ALL), dropping of temporary tables, removing any NOTIFYs, cursors, open transactions, @@ -474,7 +422,7 @@ first. </li><li>Allow EXPLAIN to identify tables that were skipped because of constraint_exclusion </li><li>Allow EXPLAIN output to be more easily processed by scripts - </li><li>-<em>Enable escape_string<u>warning and standard</u>conforming_strings</em> + </li><li>Enable standard_conforming_strings </li><li>Make standard_conforming_strings the default in 8.3? <p> When this is done, backslash-quote should be prohibited in non-E'' strings because of possible confusion over how such strings treat @@ -505,15 +453,10 @@ first. expressions like SELECT col1 || col2 </li><li>Use more reliable method for CREATE DATABASE to get a consistent copy of db? - </li><li>-<em>Add ON COMMIT capability to CREATE TABLE AS ... SELECT</em> </li></ul> </li><li>UPDATE <ul> - <li>-<em>Allow an alias to be provided for the target table in</em> - UPDATE/DELETE (Neil) - </li><li>-<em>Allow UPDATE tab SET ROW (col, ...) = (val, ...) for updating</em> - multiple columns - </li><li>Allow UPDATE tab SET ROW (col, ...) = (SELECT...) + <li>Allow UPDATE tab SET ROW (col, ...) = (SELECT...) <p> <a href="http://archives.postgresql.org/pgsql-hackers/2006-07/msg01306.php">http://archives.postgresql.org/pgsql-hackers/2006-07/msg01306.php</a> </p> </li></ul> @@ -537,7 +480,6 @@ first. is used </li><li>%Prevent child tables from altering or dropping constraints like CHECK that were inherited from the parent table - </li><li>-<em>Add ALTER TABLE tab INHERIT / NO INHERIT parent</em> </li><li>Have ALTER INDEX update the name of a constraint using that index </li><li>Add ALTER TABLE RENAME CONSTRAINT, update index name also </li></ul> @@ -564,7 +506,6 @@ first. <p> This requires the use of a savepoint before each COPY line is processed, with ROLLBACK on COPY failure. </p> - </li><li>-<em>Have COPY return the number of rows loaded/unloaded?</em> </li><li>Allow COPY on a newly-created table to skip WAL logging <p> On crash recovery, the table involved in the COPY would be removed or have its heap and index files truncated. One @@ -572,7 +513,6 @@ first. the table at the same time, which is something that is currently allowed. </p> - </li><li>-<em>Allow COPY (SELECT ...) TO 'filename'</em> </li></ul> </li><li>GRANT/REVOKE <ul> @@ -597,16 +537,10 @@ first. </p> </li><li>Prevent DROP TABLE from dropping a row referenced by its own open cursor? - </li><li>-<em>Allow pooled connections to list all open WITH HOLD cursors</em> -<p> Because WITH HOLD cursors exist outside transactions, this allows - them to be listed so they can be closed. -</p> </li></ul> </li><li>INSERT <ul> <li>Allow INSERT/UPDATE of the system-generated oid value for a row - </li><li>-<em>Allow INSERT INTO tab (col1, ..) VALUES (val1, ..), (val2, ..)</em> - </li><li>-<em>Allow INSERT/UPDATE ... RETURNING new.col or old.col</em> </li><li>In rules, allow VALUES() to contain a mixture of 'old' and 'new' references </li></ul> @@ -689,15 +623,13 @@ first. </li><li>Add PL/Python tracebacks <p> <a href="http://archives.postgresql.org/pgsql-patches/2006-02/msg00288.php">http://archives.postgresql.org/pgsql-patches/2006-02/msg00288.php</a> </p> - </li><li>-<em>Allow PL/python to return composite types and result sets</em> </li></ul> </li></ul> </li></ul> <h1><a name="section_9">Clients</a></h1> <ul> - <li>-<em>Have initdb set the input DateStyle (MDY or DMY) based on locale</em> - </li><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? </li><li>Allow pg_ctl to work properly with configuration files located outside the PGDATA directory <p> pg_ctl can not read the pid file because it isn't located in the @@ -720,17 +652,6 @@ first. </li><li>Allow psql \pset boolean variables to set to fixed values, rather than toggle </li><li>Consistently display privilege information for all objects in psql - </li><li>-<em>Improve psql's handling of multi-line statements</em> -<p> Currently, while \e saves a single statement as one entry, interactive - statements are saved one line at a time. Ideally all statements - would be saved like \e does. -</p> - </li><li>-<em>Allow multi-line column values to align in the proper columns</em> -<p> If the second output column value is 'a\nb', the 'b' should appear - in the second display column, rather than the first column as it - does now. -</p> - </li><li>-<em>Display IN, INOUT, and OUT parameters in \df</em> </li><li>Add auto-expanded mode so expanded output is used if the row length is wider than the screen width. <p> Consider using auto-expanded mode for backslash commands like \df+. @@ -746,13 +667,10 @@ first. </li></ul> </li><li>pg_dump <ul> - <li>-<em>Allow pg_dump to use multiple -t and -n switches, exclusion</em> - ability, and regular expression object matching - </li><li>%Add dumping of comments on index columns and composite type columns + <li>%Add dumping of comments on index columns and composite type columns </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? - </li><li>-<em>Update pg_dump and psql to use the new COPY libpq API (Christopher)</em> </li><li>Remove unnecessary function pointer abstractions in pg_dump source code </li><li>Allow selection of individual object(s) of all types, not just @@ -785,8 +703,7 @@ first. </li></ul> </li><li>libpq <ul> - <li>-<em>Add a function to support Parse/DescribeStatement capability</em> - </li><li>Add PQescapeIdentifierConn() + <li>Add PQescapeIdentifierConn() </li><li>Prevent PQfnumber() from lowercasing unquoted the column name <p> PQfnumber() should never have been doing lowercasing, but historically it has so we need a way to prevent it @@ -903,7 +820,6 @@ first. </p> </li><li>Allow accurate statistics to be collected on indexes with more than one column or expression indexes, perhaps using per-index statistics - </li><li>-<em>Add fillfactor to control reserved free space during index creation</em> </li><li>Allow the creation of indexes with mixed ascending/descending specifiers <p> This is possible now by creating an operator class with reversed sort @@ -1035,7 +951,6 @@ first. index entry) might be slow and unreliable, especially for user-defined index functions. </p> - </li><li>-<em>Add system view to show free space map contents</em> </li><li>Allow FSM to return free space toward the beginning of the heap file, in hopes that empty pages at the end can be truncated by VACUUM </li><li>Allow FSM page return free space based on table clustering, to assist @@ -1263,19 +1178,11 @@ first. </li><li>Allow building in directories containing spaces <p> This is probably not possible because 'gmake' and other compiler tools do not fully support quoting of paths with spaces. -</p> - </li><li>-<em>Allow installing to directories containing spaces</em> -<p> This is possible if proper quoting is added to the makefiles for the - install targets. Because PostgreSQL supports relocatable installs, it - is already possible to install into a directory that doesn't contain - spaces and then copy the install to a directory with spaces. </p> </li><li>Fix sgmltools so PDFs can be generated with bookmarks - </li><li>-*%Clean up compiler warnings (especially with gcc version 4)* </li><li>Use UTF8 encoding for NLS messages so all server encodings can read them properly </li><li>Update Bonjour to work with newer cross-platform SDK - </li><li>-<em>Remove BeOS and QNX-specific code</em> </li><li>Split out libpq pgpass and environment documentation sections to make it easier for non-developers to find </li><li>Improve port/qsort() to handle sorts with 50% unique and 50% duplicate @@ -1308,7 +1215,6 @@ first. option is to wait for the MinGW project to fix it, or use the code from the LibGW32C project as a guide. </p> - </li><li>-<em>Port contrib/xml2</em> </li><li>Check WSACancelBlockingCall() for interrupts [<a href="http://momjian.postgresql.org/cgi-bin/pgtodo?win32intr">win32intr</a>] </li></ul> </li><li>Wire Protocol Changes -- GitLab