Load() static private method

static private Load ( AbstractBufferedReader reader, IFieldHandlerFactory fieldHandlerFactory, string tableName ) : TableVersionInfo
reader BTDB.StreamLayer.AbstractBufferedReader
fieldHandlerFactory IFieldHandlerFactory
tableName string
return TableVersionInfo
Esempio n. 1
0
 TableVersionInfo ITableInfoResolver.LoadTableVersionInfo(uint id, uint version, string tableName)
 {
     using (var tr = _keyValueDB.StartTransaction())
     {
         tr.SetKeyPrefix(TableVersionsPrefix);
         var key = TableInfo.BuildKeyForTableVersions(id, version);
         if (!tr.FindExactKey(key))
         {
             throw new BTDBException($"Missing TableVersionInfo Id:{id} Version:{version}");
         }
         return(TableVersionInfo.Load(new KeyValueDBValueReader(tr), _objectDB.FieldHandlerFactory, tableName));
     }
 }
Esempio n. 2
0
 TableVersionInfo ITableInfoResolver.LoadTableVersionInfo(uint id, uint version, string tableName)
 {
     using (var tr = _keyValueDB.StartTransaction())
     {
         tr.SetKeyPrefix(TableVersionsPrefix);
         var key = new byte[PackUnpack.LengthVUInt(id) + PackUnpack.LengthVUInt(version)];
         var ofs = 0;
         PackUnpack.PackVUInt(key, ref ofs, id);
         PackUnpack.PackVUInt(key, ref ofs, version);
         if (!tr.FindExactKey(key))
         {
             throw new BTDBException(string.Format("Missing TableVersionInfo Id:{0} Version:{1}", id, version));
         }
         return(TableVersionInfo.Load(new KeyValueDBValueReader(tr), _objectDB.FieldHandlerFactory, tableName));
     }
 }
Esempio n. 3
0
        TableVersionInfo GetTableVersionInfo(uint tableId, uint version)
        {
            TableVersionInfo res;

            if (_tableVersionInfos.TryGetValue(new TableIdVersion(tableId, version), out res))
            {
                return(res);
            }
            _trkv.SetKeyPrefixUnsafe(ObjectDB.TableVersionsPrefix);
            if (_trkv.Find(TwiceVuint2ByteBuffer(tableId, version)) == FindResult.Exact)
            {
                var reader = new KeyValueDBValueReader(_trkv);
                res = TableVersionInfo.Load(reader, _tr.Owner.FieldHandlerFactory, _tableId2Name[tableId]);
                _tableVersionInfos.Add(new TableIdVersion(tableId, version), res);
                return(res);
            }
            throw new ArgumentException($"TableVersionInfo not found {tableId}-{version}");
        }