Example #1
0
        public void RemoveTempPartition(IPartition partition)
        {
            var defaultPath = _metadata.Settings.DefaultPath;

            if (Access != EFileAccess.ReadWrite)
            {
                throw new NFSdbAccessException("Journal {0} is open as read only, unable to create temp partitions.",
                                               defaultPath);
            }

            try
            {
                // Close the files
                partition.Dispose();
            }
            catch (Exception ex)
            {
                Trace.TraceWarning("Error diposing temp partition " + partition.DirectoryPath, ex);
            }

            try
            {
                Directory.Delete(partition.DirectoryPath, true);
            }
            catch (Exception ex)
            {
                Trace.TraceWarning("Error deleting temp partition " + partition.DirectoryPath, ex);
            }
        }
Example #2
0
        public void CommitTempPartition(IPartition partition, PartitionTxData txData)
        {
            // partition.Commit();

            // Close the files
            partition.Dispose();

            var partitionVersion = new PartitionDate(partition.StartDate, partition.Version,
                                                     _metadata.Settings.PartitionType);
            var path = Path.Combine(_metadata.Settings.DefaultPath, partitionVersion.Name);

            Directory.Move(partition.DirectoryPath, path);
        }