1- // Copyright (C) 2007-2021 Xtensive LLC.
1+ // Copyright (C) 2007-2022 Xtensive LLC.
22// This code is distributed under MIT license terms.
33// See the License.txt file in the project root for more information.
44// Created by: Alexey Kochetov
@@ -181,7 +181,7 @@ public RecordSetHeader Select(IEnumerable<int> selectedColumns)
181181 . Select ( o => new KeyValuePair < int , Direction > ( columnsMap [ o . Key ] , o . Value ) )
182182 . TakeWhile ( o => o . Key >= 0 ) ) ;
183183
184- var resultColumns = columns . Select ( ( oldIndex , newIndex ) => Columns [ oldIndex ] . Clone ( newIndex ) ) ;
184+ var resultColumns = columns . Select ( ( oldIndex , newIndex ) => Columns [ oldIndex ] . Clone ( newIndex ) ) . ToArray ( columns . Count ) ;
185185
186186 var resultGroups = ColumnGroups
187187 . Where ( g => g . Keys . All ( k => columnsMap [ k ] >= 0 ) )
@@ -251,7 +251,7 @@ private static RecordSetHeader CreateHeader(IndexInfo indexInfo)
251251 . ToArray ( indexInfoKeyColumns . Count ) ;
252252 var keyDescriptor = TupleDescriptor . Create ( keyFieldTypes ) ;
253253
254- var resultColumns = indexInfoColumns . Select ( ( c , i ) => ( Column ) new MappedColumn ( new ColumnInfoRef ( c ) , i , c . ValueType ) ) ;
254+ var resultColumns = indexInfoColumns . Select ( ( c , i ) => ( Column ) new MappedColumn ( new ColumnInfoRef ( c ) , i , c . ValueType ) ) . ToArray ( indexInfoColumns . Count ) ;
255255 var resultGroups = new [ ] { indexInfo . Group } ;
256256
257257 return new RecordSetHeader (
@@ -278,7 +278,7 @@ public override string ToString()
278278 /// <param name="columns">Result columns.</param>
279279 public RecordSetHeader (
280280 TupleDescriptor tupleDescriptor ,
281- IEnumerable < Column > columns )
281+ IReadOnlyList < Column > columns )
282282 : this ( tupleDescriptor , columns , null , null , null )
283283 {
284284 }
@@ -291,7 +291,7 @@ public RecordSetHeader(
291291 /// <param name="columnGroups">Column groups.</param>
292292 public RecordSetHeader (
293293 TupleDescriptor tupleDescriptor ,
294- IEnumerable < Column > columns ,
294+ IReadOnlyList < Column > columns ,
295295 IReadOnlyList < ColumnGroup > columnGroups )
296296 : this ( tupleDescriptor , columns , columnGroups , null , null )
297297 {
@@ -306,7 +306,7 @@ public RecordSetHeader(
306306 /// <param name="order">Result sort order.</param>
307307 public RecordSetHeader (
308308 TupleDescriptor tupleDescriptor ,
309- IEnumerable < Column > columns ,
309+ IReadOnlyList < Column > columns ,
310310 TupleDescriptor orderKeyDescriptor ,
311311 DirectionCollection < int > order )
312312 : this ( tupleDescriptor , columns , null , orderKeyDescriptor , order )
@@ -324,7 +324,7 @@ public RecordSetHeader(
324324 /// <exception cref="ArgumentOutOfRangeException"><c>columns.Count</c> is out of range.</exception>
325325 public RecordSetHeader (
326326 TupleDescriptor tupleDescriptor ,
327- IEnumerable < Column > columns ,
327+ IReadOnlyList < Column > columns ,
328328 IReadOnlyList < ColumnGroup > columnGroups ,
329329 TupleDescriptor orderKeyDescriptor ,
330330 DirectionCollection < int > order )
0 commit comments