]> granicus.if.org Git - postgresql/commit
Great TODO updates from Tom:
authorBruce Momjian <bruce@momjian.us>
Fri, 26 Aug 2005 18:52:44 +0000 (18:52 +0000)
committerBruce Momjian <bruce@momjian.us>
Fri, 26 Aug 2005 18:52:44 +0000 (18:52 +0000)
commit9f604687973eafa1476b454d50bc1dceb5b47ccb
treefabc07c196cca50eed74fa11a00be8b802d009da
parenta9118fc5a8f5361fe31be0a040bd4160c2a7ea13
Great TODO updates from Tom:

<   Currently SIGTERM of a backend can lead to lock table corruption.
>   Lock table corruption following SIGTERM of an individual backend
>   has been reported in 8.0.  A possible cause was fixed in 8.1, but
>   it is unknown whether other problems exist.  This item mostly
>   requires additional testing rather than of writing any new code.
<  o Allow postgresql.conf values to be set so they can not be changed
<    by the user
166c167,171
< * %Remove Money type, add money formatting for decimal type
> * Improve the MONEY data type
>
>   Change the MONEY data type to use DECIMAL internally, with special
>   locale-aware output formatting.
>
225c230
<  o %Allow MIN()/MAX() on arrays
>  o -Allow MIN()/MAX() on arrays
228c233
<  o Modify array literal representation to handle array index lower bound
>  o -Modify array literal representation to handle array index lower bound
235a241
>  o Auto-delete large objects when referencing row is deleted
<    Currently large objects entries do not have owners. Permissions can
<    only be set at the pg_largeobject table level.
>           /contrib/lo offers this functionality.
240d244
<  o Auto-delete large objects when referencing row is deleted
< * %Have views on temporary tables exist in the temporary namespace
< * Allow temporary views on non-temporary tables
< * %Allow RULE recompilation
> * -Have views on temporary tables exist in the temporary namespace
> * -Allow temporary views on non-temporary tables
> * Allow VIEW/RULE recompilation when the underlying tables change
340a345,347
>
>   This is like DELETE CASCADE, but truncates.
>
381c388
< * Make row-wise comparisons work per SQL spec
> * %Make row-wise comparisons work per SQL spec
<  o Currently the system uses the operating system COPY command to
<    create a new database. Add ON COMMIT capability to CREATE TABLE AS
<    SELECT
>  o Add ON COMMIT capability to CREATE TABLE AS ... SELECT
427c432
<  o %Add ALTER DOMAIN TYPE
>  o Add ALTER DOMAIN to modify the underlying data type
<  o %Disallow dropping of an inherited constraint
<  o -Allow objects to be moved to different schemas
>  o Add missing object types for ALTER ... SET SCHEMA
<  o %Prevent child tables from altering constraints like CHECK that were
<    inherited from the parent table
>  o %Disallow dropping of an inherited constraint
>  o %Prevent child tables from altering or dropping constraints
>           like CHECK that were inherited from the parent table
<  o Handle references to temporary tables that are created, destroyed,
<    then recreated during a session, and EXECUTE is not used
<
<    This requires the cached PL/PgSQL byte code to be invalidated when
<    an object referenced in the function is changed.
<
<  o Add table function support to pltcl, plperl, plpython?
<  o Allow PL/pgSQL to name columns by ordinal position, e.g. rec.(3)
>  o Add table function support to pltcl, plpython
549a548
>  o Allow function argument names to be queries from PL/PgSQL
<  o Pass arrays natively instead of as text between plperl and postgres
<  o Add support for polymorphic arguments and return types to plperl
>  o -Pass arrays natively instead of as text between plperl and postgres
>  o Add support for polymorphic arguments and return types to
>    languages other than PL/PgSQL
>  o Add support for OUT and INOUT parameters to languages other
>    than PL/PgSQL
< * Allow libpq to access SQLSTATE so pg_ctl can test for connection failure
<
<   This would be used for checking if the server is up.
<
565c563
< * Have initdb set DateStyle based on locale?
> * Have initdb set the input DateStyle (MDY or DMY) based on locale?
567d564
< * Add a schema option to createlang
<  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 pg_dumpall custom format dumps?
612c605,606
<  o Remove unnecessary abstractions in pg_dump source code
>  o Remove unnecessary function pointer abstractions in pg_dump source
>    code
< * %Remove CREATE CONSTRAINT TRIGGER
<
<   This was used in older releases to dump referential integrity
<   constraints.
<
682a672,675
>   This is particularly important for references to temporary tables
>   in PL/PgSQL because PL/PgSQL caches query plans.  The only workaround
>   in PL/PgSQL is to use EXECUTE.
>
748c741
< * Fetch heap pages matching index entries in sequential order
> * -Fetch heap pages matching index entries in sequential order
797c790
<    Currently no only one hash bucket can be stored on a page. Ideally
>    Currently only one hash bucket can be stored on a page. Ideally
806a800,802
>  o Add WAL logging for crash recovery
>  o Allow multi-column hash indexes
>
812a809,812
>
>   Ideally this requires a separate test program that can be run
>   at initdb time or optionally later.
>
867c867
< * Improve the background writer
> * -Improve the background writer
<   For large table adjustements during vacuum, it is faster to reindex
<   rather than update the index.
>   For large table adjustements during VACUUM FULL, it is faster to
>   reindex rather than update the index.
< * Reduce lock time by moving tuples with read lock, then write
<   lock and truncate table
> * Reduce lock time during VACUUM FULL by moving tuples with read lock,
>   then write lock and truncate table
919c919,920
<  o %Suggest VACUUM FULL if a table is nearly empty
>  o %Issue log message to suggest VACUUM FULL if a table is nearly
>    empty?
995d995
< * Add WAL index reliability improvement to non-btree indexes
1045c1045
< * ANALYZE should record a pg_statistic entry for an all-NULL column
> * -ANALYZE should record a pg_statistic entry for an all-NULL column
1047a1048,1051
> * Allow constraint_elimination to be automatically performed
>
>   This requires additional code to reduce the performance loss caused by
>   constraint elimination.
1090c1094
< * Remove memory/file descriptor freeing before ereport(ERROR)
> * %Remove memory/file descriptor freeing before ereport(ERROR)
< * Promote debug_query_string into a server-side function current_query()
< * Allow the identifier length to be increased via a configure option
> * %Promote debug_query_string into a server-side function current_query()
> * %Allow the identifier length to be increased via a configure option
1113d1116
< * Fix cross-compiling of time zone database via 'zic'
1130c1133
<  o Improve dlerror() reporting string
>  o -Improve dlerror() reporting string
1132c1135
<         o Add support for Unicode
>         o %Add support for Unicode
doc/TODO
doc/src/FAQ/TODO.html