• Bruce Momjian's avatar
    Great TODO updates from Tom: · 9f604687
    Bruce Momjian authored
    <   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
    9f604687
TODO.html 52.3 KB