Is it possible to cache metadata instead of reloading it for every query?

Discussion of open issues, suggestions and bugs regarding IBDAC (InterBase Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
AlexanderL
Posts: 4
Joined: Wed 15 May 2019 07:05

Is it possible to cache metadata instead of reloading it for every query?

Post by AlexanderL » Thu 05 Sep 2019 00:21

Hi,
I noticed IBDAC issues a query requesting metadata information about data field properties every time before issuing SELECT or UPDATE queries. Is it possible to change settings not to do it? Is it possible to load all metadata only once?
To make it more clear this kind of statement is issued before every my SELECT (see below) I'm sure there should be a setting that is causing this. Can I issue this SELECT only once per run or at least once per connection?

SELECT Rel.RDB$FIELD_NAME, Fld.RDB$COMPUTED_BLR, Rel.RDB$DEFAULT_SOURCE, Fld.RDB$DEFAULT_SOURCE FROM RDB$RELATION_FIELDS Rel JOIN RDB$FIELDS Fld ON (Rel.RDB$FIELD_SOURCE = Fld.RDB$FIELD_NAME) WHERE (Rel.RDB$RELATION_NAME = 'PROCPART' ) AND ( (NOT Fld.RDB$COMPUTED_BLR IS NULL) OR (NOT Rel.RDB$DEFAULT_SOURCE IS NULL) OR (NOT Fld.RDB$DEFAULT_SOURCE IS NULL))

Another question:
Is there an event or component I could use to log all issued queries (IBDAC internal and software) and data and parameter values into my own file? The free DB monitor is helpful but harder to use than looking at text logs.

Thanks in advance,
Alex Liberov.

ViktorV
Devart Team
Posts: 3168
Joined: Wed 30 Jul 2014 07:16

Re: Is it possible to cache metadata instead of reloading it for every query?

Post by ViktorV » Fri 06 Sep 2019 13:11

To give you the most detailed answer possible, we need a small sample demonstrating that behavior. Please compose and send it to us, along with scripts for creating and populating database objects via the e-support form: https://devart.com/company/contactform.html. Which version of MySQL do you use?
Currently there's no possibility to monitor MetaData retrieval and other service queries.
You can request this functionality on our User Voice forum: https://devart.uservoice.com/forums/104 ... components to speed up the implementation of the functionality.

Post Reply