Thanks for your response. Hope those stats will be used by Query Planner.
So, just for my understanding, if i don't return stats (returning NULL from index_bulk_delete and index_vacuum_cleanup functions), Query Planner will not consider my Index as part of Query Path, beyond that i don't expect any bad consequences. Please clarify me, if i'm wrong. Regards, Abinaya K > On Wed, Jan 24, 2018 at 1:24 PM, Masahiko Sawada <sawada.m...@gmail.com> > wrote: > >> On Wed, Jan 24, 2018 at 1:27 PM, Abinaya k <abinaya.k....@gmail.com> >> wrote: >> > Hai all, >> > We are building In-memory index extension for postgres. We would >> > capture table inserts, updates, deletes using triggers. During vacuum >> > operation, postgres would give calls to ambulkdelete, amvacuumcleanup >> (as >> > part of index cleanup). As we handle all updates, deletes using >> triggers, we >> > don't have to do any index cleanup in ambulkdelete. But, what stats >> should i >> > return from ambulkdelete and amvacuumcleanup? Is that necessary to >> return >> > stats from ambulkdelete and amvacuumcleanup ? >> >> Both ambulkdelete and amvacuumcleanup return an IndexBulkDeleteResult. >> If you return a non-NULL value, the values of returned >> IndexBulkDeleteResult are used for updating the index statistics and >> reporting the statistics of bulk deletion in lazy_cleanup_index. For >> example, num_pages and num_index_tuples are used for updating >> pg_class.relpages and pg_class.reltuples. But if you return NULL from >> them, these are skipped. >> >> Regards, >> >> -- >> Masahiko Sawada >> NIPPON TELEGRAPH AND TELEPHONE CORPORATION >> NTT Open Source Software Center >> > >