Hello, All.
Could anybody explain me the purpose of following piece of code in
VIO_proc_merge_save_point(), please?
> if ( (sav_point = transaction->tra_save_free) ) {
> transaction->tra_save_free = sav_point->sav_next;
> }
> else {
> sav_point = FB_NEW(*transaction->tra_pool) Savepoint();
> }
> sav_point->sav_next = sav_next;
> sav_point->sav_number = sav_number;
> *sav_point_list = sav_point;
> sav_point_list = &sav_point->sav_next;
My best guess is that this routine is called on SUSPEND, so all already
happened
changes must be merged to procedure savepoint because they must not be
undonable, but
stack has to be preserved because nested DML will continue working.
--
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