Example #1
0
 public void AttachDb(string dbPath)
 {
     WriterLock(() =>
     {
         var metadataPath = DbMetadata.GetMetadataPath(dbPath);
         var metaData     = metadataPath.LoadFromFile <DbMetadata>();
         InitDbFromMetadata(metaData.Name, metaData);
     });
 }
Example #2
0
        private void InitDbFromMetadata(string name, DbMetadata metaData)
        {
            _dbNames[name] = metaData.DbMetadataPath;
            Serialize();
            var db = new Db(metaData);

            _loadedDbs[name] = db;
            db.SaveMetadata();
        }
Example #3
0
        public IDb CreateDb(string directoryPath, string name)
        {
            return(WriterLock(() =>
            {
                var dirInfo = new DirectoryInfo(Path.Combine(directoryPath, name));
                if (!dirInfo.Exists)
                {
                    dirInfo.Create();
                }

                var metaData = new DbMetadata
                {
                    Name = name,
                    DbPath = dirInfo.FullName,
                    Id = Guid.NewGuid()
                };

                InitDbFromMetadata(name, metaData);

                return GetDb(name);
            }));
        }
Example #4
0
 public Db(DbMetadata metadata) : base(TimeSpan.FromSeconds(30))
 {
     MetadataInternal = metadata;
     Directory.CreateDirectory(MeasurementDirectory);
 }