pgsql: Great TODO updates from Tom: < Currently SIGTERM of a backend

Started by Bruce Momjianalmost 21 years ago1 messagescomitters
Jump to latest
#1Bruce Momjian
bruce@momjian.us

Log Message:
-----------
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

Modified Files:
--------------
pgsql/doc:
TODO (r1.1635 -> r1.1636)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/TODO.diff?r1=1.1635&amp;r2=1.1636)
pgsql/doc/src/FAQ:
TODO.html (r1.142 -> r1.143)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/FAQ/TODO.html.diff?r1=1.142&amp;r2=1.143)