/// <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; }
public TMSNStoreReaderEnumerator(TMSNStoreReader dbReader, long beginRecordNo, long endRecordNo) { _dbReader = dbReader; _beginRecordNo = beginRecordNo; _currentRecordNo = _beginRecordNo - 1; _endRecordNo = endRecordNo; }
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 }
public TMSNStoreReaderEnumerable(TMSNStoreReader reader, long startRecord, long stopRecord) { _reader = reader; _startRecord = startRecord; _stopRecord = stopRecord; }