2010-01-20 Zoltan Varga <vargaz@gmail.com>
[mono.git] / mcs / class / System.Core / System.Linq / ChangeLog
1 2009-12-03  Marek Safar  <marek.safar@gmail.com>
2
3         * EnumerableExecutor.cs, EnumerableExecutor_T.cs, EnumerableQuery.cs
4         EnumerableQuery_T.cs: Implemented.
5
6 2009-11-14  Jb Evain  <jbevain@novell.com>
7
8         * QueryableTransformer: adjust to latest ExpressionTransformer
9         changes.
10
11 2009-11-12  Eric Maupin  <me@ermau.com>
12
13         * Enumerable.cs (ToLookup): Accept null keys.
14         * Lookup.cs: Accept null keys.
15
16 2009-10-08  Marek Safar  <marek.safar@gmail.com>
17
18         * Enumerable.cs (Empty): Optimized allocation.
19
20 2009-08-07  Marek Safar  <marek.safar@gmail.com>
21
22         * Enumerable.cs (Skip): Optimized and fixed int.MaxValue overflow.
23
24 2009-07-20  Jb Evain  <jbevain@novell.com>
25
26         * Lookup.cs: avoid a double dictionary lookup on the indexer.
27
28 2009-07-19 Gonzalo Paniagua Javier <gonzalo@novell.com>
29
30         * Lookup.cs: when there are no matching elements, return an empty
31         enumerable. Fixes bug #523386.
32
33 2009-05-18  Jb Evain  <jbevain@novell.com>
34
35         * Enumerable.cs (Max, Min): fix generic versions.
36
37 2009-04-03  Jb Evain  <jbevain@novell.com>
38
39         * Enumerable.cs (Cast): fix for when casted enumerator is already
40         of the appropriate type.
41
42 2009-03-28  Jb Evain  <jbevain@novell.com>
43
44         * Enumerable.cs: fix Intersect.
45
46 2009-02-23  Marek Safar  <marek.safar@gmail.com>
47
48         * Enumerable.cs (IterateNullable): Compare unwrapped values.
49
50 2009-02-23  Jb Evain  <jbevain@novell.com>
51
52         * Enumerable.cs (IterateNullable): fix initial value
53         for nullables.
54
55 2009-01-22  Jb Evain  <jbevain@novell.com>
56
57         * SortSequenceContext.cs: make sort stable.
58
59 2009-01-22  Jb Evain  <jbevain@novell.com>
60
61         * Enumerable.cs (Sum): check the sum operations for possible overfows.
62
63 2009-01-22  Jb Evain  <jbevain@novell.com>
64
65         * Enumerable.cs (SequenceEqual): make sure we dispose enumerators.
66
67 2009-01-22  Jb Evain  <jbevain@novell.com>
68
69         * Enumerable.cs: optimize Last for lists.
70
71 2009-01-15  Jb Evain  <jbevain@novell.com>
72
73         * Lookup.cs: propage the appropriate comparer for the lookup.
74
75 2008-11-20  Jb Evain  <jbevain@novell.com>
76
77         * Enumerable.cs (Any): optimize if we're operating on an ICollection.
78
79 2008-09-30  Jb Evain  <jbevain@novell.com>
80
81         * QueryableEnumerable.cs: fix ElementType.
82
83 2008-09-28  Sebastien Pouliot  <sebastien@ximian.com>
84
85         * Enumerable.cs: Add missing cast Average on IEnumerable<long?> to
86         ensure the result is not truncated.
87         [Found using Gendarme's ReviewCastOnIntegerDivisionRule]
88
89 2008-09-11  Jb Evain  <jbevain@novell.com>
90
91         * Enumerable.cs (Iterate*): use a bool empty instead of an int counter.
92         Fixes #425344.
93
94 2007-08-14  Marek Safar  <marek.safar@gmail.com>
95
96         * Enumerable.cs (Cast): Simplified.
97
98 2008-08-08  Jb Evain  <jbevain@novell.com>
99
100         * Enumerable.cs (Take): fix not too consume an uneeded item from
101         the source enumerable. Fix #415644.
102
103 2008-07-24  Marek Safar  <marek.safar@gmail.com>
104
105         * Enumerable.cs (First): Optimized.
106
107 2008-05-27  Jb Evain  <jbevain@novell.com>
108
109         * Enumerable.cs (Sum): don't throw if source is empty.
110         Fixes #394827.
111
112 2008-05-20  Roei Erez  <roeie@mainsoft.com>
113
114         * Lookup.cs: Implement ApplyResultSelector method
115
116 2008-05-20  Roei Erez  <roeie@mainsoft.com>
117
118         * Queryable.cs: Implement the non-generic AsQureyable method.
119
120 2008-05-20  Marek Safar  <marek.safar@gmail.com>
121
122         * Enumerable.cs: Removed GroupBy MonoTODO.
123
124 2008-05-19  Roei Erez  <roeie@mainsoft.com>
125
126         * Enumerable.cs: Implemente two overloaded GroupBy methods.
127
128 2008-05-15  Jb Evain  <jbevain@novell.com>
129
130         * QueryableEnumerable.cs: Make that the first expression is a constant
131         of itself, and not a constant of the source enumerable.
132         * QueryableTransformer.cs: On a constant, transform a QueryableEnumerable
133         into the enumerable.
134         * Queryable.cs: use new constructor.
135
136 2008-05-15  Jb Evain  <jbevain@novell.com>
137
138         * QueryableTransformer.cs, QueryableEnumerable.cs: coding style plus
139         some good refactorings.
140
141 2008-05-15  Roei Erez  <roeie@mainsoft.com>
142
143         * QueryableTransformer.cs: missed in the last commit.
144
145 2008-05-15  Roei Erez  <roeie@mainsoft.com>
146
147         * QueryableTransformer.cs, QueryableEnumerable.cs: two classes added for implementation
148         of Queryable.AsQueryable() implementation.
149         * Queryable.cs: Implement AsQueryable() method.
150
151 2008-05-08  Jonathan Pryor  <jpryor@novell.com>
152
153         * Enumerable.cs: LongCount() can be optimized for arrays, and Reverse() can
154           be implemented in terms of IList w/o needing a temporary List<T> copy.
155
156 2008-05-06  Sasha Kogan  <sashak@mainsoft.com>
157
158         * Queryable.cs (Average, GroupBy, Union): fix signatures to
159         match MS API.
160
161 2008-05-03  Jb Evain  <jbevain@novell.com>
162
163         * Queryable.cs (OrderBy, OrderByDescending): fix signature and
164         properly return a IOrderedQueryable<>.
165
166 2008-05-02  Jb Evain  <jbevain@novell.com>
167
168         * SortSequenceContext.cs (Compare): fix key equality case
169         when there's a nested sort.
170
171 2008-05-01  Jb Evain  <jbevain@novell.com>
172
173         * SortDirection.cs, SortContext.cs, SortSequenceContext.cs:
174         new infrastructure files for nested orderby/thenby calls.
175         * QuickSort.cs: refactored out of OrderedSequence.cs
176         * OrderedEnumerable.cs, OrderedSequence.cs: refactoring
177         to use the new SortContext infrastructure.
178
179 2008-04-30  Jb Evain  <jbevain@novell.com>
180
181         * Enumerable.cs: Average (int|long): properly compute
182         average.
183
184 2008-04-22  Jb Evain  <jbevain@novell.com>
185
186         * Enumerable.cs (ToReadOnlyCollection): optimization, use
187         a generic singleton for empty read only collections.
188
189 2008-03-31  Marek Safar  <marek.safar@gmail.com>
190
191         * Enumerable.cs: Use Math.Min and Math.Max where appropriate.
192
193 2008-03-27  Leonid Freydovich  <leonidf@mainsoft.com>
194
195         * LambdaExpression.cs Add some TARGET_JVM specific code
196
197 2008-02-09  Miguel de Icaza  <miguel@novell.com>
198
199         * Enumerable.cs (ToDictionary): Implement this overload.
200
201 2008-02-01  Jb Evain  <jbevain@novell.com>
202
203         * Queryable.cs, Check.cs: integrate GHOP work from
204         Andreas Noever <andreas.noever@gmail.com>.
205
206 2008-01-21  Jb Evain  <jbevain@novell.com>
207
208         * Enumerable.cs: fix Intersect.
209
210 2008-01-21  Jb Evain  <jbevain@novell.com>
211
212         * Enumerable.cs: fix Concat et SelectMany.
213
214 2008-01-21  Jb Evain  <jbevain@novell.com>
215
216         * Enumerable.cs: fix range.
217
218 2008-01-21  Jb Evain  <jbevain@novell.com>
219
220         * Enumerable.cs: more ArgumentNullExceptions.
221
222 2008-01-21  Jb Evain  <jbevain@novell.com>
223
224         * Enumerable.cs: fix some more ArgumentNullException.
225
226 2008-01-21  Jb Evain  <jbevain@novell.com>
227
228         * Enumerable.cs: correctly throw ArgumentNullException
229         for Cast.
230
231 2008-01-21  Jb Evain  <jbevain@novell.com>
232
233         * Enumerable.cs (Iterate): protect against null selectors.
234
235 2008-01-21  Jb Evain  <jbevain@novell.com>
236
237         * Enumerable.cs: fix IterateNullable.
238
239 2008-01-15  Jb Evain  <jbevain@novell.com>
240
241         * Enumerable.cs: clean the ToReadOnlyCollection extension
242         method.
243
244 2007-12-18  Jb Evain  <jbevain@novell.com>
245
246         * Enumerable.cs: refactor some Min.
247
248 2007-12-18  Jb Evain  <jbevain@novell.com>
249
250         * Enumerable.cs: refactor some more Max.
251
252 2007-12-12  Jb Evain  <jbevain@novell.com>
253
254         * Check.cs, Enumerable.cs: extract the checks to their
255         own class, as they'll be used by Queryable as well.
256
257 2007-12-04  Marek Safar <marek.safar@gmail.com>
258
259         * Enumerable.cs: Refactor some copy&paste blocks.
260
261 2007-11-28  Jb Evain  <jbevain@novell.com>
262
263         * Enumerable.cs: fix warnings.
264
265 2007-11-27  Scott Peterson  <lunchtimemama@gmail.com>
266
267         * InternalOrderedSequence.cs: updated Quicksort algorithm.
268
269 2007-11-22  Atsushi Enomoto  <atsushi@ximian.com>
270
271         * Enumerable.cs : fixed Range(int,int) that iterated one less.
272           Thanks to http://d.hatena.ne.jp/NyaRuRu/ .
273
274 2007-11-13  Jb Evain  <jbevain@novell.com>
275
276         * Enumerable.cs: make the new unit tests pass.
277
278 2007-11-09  Jb Evain  <jbevain@novell.com>
279
280         * Enumerable.cs: refactor the ArgumentNullException checks.
281
282 2007-11-08  Jb Evain  <jbevain@novell.com>
283
284         * Enumerable.cs: Implement SequenceEqual.
285
286 2007-11-08  Jb Evain  <jbevain@novell.com>
287
288         * Enumerable.cs: Complete Union.
289
290 2007-11-08  Jb Evain  <jbevain@novell.com>
291
292         * Enumerable.cs: correctly implement Intersect.
293
294 2007-11-08  Jb Evain  <jbevain@novell.com>
295
296         * Enumerable.cs: code cleanup.
297
298 2007-11-06  Jb Evain  <jbevain@novell.com>
299
300         * Enumerable.cs: Fix what we return on Except. Fix #324031.
301
302 2007-09-12  Marek Safar <marek.safar@gmail.com>
303
304         * Enumerable.cs: Fixed GroupJoin logic. Reused DefaultIfEmpty
305         implementation.
306
307 2007-09-11  Marek Safar <marek.safar@gmail.com>
308
309         * Enumerable.cs: Fixed Join recursion.
310
311 2007-08-22  Marek Safar <marek.safar@gmail.com>
312
313         * Enumerable.cs: More SelectionMany.
314
315 2007-08-21  Marek Safar <marek.safar@gmail.com>
316
317         * AOrderedEnumerable: New abstract base.
318
319         * Enumerable.cs, Queryable.cs: Public methods update.
320
321         * InternalOrderedSequence.cs: Fixed ThenBy.
322
323 2007-08-21  Marek Safar <marek.safar@gmail.com>
324
325         * Enumerable.cs, Queryable.cs: Public methods update.
326
327         * InternalOrderedSequence.cs, OrderedSequence.cs: Derives from
328         IOrderedEnumerable<TElement>.
329
330 2007-08-17  Michael Hutchinson <m.j.hutchinson@gmail.com>
331
332         * Enumerable.cs: Fix Aggregate's counting code, and make it more
333           efficient.
334
335 2007-06-08  Marek Safar <marek.safar@gmail.com>
336
337         * Enumerable.cs: Fixed recursion in GroupBy.
338
339 2007-03-24  Antonello Provenzano  <antonello@deveel.com>
340
341         * Enumerable.cs: Migrated from QueryExpression
342                 - Implemented overload of method Aggregate
343                 - Method AsEnumerable implemented
344                 - Method Contains overloaded
345                 - 'Distinct' method refactored and overloaded
346                 - 'Except' method refactored and overloaded
347                 - Method IndexOf overloaded to be used with IEqualityComparer instances
348                 - Method Join overloaded to be used with IEqualityComparer instances
349                 - Method GroupJoin overloaded to be used with IEqualityComparer instances
350                 - Implemented internal method ToReadOnlyCollection for support
351                 to expressions.
352
353 2007-02-16  Marek Safar <marek.safar@gmail.com>
354
355         * Enumerable.cs, Queryable.cs: Remove Extension attribute.
356
357 2007-02-03  Atsushi Enomoto  <atsushi@ximian.com>
358
359         * IQueryable_T.cs : fixed type/member signatures (generic arguments).
360
361 2007-01-19  Marek Safar <marek.safar@gmail.com>
362
363         * QueryExpression.cs,
364         * Enumerable.cs: New files.
365
366         * Small update to recent version.
367
368 2007-01-19  Marek Safar <marek.safar@gmail.com>
369
370         * ChangeLog: Added
371