Exemple #1
0
        /// <summary>
        /// Creates a record source out of 3 possible input types:
        /// 1) A searchable TStore
        /// 2) A streamable RecordsFile
        /// 3) A streamable FlatFile
        /// </summary>
        /// <param name="inputType">The type of input</param>
        /// <param name="pathInfo">The path to the input</param>
        /// <returns>A RecordSource for further processing</returns>
        public RecordSource Input(TStoreInputType inputType, string pathInfo)
        {
            InternalRecordSource source = null;

            switch (inputType) {
                case TStoreInputType.RecordFile:
                    source = new InternalRecordFileReader(pathInfo);
                    break;

                case TStoreInputType.TStore:
                    TMSNStoreReader reader = new TMSNStoreReader(pathInfo, true);
                    source = reader.RecordSource;
                    break;

                case TStoreInputType.FlatFile:
                    source = new FlatFileMapper(pathInfo);
                    break;

                case TStoreInputType.Directory:
                    source = new DirectoryMapper(pathInfo);
                    break;
            }

            source.ProcessTreeComment = "[" + pathInfo + "]";

            RecordSource source2Bmapped = new RecordSource(this);
            source2Bmapped.InternalSource = _AddLogging(source);

            return source2Bmapped;
        }
Exemple #2
0
 public TMSNStoreReaderEnumerator(TMSNStoreReader dbReader, long beginRecordNo, long endRecordNo)
 {
     _dbReader = dbReader;
     _beginRecordNo = beginRecordNo;
     _currentRecordNo = _beginRecordNo - 1;
     _endRecordNo = endRecordNo;
 }
Exemple #3
0
        public TMSNStoreRecordSource(TMSNStoreReader reader, string dbdir)
        {
            _reader = reader;
            _dbdir = dbdir;

            #if NAMEDSTREAMMODE
            string recordInfoFile = dbdir + ":record-info";

            Stream fs = ZStreamIn.Open(recordInfoFile);
            ReadProperties(fs);
            fs.Close();

            TotalRecordsEstimate = reader.NumRecords;
            TotalRecordBytesEstimate = reader.NumRecordBytes;
            #else

            string recordInfoFile = Path.Combine(dbdir, "record-info");

            if (File.Exists(recordInfoFile)) {
                using (FileStream fs = new FileStream(recordInfoFile, FileMode.Open, FileAccess.Read)) {
                    ReadProperties(fs);
                }

                TotalRecordsEstimate = reader.NumRecords;
                TotalRecordBytesEstimate = reader.NumRecordBytes;
            }

            #endif
        }
Exemple #4
0
 public TMSNStoreReaderEnumerable(TMSNStoreReader reader, long startRecord, long stopRecord)
 {
     _reader = reader;
     _startRecord = startRecord;
     _stopRecord = stopRecord;
 }