03.03.2016 13:42, Dimitry Sibiryakov wrote: > 03.03.2016 12:29, Vlad Khorsun wrote: >>> How will be enforced consistency between tablespaces? How to detect >>> and handle cases if >>>> tablespace file is lost or is older/newer that main file? >> I'm afraid it will require some mark (GUID ?) stored in both tablespace >> (at header page ?) >> and system dictionary (RDB$TABLESPACES ?). It will be renewed at database >> shutdown (last >> disconnect) before closing of tablespace file. Mark should not be changed if >> there was no >> changes in tablespace data, btw. Mark should be preserved by physical >> backup\restore of >> tablespace. There should be special (emergency) way to attach tablespace >> with invalid mark, >> probably in read-only mode... > > Inconsistency is most likely after sudden death. In this case the mark > won't be > written.
With version mark we could set boolean flag "closed correctly". It will be set to "false" on first change of tablespace data and set to "true" when file is closing > May be transaction counters in each header written on each commit that change > the > tablespace can work better? This will create crazy overhead Vlad ------------------------------------------------------------------------------ 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