D
dbeavon
Guest
@Tim What you describe would be helpful behavior; but it is not true based on my observations. There isn't any schema-caching from what I can tell. Even if you *explictly* specified a local schema cache file, it doesn't appear to be used for these purpose (dynamic queries). A few months ago I opened a support case on this issue and they created a KB for it: knowledgebase.progress.com/.../QUERY-PREPARE-generates-excessive-network-traffic In my example I was using an expression that contained a bracketed predicate on CustNum over and over, WHERE (Customer.CustNum = 1) OR (Customer.CustNum = 2) OR (Customer.CustNum = 3) OR (Customer.CustNum = 4) OR (Customer.CustNum = 5) OR (Customer.CustNum = 9) OR (Customer.CustNum = 10) ... If you open wireshark durint the QUERY-PREPARE, you can see that during the operation the ABL is interrogating the database schema over and over again for the same CustNum field information. The ABL doesn't cache or reuse schema during the evaluation of a single statement, let alone reuse it for subsequent statements. Here is the full repro if you would like to see this happening on the sports database: community.progress.com/.../55916
Continue reading...
Continue reading...