protected void RegenerateFileMetadata() { //_metadataPersister.CreateCollection("FileMetadata"); //ITransaction regenTransaction = _metadataPersister.BeginTransaction(null, false); //ITransaction iterationTransaction = _MetadataPersistner.Provider.BeginTransaction(null, true); IDataReader <string, byte[]> dataReader = _metadataPersister.GetAllDocuments <string, byte[]>("FileMetadata"); while (dataReader.MoveNext()) { KeyValuePair <string, byte[]> kvp = dataReader.Current(); //inMemory StoreKeyMetadata FileMetadata <long, byte[]> fileMetadata = (FileMetadata <long, byte[]>)CompactBinaryFormatter.FromByteBuffer(kvp.Value, ""); fileMetadata.Provider = ProviderFactory.CreateProvider(fileMetadata.ProviderType); StorageConfiguration clone = (StorageConfiguration)_userConfig.Clone(); clone.StorageProvider.DatabaseId = fileMetadata.DatabaseId; clone.StorageProvider.DatabasePath = _userConfig.StorageProvider.DatabasePath + _userConfig.StorageProvider.DatabaseId; clone.StorageProvider.DatabasePath += "\\"; //clone.StorageProvider.DatabasePath = fileMetadata.FilePath; fileMetadata.Provider.Initialize(clone); _dbIndex++; _fileMetadataDictionary[kvp.Key] = fileMetadata; } dataReader.Dispose(); //_metadataPersister.Commit(regenTransaction); }
protected virtual void RegeneratekeyMetadata() { IDataReader <long, byte[]> dataReader = _metadataPersister.GetAllDocuments <long, byte[]>(GetKeyMetadataCollection()); while (dataReader.MoveNext()) { KeyValuePair <long, byte[]> kvp = dataReader.Current(); //inMemory Store DocumentKey docKey;// = DeserializeKey(kvp.Key); long rowId, fileId, size; string key; DeserializeMetadata(kvp.Value, out key, out fileId, out size); docKey = new DocumentKey(key); rowId = kvp.Key; //JSONDocument jDoc = DeserializeDocument(kvp.Value); ReloadSizes(rowId, size); if (rowId > _lastRowId) { _lastRowId = rowId; } Add(docKey, rowId, null, new OperationContext(), size); _rowToFileIndex[rowId] = fileId; //_keyToRowIndex[new DocumentKey(kvp.Key)] = kvp.Value; //_enumerationSet.Add(kvp.Value); //if (_parent.Distribution != null) // AddBucketKeyIndex(docKey); } dataReader.Dispose(); //_metadataPersister.Commit(regenTransaction); }