In that case you must put a read lock on the string that covers the loop. If you're in a multi-threaded environment and not using locks when appropriate then all bets are off.
On Fri, Oct 20, 2017 at 12:05 PM, Geoff Winkless <pgsqladmin@xxxxxxxx> wrote:
As an aside any halfway decent optimizer would realize that the results of strlen() are unchanging as long as the contents of what it's passed isn't modified. That's a common enough pattern that it should be checked.IME this is a myth perpetuated by bad computer science lecturers who haven't thought through the consequences of what they're saying. strlen() can change because of changes inside the loop but also because of also threads in the system; I've not yet seen a compiler optimise that away, and neither should it, IMO.G