Temat: Select nextval współbieżnie
Witam,
W wersji 8.4 podczas testów wydajnościowych zauważyliśmy dziwne zachowanie.
Wbrew definicji działania funkcji nextval otrzymujemy tą samą sekwnecję.
Dwa wątki w odzielnych transakcjach równocześnie próbuja dodać nową krotkę.. niestety kończy się to naruszeniem integralności bazy.
nextval zwraca dwa razy wartość 42400...
Pomysły ?
2010-11-22 12:50:41 CET LOG: execute <unnamed>: select nextval ('referral_for_examination_id_seq')
2010-11-22 12:50:41 CET LOG: execute <unnamed>: select nextval ('referral_for_examination_id_seq')
2010-11-22 12:50:41 CET LOG: execute <unnamed>: insert into RFE_REFERALLS_FOR_EXAMINATION (CREATE_DATE, DOCTOR_ID, INSTITUTION_ID, LABORATORY_ID, PATIENT_ID, READY, REFERRAL_CODE, VALUEABLE_CLINIC_INFO, Id) values ($1, $2, $3, $4, $5, $6, $7, $8, $9)
2010-11-22 12:50:41 CET DETAIL: parameters: $1 = '2010-11-22 12:51:06.472', $2 = '1173', $3 = '1249', $4 = NULL, $5 = '12', $6 = 'f', $7 = '1249-0100000012', $8 = 'tutaj dane istotne klinicznie', $9 = '42400'
2010-11-22 12:50:41 CET LOG: execute <unnamed>: insert into RFE_REFERALLS_FOR_EXAMINATION (CREATE_DATE, DOCTOR_ID, INSTITUTION_ID, LABORATORY_ID, PATIENT_ID, READY, REFERRAL_CODE, VALUEABLE_CLINIC_INFO, Id) values ($1, $2, $3, $4, $5, $6, $7, $8, $9)
2010-11-22 12:50:41 CET DETAIL: parameters: $1 = '2010-11-22 12:51:06.486', $2 = '1173', $3 = '1249', $4 = NULL, $5 = '13', $6 = 'f', $7 = '1249-0000000013', $8 = 'tutaj dane istotne klinicznie', $9 = '42400'
Ostatnio edytowany przez xautu (2010-11-22 17:15:26)