It’s so easy to pick the wrong one #JoelKallmanDay
I started this blog enthusiastically. And then life happened. Today is Joel Kallman Day, so it seems a good day to pick this up again. Some time ago I ran into a problem with my code, where the cache for a result cache function wasn’t invalidated if DML was performed on the table the function selected from.This led to the function returning old values because it was under the impression the cache was still valid.I’ve checked and seen this behavior in all versions between 12.1.0.2 and the currently highest available version 23c FREE. In the end it turned out to be caused by a “for update” clause that I unintentionally copied when I put the query into the function from someplace else.So, it wouldn’t have happened if paid more attention to what I was copying.Nevertheless, the combination of a result cache and a “for update” is as far as I … Continue reading →