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

Reply via email to