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