예제 #1
0
        private static void SaveObjectForCrashRollback(object obj, SqoTypeInfo ti, TransactionsStorage storage, TransactionObjectHeader header, StorageEngine engine)
        {
            ObjectInfo objInfo = MetaExtractor.GetObjectInfo(obj, ti, engine.metaCache);

            byte[] bytes     = engine.GetObjectBytes(objInfo.Oid, ti);
            int    batchSize = storage.SaveTransactionalObject(bytes, header.Position);

            storage.Flush();
            header.BatchSize = batchSize;
            header.TypeName  = ti.TypeName;
        }