Det lyder som om, at dine kunder lever i deres eget øjebliksbillede af databasen, hvilket ville være sandt, hvis de har en åben transaktion, der bruger isolationsniveauet REPEATABLE-READ. Med andre ord, ingen data, der er begået efter, at klienten startede sin transaktion, vil være synlig for denne klient.
En løsning er at tvinge en ny transaktion til at starte. Bare kør COMMIT i klientsessionen, hvor det ser ud til at se forældede data. Det vil løse enhver åben transaktion, og den næste forespørgsel vil starte en ny transaktion.
En anden måde, du kan teste, er at bruge en låsende læsning forespørgsel
såsom SELECT ... FOR UPDATE
. Dette vil læse de senest forpligtede data, uanset kundens transaktionsisoleringsniveau. Det vil sige, at selvom klienten havde startet sin transaktion med REPEATABLE-READ, opfører en låsende læsning sig, som om de havde startet sin transaktion med READ-COMMITTED.