55// Created: 2008.07.08
66
77using System ;
8- using System . Collections . Generic ;
9- using System . Globalization ;
108using System . Linq ;
119using Xtensive . Collections ;
12- using Xtensive . Comparison ;
1310using Xtensive . Core ;
14- using Xtensive . Orm . FullTextSearchCondition . Nodes ;
15- using Xtensive . Tuples ;
16- using Tuple = Xtensive . Tuples . Tuple ;
17- using Xtensive . Tuples . Transform ;
18- using Xtensive . Orm . Rse . Providers ;
1911
2012namespace Xtensive . Orm . Rse . Providers
2113{
@@ -30,21 +22,6 @@ public abstract class OrderProviderBase : UnaryProvider
3022 /// </summary>
3123 public DirectionCollection < int > Order { get ; private set ; }
3224
33- /// <summary>
34- /// Gets the key extractor transform.
35- /// </summary>
36- public MapTransform OrderKeyExtractorTransform { get ; private set ; }
37-
38- /// <summary>
39- /// Extracts the key part from <paramref name="tuple"/> using <see cref="OrderKeyExtractorTransform"/>.
40- /// </summary>
41- /// <param name="tuple">The tuple to extract the key from.</param>
42- /// <returns>A tuple containing extracted order key.</returns>
43- public Tuple OrderKeyExtractor ( Tuple tuple )
44- {
45- return OrderKeyExtractorTransform . Apply ( TupleTransformType . Auto , tuple ) ;
46- }
47-
4825 /// <inheritdoc/>
4926 protected override RecordSetHeader BuildHeader ( )
5027 {
@@ -59,32 +36,6 @@ protected override string ParametersToString()
5936 . ToCommaDelimitedString ( ) ;
6037 }
6138
62- /// <inheritdoc/>
63- protected override void Initialize ( )
64- {
65- base . Initialize ( ) ;
66- var comparisonRules = new ComparisonRules [ Order . Count ] ;
67- for ( int i = 0 ; i < Order . Count ; i ++ ) {
68- var orderItem = Order [ i ] ;
69- var culture = CultureInfo . InvariantCulture ;
70- var column = Header . Columns [ orderItem . Key ] ;
71- var mappedColumn = column as MappedColumn ;
72- if ( mappedColumn != null && mappedColumn . ColumnInfoRef != null )
73- culture = mappedColumn . ColumnInfoRef . CultureInfo ;
74- comparisonRules [ i ] = new ComparisonRule ( orderItem . Value , culture ) ;
75- }
76-
77- var fieldTypes = new Type [ Order . Count ] ;
78- var map = new int [ Order . Count ] ;
79- for ( var i = 0 ; i < Order . Count ; i ++ ) {
80- var p = Order [ i ] ;
81- fieldTypes [ i ] = Header . Columns [ p . Key ] . Type ;
82- map [ i ] = p . Key ;
83- }
84- var orderKeyDescriptor = TupleDescriptor . Create ( fieldTypes ) ;
85- OrderKeyExtractorTransform = new MapTransform ( true , orderKeyDescriptor , map ) ;
86- }
87-
8839
8940 // Constructors
9041
0 commit comments