2010-06-21 Atsushi Enomoto <atsushi@ximian.com>
[mcs.git] / class / System.Core / System.Linq / ChangeLog
blob5a9e38dea6a983c926f15463aa09b6e1f2a8b134
1 2010-06-18  Rolf Bjarne Kvinge  <RKvinge@novell.com>
3         * EnumerableQuery.cs:
4         * EnumerableQuery_T.cs:
5         * EnumerableExecutor.cs: 
6         * EnumerableExecutor_T.cs: Include in Moonlight.
8         * Enumerable.cs: Moonlight too needs Zip.
10 2010-05-25  Jérémie Laval  <jeremie.laval@gmail.com>
12         * ParallelExecuter.cs: Fix NRE caused by lambda wrapping
14 2010-05-25  Jb Evain  <jbevain@novell.com>
16         * Enumerable.cs: make Reverse lazier. Based on a patch by
17         Matthew Flaschen <matthew.flaschen@gatech.edu>. Fixes #608195.
19 2010-05-19  Jb Evain  <jbevain@novell.com>
21         * Enumerable.cs: fix GroupBy to deal with a null key for the last
22         group entry. Also fix GroupBy to properly throw ArgumentNullException.
24 2010-05-05  Jérémie Laval  <jeremie.laval@gmail.com>
26         * ParallelEnumerable.cs: Some operators weren't declared
27         as extension methods. Fixed.
29 2010-04-29  Jérémie Laval  <jeremie.laval@gmail.com>
31         * ParallelQueryEnumerator.cs: Use new non-blocking collection
32         for storing indexed elements.
34 2010-04-29  Jérémie Laval  <jeremie.laval@gmail.com>
36         * ParallelExecuter.cs: Bring indexed worker methods support.
37         Check for null callback.
39 2010-04-15  Jérémie Laval  <jeremie.laval@gmail.com>
41         * OrderedParallelQuery.cs:
42         * ParallelEnumerable.cs:
43         * ParallelExecuter.cs:
44         * ParallelPartitioner.cs:
45         * ParallelQuery.cs:
46         * ParallelQueryEnumerator.cs: First check-in of PLinq
48 2010-04-15  Jérémie Laval  <jeremie.laval@gmail.com>
50         * ParallelExecutionMode.cs:
51         * ParallelMergeOptions.cs: Initial check-in of PLinq (enum)
53 2010-04-12  Miguel de Icaza  <miguel@novell.com>
55         * Enumerable.cs: Jumbo patch that inlines code, mainly for the AOT
56         scenario where we our compiler cant infer the extra layer of
57         indirection of a lambda function.
59         But additionally, since we lack support for our JIT to inline
60         intermediate delegate calls, it should save memory and run
61         faster. 
63 2010-04-07  Jb Evain  <jbevain@novell.com>
65         * EnumerableExecutor.cs: make ctor protected.
67 2010-04-07  Jb Evain  <jbevain@novell.com>
69         * EnumerableQuery_T.cs: implement.
71 2010-04-07  Jb Evain  <jbevain@novell.com>
73         * EnumerableQuery.cs: make ctor protected.
75 2010-04-06  Jb Evain  <jbevain@novell.com>
77         * QueryableEnumerable.cs: make TransformQueryable work on net_4_0.
79 2010-04-06  Jb Evain  <jbevain@novell.com>
81         * QueryableTransformer.cs: use factory method that work for all
82         ET implementations.
84 2010-03-30  Jb Evain  <jbevain@novell.com>
86         * Queryable.cs: implement Zip for net_4_0.
88 2010-03-24  Jb Evain  <jbevain@novell.com>
90         * SortSequenceContext.cs: Fix OrderByDescending stability.
91         Based on a patch by Richard Kiene  <richard.kiene@logos.com>.
93 2010-02-23  Marek Safar  <marek.safar@gmail.com>
95         * Enumerable.cs: Implement Zip.
97 2010-01-25  Jb Evain  <jbevain@novell.com>
99         * QueryableTransformer.cs (ReplaceQueryableMethod): fix
100         exception message.
102 2009-12-03  Marek Safar  <marek.safar@gmail.com>
104         * EnumerableExecutor.cs, EnumerableExecutor_T.cs, EnumerableQuery.cs
105         EnumerableQuery_T.cs: Implemented.
107 2009-11-14  Jb Evain  <jbevain@novell.com>
109         * QueryableTransformer: adjust to latest ExpressionTransformer
110         changes.
112 2009-11-12  Eric Maupin  <me@ermau.com>
114         * Enumerable.cs (ToLookup): Accept null keys.
115         * Lookup.cs: Accept null keys.
117 2009-10-08  Marek Safar  <marek.safar@gmail.com>
119         * Enumerable.cs (Empty): Optimized allocation.
121 2009-08-07  Marek Safar  <marek.safar@gmail.com>
123         * Enumerable.cs (Skip): Optimized and fixed int.MaxValue overflow.
125 2009-07-20  Jb Evain  <jbevain@novell.com>
127         * Lookup.cs: avoid a double dictionary lookup on the indexer.
129 2009-07-19 Gonzalo Paniagua Javier <gonzalo@novell.com>
131         * Lookup.cs: when there are no matching elements, return an empty
132         enumerable. Fixes bug #523386.
134 2009-05-18  Jb Evain  <jbevain@novell.com>
136         * Enumerable.cs (Max, Min): fix generic versions.
138 2009-04-03  Jb Evain  <jbevain@novell.com>
140         * Enumerable.cs (Cast): fix for when casted enumerator is already
141         of the appropriate type.
143 2009-03-28  Jb Evain  <jbevain@novell.com>
145         * Enumerable.cs: fix Intersect.
147 2009-02-23  Marek Safar  <marek.safar@gmail.com>
149         * Enumerable.cs (IterateNullable): Compare unwrapped values.
151 2009-02-23  Jb Evain  <jbevain@novell.com>
153         * Enumerable.cs (IterateNullable): fix initial value
154         for nullables.
156 2009-01-22  Jb Evain  <jbevain@novell.com>
158         * SortSequenceContext.cs: make sort stable.
160 2009-01-22  Jb Evain  <jbevain@novell.com>
162         * Enumerable.cs (Sum): check the sum operations for possible overfows.
164 2009-01-22  Jb Evain  <jbevain@novell.com>
166         * Enumerable.cs (SequenceEqual): make sure we dispose enumerators.
168 2009-01-22  Jb Evain  <jbevain@novell.com>
170         * Enumerable.cs: optimize Last for lists.
172 2009-01-15  Jb Evain  <jbevain@novell.com>
174         * Lookup.cs: propage the appropriate comparer for the lookup.
176 2008-11-20  Jb Evain  <jbevain@novell.com>
178         * Enumerable.cs (Any): optimize if we're operating on an ICollection.
180 2008-09-30  Jb Evain  <jbevain@novell.com>
182         * QueryableEnumerable.cs: fix ElementType.
184 2008-09-28  Sebastien Pouliot  <sebastien@ximian.com>
186         * Enumerable.cs: Add missing cast Average on IEnumerable<long?> to
187         ensure the result is not truncated.
188         [Found using Gendarme's ReviewCastOnIntegerDivisionRule]
190 2008-09-11  Jb Evain  <jbevain@novell.com>
192         * Enumerable.cs (Iterate*): use a bool empty instead of an int counter.
193         Fixes #425344.
195 2007-08-14  Marek Safar  <marek.safar@gmail.com>
197         * Enumerable.cs (Cast): Simplified.
199 2008-08-08  Jb Evain  <jbevain@novell.com>
201         * Enumerable.cs (Take): fix not too consume an uneeded item from
202         the source enumerable. Fix #415644.
204 2008-07-24  Marek Safar  <marek.safar@gmail.com>
206         * Enumerable.cs (First): Optimized.
208 2008-05-27  Jb Evain  <jbevain@novell.com>
210         * Enumerable.cs (Sum): don't throw if source is empty.
211         Fixes #394827.
213 2008-05-20  Roei Erez  <roeie@mainsoft.com>
215         * Lookup.cs: Implement ApplyResultSelector method
217 2008-05-20  Roei Erez  <roeie@mainsoft.com>
219         * Queryable.cs: Implement the non-generic AsQureyable method.
221 2008-05-20  Marek Safar  <marek.safar@gmail.com>
223         * Enumerable.cs: Removed GroupBy MonoTODO.
225 2008-05-19  Roei Erez  <roeie@mainsoft.com>
227         * Enumerable.cs: Implemente two overloaded GroupBy methods.
229 2008-05-15  Jb Evain  <jbevain@novell.com>
231         * QueryableEnumerable.cs: Make that the first expression is a constant
232         of itself, and not a constant of the source enumerable.
233         * QueryableTransformer.cs: On a constant, transform a QueryableEnumerable
234         into the enumerable.
235         * Queryable.cs: use new constructor.
237 2008-05-15  Jb Evain  <jbevain@novell.com>
239         * QueryableTransformer.cs, QueryableEnumerable.cs: coding style plus
240         some good refactorings.
242 2008-05-15  Roei Erez  <roeie@mainsoft.com>
244         * QueryableTransformer.cs: missed in the last commit.
246 2008-05-15  Roei Erez  <roeie@mainsoft.com>
248         * QueryableTransformer.cs, QueryableEnumerable.cs: two classes added for implementation
249         of Queryable.AsQueryable() implementation.
250         * Queryable.cs: Implement AsQueryable() method.
252 2008-05-08  Jonathan Pryor  <jpryor@novell.com>
254         * Enumerable.cs: LongCount() can be optimized for arrays, and Reverse() can
255           be implemented in terms of IList w/o needing a temporary List<T> copy.
257 2008-05-06  Sasha Kogan  <sashak@mainsoft.com>
259         * Queryable.cs (Average, GroupBy, Union): fix signatures to
260         match MS API.
262 2008-05-03  Jb Evain  <jbevain@novell.com>
264         * Queryable.cs (OrderBy, OrderByDescending): fix signature and
265         properly return a IOrderedQueryable<>.
267 2008-05-02  Jb Evain  <jbevain@novell.com>
269         * SortSequenceContext.cs (Compare): fix key equality case
270         when there's a nested sort.
272 2008-05-01  Jb Evain  <jbevain@novell.com>
274         * SortDirection.cs, SortContext.cs, SortSequenceContext.cs:
275         new infrastructure files for nested orderby/thenby calls.
276         * QuickSort.cs: refactored out of OrderedSequence.cs
277         * OrderedEnumerable.cs, OrderedSequence.cs: refactoring
278         to use the new SortContext infrastructure.
280 2008-04-30  Jb Evain  <jbevain@novell.com>
282         * Enumerable.cs: Average (int|long): properly compute
283         average.
285 2008-04-22  Jb Evain  <jbevain@novell.com>
287         * Enumerable.cs (ToReadOnlyCollection): optimization, use
288         a generic singleton for empty read only collections.
290 2008-03-31  Marek Safar  <marek.safar@gmail.com>
292         * Enumerable.cs: Use Math.Min and Math.Max where appropriate.
294 2008-03-27  Leonid Freydovich  <leonidf@mainsoft.com>
296         * LambdaExpression.cs Add some TARGET_JVM specific code
298 2008-02-09  Miguel de Icaza  <miguel@novell.com>
300         * Enumerable.cs (ToDictionary): Implement this overload.
302 2008-02-01  Jb Evain  <jbevain@novell.com>
304         * Queryable.cs, Check.cs: integrate GHOP work from
305         Andreas Noever <andreas.noever@gmail.com>.
307 2008-01-21  Jb Evain  <jbevain@novell.com>
309         * Enumerable.cs: fix Intersect.
311 2008-01-21  Jb Evain  <jbevain@novell.com>
313         * Enumerable.cs: fix Concat et SelectMany.
315 2008-01-21  Jb Evain  <jbevain@novell.com>
317         * Enumerable.cs: fix range.
319 2008-01-21  Jb Evain  <jbevain@novell.com>
321         * Enumerable.cs: more ArgumentNullExceptions.
323 2008-01-21  Jb Evain  <jbevain@novell.com>
325         * Enumerable.cs: fix some more ArgumentNullException.
327 2008-01-21  Jb Evain  <jbevain@novell.com>
329         * Enumerable.cs: correctly throw ArgumentNullException
330         for Cast.
332 2008-01-21  Jb Evain  <jbevain@novell.com>
334         * Enumerable.cs (Iterate): protect against null selectors.
336 2008-01-21  Jb Evain  <jbevain@novell.com>
338         * Enumerable.cs: fix IterateNullable.
340 2008-01-15  Jb Evain  <jbevain@novell.com>
342         * Enumerable.cs: clean the ToReadOnlyCollection extension
343         method.
345 2007-12-18  Jb Evain  <jbevain@novell.com>
347         * Enumerable.cs: refactor some Min.
349 2007-12-18  Jb Evain  <jbevain@novell.com>
351         * Enumerable.cs: refactor some more Max.
353 2007-12-12  Jb Evain  <jbevain@novell.com>
355         * Check.cs, Enumerable.cs: extract the checks to their
356         own class, as they'll be used by Queryable as well.
358 2007-12-04  Marek Safar <marek.safar@gmail.com>
360         * Enumerable.cs: Refactor some copy&paste blocks.
362 2007-11-28  Jb Evain  <jbevain@novell.com>
364         * Enumerable.cs: fix warnings.
366 2007-11-27  Scott Peterson  <lunchtimemama@gmail.com>
368         * InternalOrderedSequence.cs: updated Quicksort algorithm.
370 2007-11-22  Atsushi Enomoto  <atsushi@ximian.com>
372         * Enumerable.cs : fixed Range(int,int) that iterated one less.
373           Thanks to http://d.hatena.ne.jp/NyaRuRu/ .
375 2007-11-13  Jb Evain  <jbevain@novell.com>
377         * Enumerable.cs: make the new unit tests pass.
379 2007-11-09  Jb Evain  <jbevain@novell.com>
381         * Enumerable.cs: refactor the ArgumentNullException checks.
383 2007-11-08  Jb Evain  <jbevain@novell.com>
385         * Enumerable.cs: Implement SequenceEqual.
387 2007-11-08  Jb Evain  <jbevain@novell.com>
389         * Enumerable.cs: Complete Union.
391 2007-11-08  Jb Evain  <jbevain@novell.com>
393         * Enumerable.cs: correctly implement Intersect.
395 2007-11-08  Jb Evain  <jbevain@novell.com>
397         * Enumerable.cs: code cleanup.
399 2007-11-06  Jb Evain  <jbevain@novell.com>
401         * Enumerable.cs: Fix what we return on Except. Fix #324031.
403 2007-09-12  Marek Safar <marek.safar@gmail.com>
405         * Enumerable.cs: Fixed GroupJoin logic. Reused DefaultIfEmpty
406         implementation.
408 2007-09-11  Marek Safar <marek.safar@gmail.com>
410         * Enumerable.cs: Fixed Join recursion.
412 2007-08-22  Marek Safar <marek.safar@gmail.com>
414         * Enumerable.cs: More SelectionMany.
416 2007-08-21  Marek Safar <marek.safar@gmail.com>
418         * AOrderedEnumerable: New abstract base.
420         * Enumerable.cs, Queryable.cs: Public methods update.
422         * InternalOrderedSequence.cs: Fixed ThenBy.
424 2007-08-21  Marek Safar <marek.safar@gmail.com>
426         * Enumerable.cs, Queryable.cs: Public methods update.
428         * InternalOrderedSequence.cs, OrderedSequence.cs: Derives from
429         IOrderedEnumerable<TElement>.
431 2007-08-17  Michael Hutchinson <m.j.hutchinson@gmail.com>
433         * Enumerable.cs: Fix Aggregate's counting code, and make it more
434           efficient.
436 2007-06-08  Marek Safar <marek.safar@gmail.com>
438         * Enumerable.cs: Fixed recursion in GroupBy.
440 2007-03-24  Antonello Provenzano  <antonello@deveel.com>
442         * Enumerable.cs: Migrated from QueryExpression
443                 - Implemented overload of method Aggregate
444                 - Method AsEnumerable implemented
445                 - Method Contains overloaded
446                 - 'Distinct' method refactored and overloaded
447                 - 'Except' method refactored and overloaded
448                 - Method IndexOf overloaded to be used with IEqualityComparer instances
449                 - Method Join overloaded to be used with IEqualityComparer instances
450                 - Method GroupJoin overloaded to be used with IEqualityComparer instances
451                 - Implemented internal method ToReadOnlyCollection for support
452                 to expressions.
454 2007-02-16  Marek Safar <marek.safar@gmail.com>
456         * Enumerable.cs, Queryable.cs: Remove Extension attribute.
458 2007-02-03  Atsushi Enomoto  <atsushi@ximian.com>
460         * IQueryable_T.cs : fixed type/member signatures (generic arguments).
462 2007-01-19  Marek Safar <marek.safar@gmail.com>
464         * QueryExpression.cs,
465         * Enumerable.cs: New files.
467         * Small update to recent version.
469 2007-01-19  Marek Safar <marek.safar@gmail.com>
471         * ChangeLog: Added