Hi Gurjeet,
I will look at the pg_advise bug and will send a patch ASAP.
Best,
  Kai

Am 15.11.2006 um 15:34 schrieb Gurjeet Singh:
BUGS:
=====
.) The SELECTs in the pg_advise are returning wrong results, when the same index is suggested twice, because of the SUM() aggregates. .) I doubt that on a table t(a,b), for a suggestion of idx(b,a), pg_advise will
    suggest idx(a,b);

Wish-list:
==========
.) Make pg_indexadvisor a user table.
      Reason: a normal user cannot do "delete from pg_indexadvisor".
      Difficulty: Need to know how to do
                    "insert into pg_indexadvisor values( 1, ...)"
from within the backend; that is, need to study/ invent RSI
                  (Recursive SQL Interface).
      Trial code can be seen by searching for:
exec_simple_query( "insert into index_advisor values ( 10 )",
                                    "advisor" /*portal name*/ );

.) Make it plugin-based.
      Reason: so that someone else with a better idea can replace
              this advisor, without having to recompile the server.
      Difficulty: This code calls many internal functoions:
                     index_create(), index_drop(), planner(), etc.
                  That makes it impossible to compile it standalone.

.) Remove the dependency on the global "index_candidates"; used for
     communication between indexadvisor.c and plancat.c.
    Reason: Bad coding practice.
Difficulty: Even though I was successful in updating pg_class.relpages for the virtual indexes, the planner is still calling smgr.c code to get the number of pages occupied by the index! Hence, I had to
                use the global the way I did.

Best regards,

--
[EMAIL PROTECTED]
singh.gurjeet @{ gmail | hotmail | yahoo }.com
<patch_and_other_files.tar.gz>


---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to