Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
elementType
in the constructor ofLogicalColumnStream
, and also that theBuffer
etc members of that class are unused except at the leaf subclass levels, so this looks like it should be composition rather than inheritance.LogicalColumnReader<TPhysical, TLogical, TElement>
hasTPhysical
andTLogical
generic type args only being used at construction time, so move those types to a static factory method. Also rename it toLogicalColumnReaderBatch
to avoid the clash with the base class.LogicalColumnReaderBatch
, merge it with its parent classLogicalColumnReader
. So instead of havingsealed LogicalColumnReader<TPhysical, TLogical, TElement> : abstract LogicalColumnReader<TElement> : abstract LogicalColumnReader
we've gotsealed LogicalColumnReader<TElement> : abstract LogicalColumnReader
.LogicalColumnWriter
side.LogicalColumnStreamBuffer
creation inside theLogicalBatchReader/WriterFactory
classes, and it turns out there's already aLogicalStreamBuffers<TPhysical>
class there which we can use instead.