From 4835df303dae1b21c3c334202bea6d698cd38b75 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sat, 5 May 2007 15:40:01 +0000 Subject: [PATCH] Done: < Last updated: Sat May 5 10:47:39 EDT 2007 > Last updated: Sat May 5 11:39:57 EDT 2007 < * Flush cached query plans when the dependent objects change, < when the cardinality of parameters changes dramatically, or > * -Flush cached query plans when the dependent objects change or < < A more complex solution would be to save multiple plans for different < cardinality and use the appropriate plan based on the EXECUTE values. < < * Track dependencies in function bodies and recompile/invalidate < < 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. One complexity is that a function < might itself drop and recreate dependent tables, causing it to < invalidate its own query plan. < < * Invalidate prepared queries, like INSERT, when the table definition > * -Track dependencies in function bodies and recompile/invalidate > * -Invalidate prepared queries, like INSERT, when the table definition --- doc/TODO | 22 +++---------- doc/src/FAQ/TODO.html | 72 +++++++++++++++++++------------------------ 2 files changed, 37 insertions(+), 57 deletions(-) diff --git a/doc/TODO b/doc/TODO index 92f41e7226..d492324b3e 100644 --- a/doc/TODO +++ b/doc/TODO @@ -1,8 +1,8 @@ - +z PostgreSQL TODO List ==================== Current maintainer: Bruce Momjian (bruce@momjian.us) -Last updated: Sat May 5 10:47:39 EDT 2007 +Last updated: Sat May 5 11:39:57 EDT 2007 The most recent version of this document can be viewed at http://www.postgresql.org/docs/faqs.TODO.html. @@ -958,22 +958,10 @@ Triggers Dependency Checking =================== -* Flush cached query plans when the dependent objects change, - when the cardinality of parameters changes dramatically, or +* -Flush cached query plans when the dependent objects change or when new ANALYZE statistics are available - - A more complex solution would be to save multiple plans for different - cardinality and use the appropriate plan based on the EXECUTE values. - -* Track dependencies in function bodies and recompile/invalidate - - 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. One complexity is that a function - might itself drop and recreate dependent tables, causing it to - invalidate its own query plan. - -* Invalidate prepared queries, like INSERT, when the table definition +* -Track dependencies in function bodies and recompile/invalidate +* -Invalidate prepared queries, like INSERT, when the table definition is altered diff --git a/doc/src/FAQ/TODO.html b/doc/src/FAQ/TODO.html index e4e5982249..2ed075d4ae 100644 --- a/doc/src/FAQ/TODO.html +++ b/doc/src/FAQ/TODO.html @@ -2,14 +2,16 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> -PostgreSQL TODO List +z -

PostgreSQL TODO List

-

Current maintainer: Bruce Momjian (bruce@momjian.us)
-Last updated: Sat May 5 10:47:39 EDT 2007 -

+

z
+PostgreSQL TODO List +


+Current maintainer: Bruce Momjian (bruce@momjian.us)
+Last updated: Sat May 5 11:39:57 EDT 2007 +

The most recent version of this document can be viewed at
http://www.postgresql.org/docs/faqs.TODO.html.

@@ -23,7 +25,7 @@ you would like to work on an item, please read the Developer's FAQ
first. There is also a developer's wiki at
http://developer.postgresql.org.

-

Administration

+

Administration

-

Monitoring

+

Monitoring

-

Data Types

+

Data Types

-

Functions

+

Functions

-

Multi-Language Support

+

Multi-Language Support

-

Views / Rules

+

Views / Rules

-

SQL Commands

+

SQL Commands

-

Clients

+

Clients

-

Triggers

+

Triggers

-

Dependency Checking

+

Dependency Checking

-

Indexes

+

Indexes

-

Fsync

+

Fsync

-

Cache Usage

+

Cache Usage

-

Vacuum

+

Vacuum

-

Locking

+

Locking

-

Startup Time Improvements

+

Startup Time Improvements

-

Write-Ahead Log

+

Write-Ahead Log

-

Optimizer / Executor

+

Optimizer / Executor

-

Miscellaneous Performance

+

Miscellaneous Performance

-

Source Code

+

Source Code

-

Exotic Features

+

Exotic Features

-

Features We Do Not Want

+

Features We Do Not Want