Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }