More patches from Eran Domb <erand@mainsoft.com>.
[mono.git] / mcs / class / System.Data / System.Data / ChangeLog
1 2003-10-01  Duncan Mak  <duncan@ximian.com>
2
3         More patches from Eran Domb <erand@mainsoft.com>.
4
5         * MergeManager.cs: New file.
6
7         * DataRelationCollection.cs (AddCore): Check that a
8         UniqueConstraint is already exists. It loops over the Relations
9         instead of the Constraints.
10         (Add, AddCore): The relation was added twice.
11
12         * DataSet.cs (Merge, GetChanges, HasChanges): Implemented.      
13
14 2003-09-30  Duncan Mak  <duncan@ximian.com>        
15
16         Patches from Eran Domb <erand@mainsoft.com>.
17
18         * DataRelation.cs (constructor): When the name of the relation is
19         null, it should return an empty, not "Relation".
20         
21         * DataRow.cs (AcceptChanges): Added special case for
22         RowState.Detached.
23         (CancelEdit): Set editing flag to false.
24         (IsNull): Check that the value is DBNull.
25
26         * DataRowCollection.cs (Add): There was no check that the table of
27         the collection is owned by a DataSet.
28
29         * DataSet.cs (OnMergeFailed): Added.    
30
31         * UniqueConstraint.cs (AssertConstraint): There was no check that
32         values in the row are not null, where it is a primary key
33         column. Also check that the row has a proposed version, if not,
34         get the current version when we compare the rows.
35
36 2003-09-25  Duncan Mak  <duncan@ximian.com>
37
38         Patches from Eran Domb <erand@mainsoft.com>.
39
40         * DataColumn.cs (Unique): Implemented.
41         
42         * DataTable.cs:
43         * ConstraintCollection.cs:
44         * ForeignKeyConstraint.cs (_ensureUniqueConstraintExists): Fixes
45         an Exception thrown. Details:
46         http://lists.ximian.com/archives/public/mono-devel-list/2003-September/002130.html
47         
48         * DataRowCollection.cs (Add): There is no checking that there is
49         no violation of the unique constrains.
50
51         * UniqueConstraint.cs (AssertConstraint): There is no checking on
52         all columns in the constraint.
53
54         * DataTableCollection (Add): Correctly throw an Exception, more
55         details here:
56         http://lists.ximian.com/archives/public/mono-devel-list/2003-September/002117.html
57         (Remove, RemoveAt): Implemented.
58
59 2003-07-31  Duncan Mak  <duncan@ximian.com>
60
61         * DBConcurrencyException.cs: Added new NET_1_1 no-param constructor.
62
63 2003-07-25  Ravi Pratap  <ravi@ximian.com>
64
65         * DataRelation.cs (OnPropertyChanging): Calling the 'Invoke'
66         method on a delegate is disallowed - fix this.
67
68 2003-07-22  Lluis Sanchez Gual  <lluis@ximian.com>
69
70         * DataSet.cs: Implemented IXmlSerializable interface. Added basic support for
71           xml serialization. Modified method of writing schema. Now it creates
72           a XmlSchema object and serializes it using XmlSerializer.
73         * XmlConstants.cs: Added constants for data type names.
74         * XmlDataLoader.cs: Fixed deserialization of data. Now converts data to the
75           type specified in the column.
76
77 2003-04-20  Alan Tam <Tam@SiuLung.com>
78
79         * DataRelationCollection.cs: Fix a bug that prevent relations
80         from being added via DataSet.
81
82 2003-04-12  Ville Palo <vi64pa@kolumbus.fi>
83
84         * UniqueConstraint.cs: one tiny fix.
85         
86 2003-04-05  Ville Palo <vi64pa@kolumbus.fi>
87
88         * DataTable.cs: Remove UniqueConstraints when adding new ones
89         
90 2003-04-04  Ville Palo <vi64pa@kolumbus.fi>
91
92         * DataColumnCollection.cs: Little 'case sensitive' fix
93         
94 2003-04-04  Ville Palo <vi64pa@kolumbus.fi>
95
96         * DataRow.cs: AutoIncrement handling to Constructor
97         * DataRowCollection.cs: This doesnt need anymore AutoIncrements
98         
99 2003-03-27  Ville Palo <vi64pa@kolumbus.fi>
100
101         * DataTable.cs: Some fixes to PrimaryKey etc...
102         * UniqueConstraint.cs: Little clean up
103         
104 2003-03-27  Ville Palo <vi64pa@kolumbus.fi>
105
106         * DataTable.cs: Tiny fix to ToString () -method
107         
108 2003-03-27  Ville Palo <vi64pa@kolumbus.fi>
109
110         * ConstraintCollection.cs: Little fix.
111         * DataColumn.cs: Added new internal method SetUnique()
112         * UniqueConstraint.cs: some little fixes
113         
114 2003-03-26  Ville Palo <vi64pa@kolumbus.fi>
115
116         * DataRowCollection.cs: Bugfixes, implementation,...
117         
118 2003-03-26  Ville Palo <vi64pa@kolumbus.fi>
119
120         * DataColumn.cs: If DataType if set to something else than short, int
121         or long and AutoIncrement is true, AutoIncrement is must set to false.
122         
123 2003-03-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
124
125         * DataRow.cs:
126         (BeginEdit): fixed array bound problem when a column has been added.
127         (EndEdit): just assign proposed to current as proposed is set to null.
128         This also fixes another array boudn problem.
129
130 2003-03-21  Alan Tam <Tam@SiuLung.com>
131
132         * DataRow.cs: Fixed problems in accessers, BeginEdit, CancelEdit,
133         EndEdit and AcceptChanges to act correctly according to DataRowState
134         and DataRowVersion.
135         * DataRowCollection.cs: Call AttachRow and DetachRow when a row is
136         attached and detached from the collection.
137
138 2003-03-20  Alan Tam <Tam@SiuLung.com>
139
140         * DataColumn.cs: Store empty string for Expression when null is passed in.
141         Classes generated by XSD.exe passes null by default.
142
143 2003-03-16  Ville Palo <vi64pa@kolumbus.fi>
144
145         * DataColumnCollection.cs: Tiny clean up
146
147 2003-03-16  Ville Palo <vi64pa@kolumbus.fi>
148
149         * DataColumn.cs: little fixes.
150         * DataColumnCollection.cs: Lots of little fixes and improvments.
151         
152 2003-03-12  Alan Tam <Tam@SiuLung.com>
153
154         * DataSet.cs: Fixed a bug that the file written does not close correctly.
155
156 2003-03-08  Alan Tam <Tam@SiuLung.com>
157
158         * DataRelationCollection.cs: Removed the mis-overridden methods
159         * DataRow.cs: Fixed an attribute
160         * DataSet.cs: Fixed the modifiers
161
162 2003-03-06  Aleksey Demakov <avd@openlinksw.com>
163
164         * DataTableCollection.cs: The Contains (string name),
165         IndexOf (string name) methods, and item[string name] indexer
166         now behave more like .NET with respect to case-sensitivity.
167         That is if there is an exactly matching item then this one is used.
168         If there is only one item differing in case then it used.
169         If there are more than one item differing in case then
170         Contains returns false, IndexOf returns -1, and item[]
171         throws an ArgumentException.
172
173 2003-02-28  Ville Palo <vi64pa@kolumbus.fi>
174
175         * ExpressionElement.cs: More implementation. 
176         
177 2003-02-28  Alan Tam <Tam@SiuLung.com>
178         * DataSet.cs: Changed WriteTable so that it now calls the newly written
179         WriteObjectXml to direct the call to the respective XmlConvert method.
180         This fixes the wrong format written to XML files of bool, float,
181         double, DateTime and TimeSpan types.
182
183 2003-02-25  Alan Tam <Tam@SiuLung.com>
184
185         * DataRelation.cs: Added SetDataSet for DataSetRelationCollection to use.
186         * DataRelationCollection.cs: Implemented AddRange and Contains.
187         Implemented AddRange, Clear, List and RemoveCore for DataSetRelationColletion.
188         Implemented AddCore, List and RemoveCore for DataTableRelationCollection.
189         Reimplemented most Add methods to eliminate duplicated checks.
190         Centralized RelationName generation procedure in GetNextDefaultRelationName.
191
192 2003-02-25  Alan Tam <Tam@SiuLung.com>
193
194         * DataColumn.cs: Fixed wrong storage representation of Expression
195         (using empty string instead of null) so that ToString() returns nothing.
196         * DataColumnCollection.cs: Reimplemented GetNextDefaultColumnName so that
197         auto column naming now works as expected. Reimplemented some Add methods
198         to eliminate code duplication.
199
200 2003-02-19  Ville Palo <vi64pa@kolumbus.fi>
201
202         * DataTable.cs: DataTable.CaseSensitive follows parent 
203         DataSet.CaseSensitive property if DataTable.CaseSensitive has never
204         been changed directly from DataTable
205         
206 2003-02-19  Ville Palo <vi64pa@kolumbus.fi>
207
208         * DataSet.cs: When CaseSensitive property is changed all of the Tables
209         of DataSet have to change too
210         
211 2003-02-19  Daniel Morgan <danmorg@sc.rr.com>
212
213         * InternalDataCollectionBase.cs: revert change to field
214         to fix build
215         
216         * DataViewManager.cs
217         * DataView.cs
218         * DataTable.cs
219         * DataSet.cs: commented use of DesignerAttribute
220         because it broke the build.  According to MSDN,
221         DesignerAttribute does not have a zero-argument constructor
222
223 2003-02-18  Ville Palo <vi64pa@kolumbus.fi>
224
225         * DataColumnCollectin.cs: Little fix for indexer and case sensitivity
226         
227 2003-02-18  Alan Tam <Tam@SiuLung.com>
228
229         * DataRow.cs: Implemented GetParentRow and GetParentRows.
230         * DataSet.cs: Added stub for HasChanges, InferXmlSchema,
231                       OnPropertyChanging, OnRemoveRelation, OnRemoveTable,
232                       RaisePropertyChanging.
233         * DataTable.cs: Implemented NewRowArray.
234         * DataTablePropertyDescriptor: Fixed a modifier.
235         * InternalDataCollectionBase.cs: Fixed modifiers. Implemented SyncRoot.
236         * PropertyCollection.cs: Minor fix.
237         * ConstraintCollection.cs DataColumn.cs DataColumnCollection.cs 
238         * DataRelation.cs DataRelationCollection.cs DataRow.cs
239         * DataRowCollection.cs DataRowState.cs DataSet.cs DataTable.cs
240         * DataTableCollection.cs DataTablePropertyDescriptor.cs DataView.cs
241         * DataViewManager.cs DataViewRowState.cs DataViewSettingCollection.cs
242         * ForeignKeyConstraint.cs InternalDataCollectionBase.cs
243         * PropertyCollection.cs UniqueConstraint.cs: Added missing attributes
244         
245 2003-02-08  Ville Palo <vi64pa@koti.soon.fi>
246
247         * ExpressionElement.cs: More implementation
248         
249 2003-02-05  Alan Tam <Tam@SiuLung.com>
250
251         * DataSet.cs: Added framework for DataSet.Update Implemented missing 
252         methods GetSchemaSerializable, GetSerializationData, 
253         ReadXmlSerializable, ShouldSerializeRelations and ShouldSerializeTables
254         for DataSet
255         * DataTable.cs: Implemented missing methods CreateInstance and 
256         GetRowType for DataTable
257         
258 2003-02-03  Ville Palo <vi64pa@koti.soon.fi>
259
260         * DataSet.cs: Implemented private method MapType for 
261         mapping datatypes for XmlSchema
262         
263 2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>
264
265         * DataView.cs: implemented Dispose.
266
267 2003-01-30  Ville Palo <vi64pa@koti.soon.fi>
268
269         * ExpressionElement.cs: Added new file. This file is for parsing
270           and DataData.Select () -methods and DataColumn.Expression -property
271         * DataTable.cs: Implemented Select(string) -method      
272         
273 2003-01-28  Ville Palo <vi64pa@koti.soon.fi>
274
275         * DataSet.cs: One little fix to writing xml
276         
277 2003-01-27  Ville Palo <vi64pa@koti.soon.fi>
278
279         * XmlSchemaMapper.cs: Some fixes.
280         * DatSet.cs: Some XmlFixes and BeginInit ()/ EndInit () -fix
281
282                 
283 2003-01-24  Ville Palo <vi64pa@koti.soon.fi>
284
285         * UniqueConstraint.cs: Do not set columns Unique property true 
286         as a default.
287         * ForeignKeyConstraint.cs: Add UniqueConstraint to parent Table
288         
289 2003-01-18  Ville Palo <vi64pa@koti.soon.fi>
290
291         * DataTableCollection.cs: Now names new DataTable if it doesn't 
292         already have a name.
293         
294 2003-01-17  Ville Palo <vi64pa@koti.soon.fi>
295
296         * XmlSchemaMapper.cs: Improvments.
297         * XmlConstaints.cs: Added more constants.
298         * DataSet.cs: Improvments of reading and writing xml
299         * DataColumn.cs: Added default values of properties.
300                 
301 2003-01-14  Ville Palo <vi64pa@koti.soon.fi>
302
303         * XmlSchemaMapper.cs: Some improvments
304         
305 2003-01-13  Ville Palo <vi64pa@koti.soon.fi>
306
307         * DataRowCollection.cs: Added IndexOutOfRangeException
308         * DataTableCollection.cs: Added OnCollectionChanging and 
309         OnCollectionChanged events.
310         * DataSet.cs: Many fixes. Implemented Clone () and Copy () -methods
311         * DataTable.cs: Implemented Copy () and Clone () methods.
312         * XmlDataLoader.cs: some fixes.
313         * XmlSchemaMapper.cs: comments.
314         
315 2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
316
317         * DataColumnPropertyDescriptor.cs: store columnIndex in the .ctor.
318
319 2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
320
321         * DataColumnPropertyDescriptor.cs: fixed typo.
322         * DataViewManagerListItemTypeDescriptor.cs: added new internal property
323         to get the DataViewManager and removed TablePD class.
324         * DataTablePropertyDescriptor.cs: TablePD class is now this one as
325         suggested by danmorg.
326
327 2003-01-06  Ville Palo <vi64pa@koti.soon.fi>
328
329         * XmlDataLoader.cs: Moved diffgram stuff to new internal class
330         XmlDiffLoader.
331         * XmlDiffLoader.cs: new class for diffgrams. Added handling of 
332         diffgr:Errors and some fixes and changed XmlReader to XPathNavigator.
333         
334 2003-01-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
335
336         * DataView.cs: made dataViewManager internal.
337         * DataViewManager.cs: use ICustomTypeDescriptor. We don't want the
338         properties of the object, but the values of the columns present in a
339         row.
340         
341         * DataViewManagerListItemTypeDescriptor.cs: implemented GetProperties,
342         which returns a PropertyDescriptorCollection. Created a new class
343         derived from PropertyDescriptor that treats Table as an object whose
344         properties are DataRowView.
345
346 2003-01-04  Ville Palo <vi64pa@koti.soon.fi>
347
348         * XmlSchemaMapper.cs: Added handling for Constraints, Attributes.
349         
350 2003-01-04  Ville Palo <vi64pa@koti.soon.fi>
351
352         * DataColumn.cs: ExtendedProperties is by default !null-
353         
354 2003-01-04  Ville Palo <vi64pa@koti.soon.fi>
355
356         * DataColumnCollection.cs: Add (DataColumn Column) -method didn't 
357         set column's ordinal.
358         
359 2003-01-02  Ville Palo <vi64pa@koti.soon.fi>
360
361         * DataSet.cs: 
362         * XmlDataLoader.cs: XmlReader closing fixes.
363         * XmlSchemaReader.cs: Added support for ref=
364         
365 2003-01-01  Ville Palo <vi64pa@koti.soon.fi>
366
367         * DataSet.cs: 
368           - Added XmlReader and XmlWriter Closing.
369           - Moved ReadXmlSchema stuff to new internal class XmlSchemaMapper.
370         * XmlSchemaMapper.cs
371           - Much better way IMHO  to map xmlschema than the old one in 
372             DataSet.cs. Its, more flexible, cleaner, ...
373                         
374 2002-12-29  Ville Palo <vi64pa@koti.soon.fi>
375
376         * XmlDataLoader.cs: Reading diffgrams.
377         
378 2002-12-29  Ville Palo <vi64pa@koti.soon.fi>
379
380         * DataRow.cs: Little fix to indexer and DataColumnCang* trigger fixes.
381         * DataTable.cs: Added ChanginDataColumn () for triggering 
382         DataColumnChanging event
383         
384 2002-12-28  Ville Palo <vi64pa@koti.soon.fi>
385
386         * DataSet.cs: Indentations to WriteXmlSchema () and one little fix
387         
388 2002-12-28  Ville Palo <vi64pa@koti.soon.fi>
389
390         * DataSet.cs: Indentations to WriteXml ()
391         
392 2002-12-27  Ville Palo <vi64pa@koti.soon.fi>
393
394         * DataSet.cs:
395         * XmlDataLoader.cs: Moved ReadXml -stuff from DataSet.cs to new
396         class XmlDataLoader.cs
397         
398 2002-12-19  Ville Palo <vi64pa@koti.soon.fi>
399
400         * DataSet.cs Implemented ReadXml with XmlReadMode.ReadSchema
401         
402 2002-12-18  Ville Palo <vi64pa@koti.soon.fi>
403
404         * DataSet.cs: Started to implement ReadXml-methods.
405         
406 2002-12-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>
407
408         * DataSet.cs: implemented DefaultViewManager and GetList.
409
410         * DataViewManager.cs: a bit of work on IList and ITypedList needed by
411         DataList in System.Web.
412
413         * DataViewManagerListItemTypeDescriptor.cs: custom type descriptor for
414         DataViewManager.
415
416 2002-12-16  Ville Palo <vi64pa@koti.soon.fi>
417
418         * DataRow.cs
419         * DataTable.cs: Fixed NullException (rollback -event)
420         * DataSet.cs: WriteXml -method does not anymore write <?xml... row.
421         
422 2002-12-15  Ville Palo <vi64pa@koti.soon.fi>
423
424         * DataRow.cs:
425         * DataRowCollection.cs: Moved event triggering from DataRow to
426         DataRowCollection.
427         
428 2002-12-09  Ville Palo <vi64pa@koti.soon.fi>
429
430         * DataSet.cs: Little fix to WriteTable () -method 
431         and DoReadXmlSchema () -method.
432         
433 2002-12-06  Ville Palo <vi64pa@koti.soon.fi>
434
435         * DataSet.cs: Clean up to reading xmlschema. This looks much better 
436         now (work better too), but it not working correctly yet.
437         
438 2002-12-04  Ville Palo <vi64pa@koti.soon.fi>
439
440         * DataRow.cs: 
441         * DataRowCollection.cs: Added some event handlins stuff.
442         * DataSet.cs: Some fixes.
443         * DataTable.cs: Added event handlers.
444         
445 2002-11-30  Ville Palo <vi64pa@koti.soon.fi>
446
447         * DataRowChangeEventArgs.cs: Implemented Action and Row properties 
448         
449 2002-11-30  Ville Palo <vi64pa@koti.soon.fi>
450
451         * System.Data/DataRow.cs: Added internal property XmlDataID
452         
453 2002-11-29  Ville Palo <vi64pa@koti.soon.fi>
454
455         * DataSystem.Data.DataTableCollection.cs:
456         Removed HashTable. There could be situations where DataTable
457         is added to collection before it hava TableName. So using 
458         HashTable is impossible.
459         
460 2002-11-19  Carlos Guzmán Álvarez <carlosga@telefonica.net>
461
462         * DataRow.cs: an object that is equal to null 
463         should be allowed to be set in this indexer too
464         to be like .NET
465
466 2002-11-06  Daniel Morgan <danmorg@sc.rr.com>
467
468         * DataColumnPropertyDescriptor.cs: added file
469         
470         * System.Data/DataRowView.cs: started implementation
471         
472         * DataTable.cs: stubbed more interfaces.  Implemented
473         IListSource.GetList()
474         
475         * DataView.cs: stubbed more interfaces.  Implemented
476         some properties and methods: GetEnumerator(), 
477         ITypedList.GetItemProperties, Item indexer, CopyTo()
478
479 2002-05-18  Nick Drochak  <ndrochak@gol.com>
480
481         * DataRow.cs: Fix typo.