KamoCRM

Leggi una pagina della cronologia delle chat senza contare l'intera sessione

Fixkamo-shared-library
Spegnimento
16 agosto 2026 alle ore 01:13 UTC
Autore
Kamo
Impegno
3cc8b30

Spring Data deriva una seconda dichiarazione per ogni pagina che ritorna, e la chat storia letto chiesto per uno non ha mai guardato: MediaController prende page.getContent() e poi segnala i messaggi.size() come conteggio. Il derivato dichiarazione COUNT SELECT(m1 0.id) DA media objs m1 0 SINISTRA GIOIN media objs msg m3 0 ON m1 0.id = m3 0.obj id DOVE m1 0.session id = ? E m1 0.is removed = falso — un aggregato non indicizzato su ogni oggetto della sessione, emesso dopo il transazione aveva già letto, che è precisamente la forma YugabyteDB non può Riprenditi. Può solo riavviare trasparente una lettura che è il PRIMO dichiarazione nella sua transazione; una successiva solleva SQLState 40001 "Riavviare letto richiesto", la transazione è contrassegnata solo rollback, e la richiesta 500s. Quindi... finestra di chat aperta che è successo ricaricare mentre qualcuno stava scrivendo allo stesso la sessione non ha mostrato alcuna storia, a causa di un numero che è stato scartato. Le righe ora ritornano come Lista, che non conta. Stessa domanda, stesso ordine, stessa pagina; una dichiarazione invece di due. Il metodo Page-returning rimane per MediaStreamController, che veramente serve per il cibo sociale. Ogni altro chiamante stava prendendo .getContent() e gettando il totale via, così i due pubblico-chat siti si muovono anche attraverso (MediaService, commit separato).

Tutte le modifiche

Come quello che vedi la spedizione?

Tutto questo arriva nel vostro spazio di lavoro da solo. Iniziare sul piano gratuito e leggere di nuovo questa pagina in un mese.

Inizia gratis per sempreVisualizza il prezzo