Hello, All.

   I can't understand one piece of code in VIO_verb_cleanup():

> if (!DPM_get(tdbb, &rpb, LCK_write)) {
>       BUGCHECK(186);  // msg 186 record disappeared
> }
> if (rpb.rpb_flags & rpb_delta) {
>       VIO_data(tdbb, &rpb, tdbb->getDefaultPool());
> }
> else {
>       CCH_RELEASE(tdbb, &rpb.getWindow(tdbb));
> }

   It seems to be a check that the record is still here and not damaged in any 
way, but...

1) Why LCK_write?
2) Why to call VIO_data() here if VIO_backout() will do the same a bit later?

-- 
   WBR, SD.

------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to