public IEnumerator <T> GetEnumerator() { CheckDisposed(); ChoFixedLengthRecordReader rr = new ChoFixedLengthRecordReader(typeof(T), Configuration); rr.Reader = this; rr.TraceSwitch = TraceSwitch; rr.RowsLoaded += NotifyRowsLoaded; rr.MembersDiscovered += MembersDiscovered; rr.RecordFieldTypeAssessment += RecordFieldTypeAssessment; var e = _lines != null?rr.AsEnumerable(_lines).GetEnumerator() : rr.AsEnumerable(_textReader.Value).GetEnumerator(); return(ChoEnumeratorWrapper.BuildEnumerable <T>(() => { ++_recordNumber; return e.MoveNext(); }, () => (T)ChoConvert.ChangeType <ChoRecordFieldAttribute>(e.Current, typeof(T)), () => Dispose()).GetEnumerator()); }
public IEnumerator <T> GetEnumerator() { ChoParquetRecordReader rr = new ChoParquetRecordReader(typeof(T), Configuration); if (_sr != null) { _parquetReader = Create(_sr); } rr.Reader = this; rr.TraceSwitch = TraceSwitch; rr.RowsLoaded += NotifyRowsLoaded; rr.MembersDiscovered += MembersDiscovered; rr.RecordFieldTypeAssessment += RecordFieldTypeAssessment; var e = rr.AsEnumerable(_parquetReader).GetEnumerator(); return(ChoEnumeratorWrapper.BuildEnumerable <T>(() => e.MoveNext(), () => (T)ChoConvert.ChangeType <ChoRecordFieldAttribute>(e.Current, typeof(T)), () => Dispose()).GetEnumerator()); }
public IEnumerator <T> GetEnumerator() { CheckDisposed(); if (_jObjects == null) { ChoJSONRecordReader rr = new ChoJSONRecordReader(typeof(T), Configuration); if (_textReader != null) { _JSONReader = Create(_textReader.Value); } rr.Reader = this; rr.TraceSwitch = TraceSwitch; rr.RowsLoaded += NotifyRowsLoaded; rr.MembersDiscovered += MembersDiscovered; rr.RecordFieldTypeAssessment += RecordFieldTypeAssessment; var e = rr.AsEnumerable(_JSONReader).GetEnumerator(); return(ChoEnumeratorWrapper.BuildEnumerable <T>(() => { ++_recordNumber; return e.MoveNext(); }, () => (T)ChoConvert.ChangeType <ChoRecordFieldAttribute>(e.Current, typeof(T)), () => Dispose()).GetEnumerator()); } else { ChoJSONRecordReader rr = new ChoJSONRecordReader(typeof(T), Configuration); rr.Reader = this; rr.TraceSwitch = TraceSwitch; rr.RowsLoaded += NotifyRowsLoaded; rr.MembersDiscovered += MembersDiscovered; rr.RecordFieldTypeAssessment += RecordFieldTypeAssessment; var e = rr.AsEnumerable(_jObjects).GetEnumerator(); return(ChoEnumeratorWrapper.BuildEnumerable <T>(() => { ++_recordNumber; return e.MoveNext(); }, () => (T)ChoConvert.ChangeType <ChoRecordFieldAttribute>(e.Current, typeof(T)), () => Dispose()).GetEnumerator()); } }
public IEnumerator <T> GetEnumerator() { ChoAvroRecordReader rr = new ChoAvroRecordReader(typeof(T), Configuration); rr.Reader = this; rr.TraceSwitch = TraceSwitch; rr.RowsLoaded += NotifyRowsLoaded; rr.MembersDiscovered += MembersDiscovered; rr.RecordFieldTypeAssessment += RecordFieldTypeAssessment; if (typeof(T) == typeof(object)) { IEnumerator <object> e = _avroReader != null?rr.AsEnumerable <Dictionary <string, object> >(_avroReader).GetEnumerator() : rr.AsEnumerable <Dictionary <string, object> >(_sr).GetEnumerator(); return(ChoEnumeratorWrapper.BuildEnumerable <T>(() => e.MoveNext(), () => (T)((object)e.Current), () => Dispose()).GetEnumerator()); } else { IEnumerator <object> e = _avroReader != null?rr.AsEnumerable <T>(_avroReader).GetEnumerator() : rr.AsEnumerable <T>(_sr).GetEnumerator(); return(ChoEnumeratorWrapper.BuildEnumerable <T>(() => e.MoveNext(), () => (T)ChoConvert.ChangeType <ChoRecordFieldAttribute>(e.Current, typeof(T)), () => Dispose()).GetEnumerator()); } }
public static IEnumerable <IDataReader> AsEnumerable(this IDataReader source) { return(ChoEnumeratorWrapper.BuildEnumerable(source.Read, () => source)); }
public ChoChunkedEnumerable(ChoEnumeratorWrapper <T> wrapper, int chunkSize, int start) { this.wrapper = wrapper; this.chunkSize = chunkSize; this.start = start; }