By default TableInfoCache is enabled. This casues many additional queries like:
Code: Select all
select pc.relname, pns.nspname, pa.attnum, pa.attname from pg_catalog.pg_class pc join pg_catalog.pg_namespace pns on pc.relnamespace = pns.oid join pg_catalog.pg_attribute pa on pa.attrelid = pc.oid where pc.oid = 44411 and pa.attnum > 0
If main query is complicated (many tables) I have many, many selects from pg_catalog. And it takes long time on slow connection...
Even if TableInfoCache is disabled (NoTableInfoCache=True), data like relname, nspname, attname is loaded by TZAbstractResultSetMetadata.LoadColumns. So I do not understand what is this cache for.
I do not know Delphi and it is hard to analize sources for me. Can you tell what is the benefit of using TableInfoCache? When can I observe it?
Thanks for help.
ZEOS rev. 3628 from branch testing-7.2, Postgresql 9.3