Vlad proposition is better then writting somethink on every transaction and should work without ovehead
look at this (if i understand Vlad's proposition correctly) two fields MAIN_DB_GUID, MAIN_OPENED and the same for all table space files (as S_DB_GUID, S_OPENED) 1. First connect to db 2. Read DB_GUID and MAIN_OPENED 3. check if MAIN_OPENED = false a) False = ok b) True = Error 4. write back MAIN_OPENED = true 5. access to all table spaces in loop. read S_DB_GUID, S_OPENED 6. check if S_OPENED = false a) False = ok b) True = Error 7. compare MAIN_DB_GUID and S_DB_GUID a) same=ok b) diff=error 8. start closing database files 9. generete new MAIN_DB_GUID 10. write MAIN_DB_GUID back to db and MAIN_OPENED=false 11. close all table spaces 12. write replace S_DB_GUID with MAIN_DB_GUID and S_OPENED=false regards, Karol Bieniaszewski ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel