private static IColumnMetadata GetTimestamp(IJournalMetadata metadata)
 {
     if (!metadata.TimestampColumnID.HasValue)
     {
         return(null);
     }
     return(metadata.GetColumnByID(metadata.TimestampColumnID.Value));
 }
Пример #2
0
 public FileTxSupport(int partitionID, IColumnStorage storage, IJournalMetadata metadata, DateTime startDate, DateTime endTime)
 {
     _partitionID = partitionID;
     _storage     = storage;
     _metadata    = metadata;
     _startDate   = startDate;
     _endTime     = endTime;
 }
Пример #3
0
 internal Journal(IJournalMetadata metadata,
                  IPartitionManager partitionManager, IJournalServer server)
     : base(metadata, partitionManager)
 {
     _metadata                     = metadata;
     _partitionManager             = partitionManager;
     _server                       = server;
     _partitionManager.OnCommited += OnCommited;
     _writerState                  = new WriterState <T>(metadata.GetTimestampReader <T>());
 }
Пример #4
0
        internal JournalCore(IJournalMetadata metadata, IPartitionManager partitionManager)
        {
            _settings         = metadata.Settings;
            _partitionManager = partitionManager;
            Metadata          = metadata;
            var unsafePartitionManager = (IUnsafePartitionManager)partitionManager;

            QueryStatistics = new JournalStatistics(Metadata, unsafePartitionManager);
            Diagnostics     = new JournalDiagnostics(unsafePartitionManager);
            Initialize(partitionManager.Access);
        }
Пример #5
0
 public ColumnStorage(
     IJournalMetadata metadata,
     string folder,
     EFileAccess access,
     int partitionID,
     ICompositeFileFactory compositeFileFactory)
 {
     _access               = access;
     _partitionID          = partitionID;
     _compositeFileFactory = compositeFileFactory;
     _folder               = folder;
     _openedFiles          = new IRawFile[metadata.FileCount];
 }
Пример #6
0
        public RecordSet(IEnumerable <long> rowIDs,
                         IReadTransactionContext tx,
                         IJournalMetadata metadata)
        {
            _rowIDs   = rowIDs;
            _tx       = tx;
            _metadata = metadata;
            var bitsetColumn = _metadata.Columns.FirstOrDefault(c => c.DataType.ColumnType == EFieldType.BitSet);

            if (bitsetColumn != null)
            {
                _bitSetColIndex = bitsetColumn.ColumnID;
            }
        }
Пример #7
0
        public Partition(IJournalMetadata metadata,
                         ICompositeFileFactory memeorymMappedFileFactory,
                         EFileAccess access,
                         PartitionDate partitionDate, int partitionID,
                         string path,
                         IJournalServer journalServer,
                         PartitionConfig config = null)
        {
            _memeorymMappedFileFactory = memeorymMappedFileFactory;
            _access        = access;
            _journalServer = journalServer;
            _config        = config;
            _metadata      = metadata;

            _partitionDate = partitionDate;
            EndDate        = PartitionManagerUtils.GetPartitionEndDate(
                partitionDate.Date, partitionDate.PartitionType);
            PartitionID   = partitionID;
            DirectoryPath = path;
        }
Пример #8
0
        public PartitionManager(IJournalMetadata metadata, EFileAccess access,
                                ICompositeFileFactory fileFactory, IJournalServer server, ITxLog txLog = null)
        {
            Access       = access;
            _metadata    = metadata;
            _settings    = metadata.Settings;
            _fileFactory = fileFactory;
            _server      = server;
            Server       = server;

            if (txLog == null)
            {
                var txFileName = Path.Combine(metadata.Settings.DefaultPath, MetadataConstants.TX_FILE_NAME);
                _txLogFile = new CompositeRawFile(txFileName,
                                                  MetadataConstants.PIPE_BIT_HINT, _fileFactory, access, SYMBOL_PARTITION_ID,
                                                  MetadataConstants.TX_LOG_FILE_ID, MetadataConstants.TX_LOG_FILE_ID, EDataType.Data);

                txLog = new TxLog(_txLogFile);
            }
            _txLog = txLog;
        }
Пример #9
0
 internal JournalStatistics(IJournalMetadata metadata, IUnsafePartitionManager partitionManager)
 {
     _metadata         = metadata;
     _partitionManager = partitionManager;
 }