29.03.2014 14:21, Dimitry Sibiryakov wrote:>     Because this call uses 
(relatively) 
global record buffer, content of 'old_data' is
 > replaced with 'undo', so the data that should go is wrong.

   Just as a note: even if this side effect is fixed, the logic of 
verb_post()/grabage_collect_idx() is broken because it doesn't take into 
account whole 
stack of savepoints. A definite sequence of 'release savepoint' + 'rollback to 
savepoint' 
can lead to missing entries.
   For a proper work every value kept in undo data of whole savepoints' stack 
must be put 
into staying list. It requires deep rework of verb cleaning procedure.

-- 
   WBR, SD.

------------------------------------------------------------------------------
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to