2003-10-01  Duncan Mak  <duncan@ximian.com>

	More patches from Eran Domb <erand@mainsoft.com>.

	* MergeManager.cs: New file.

	* DataRelationCollection.cs (AddCore): Check that a
	UniqueConstraint is already exists. It loops over the Relations
	instead of the Constraints.
	(Add, AddCore): The relation was added twice.

	* DataSet.cs (Merge, GetChanges, HasChanges): Implemented.	

2003-09-30  Duncan Mak  <duncan@ximian.com>        

	Patches from Eran Domb <erand@mainsoft.com>.

	* DataRelation.cs (constructor): When the name of the relation is
	null, it should return an empty, not "Relation".
	
	* DataRow.cs (AcceptChanges): Added special case for
	RowState.Detached.
	(CancelEdit): Set editing flag to false.
	(IsNull): Check that the value is DBNull.

	* DataRowCollection.cs (Add): There was no check that the table of
	the collection is owned by a DataSet.

	* DataSet.cs (OnMergeFailed): Added.	

	* UniqueConstraint.cs (AssertConstraint): There was no check that
	values in the row are not null, where it is a primary key
	column. Also check that the row has a proposed version, if not,
	get the current version when we compare the rows.

2003-09-25  Duncan Mak  <duncan@ximian.com>

        Patches from Eran Domb <erand@mainsoft.com>.

	* DataColumn.cs (Unique): Implemented.
	
	* DataTable.cs:
	* ConstraintCollection.cs:
	* ForeignKeyConstraint.cs (_ensureUniqueConstraintExists): Fixes
	an Exception thrown. Details:
	http://lists.ximian.com/archives/public/mono-devel-list/2003-September/002130.html
	
	* DataRowCollection.cs (Add): There is no checking that there is
	no violation of the unique constrains.

	* UniqueConstraint.cs (AssertConstraint): There is no checking on
	all columns in the constraint.

	* DataTableCollection (Add): Correctly throw an Exception, more
	details here:
	http://lists.ximian.com/archives/public/mono-devel-list/2003-September/002117.html
	(Remove, RemoveAt): Implemented.

2003-07-31  Duncan Mak  <duncan@ximian.com>

	* DBConcurrencyException.cs: Added new NET_1_1 no-param constructor.

2003-07-25  Ravi Pratap  <ravi@ximian.com>

	* DataRelation.cs (OnPropertyChanging): Calling the 'Invoke'
	method on a delegate is disallowed - fix this.

2003-07-22  Lluis Sanchez Gual  <lluis@ximian.com>

	* DataSet.cs: Implemented IXmlSerializable interface. Added basic support for
	  xml serialization. Modified method of writing schema. Now it creates
	  a XmlSchema object and serializes it using XmlSerializer.
	* XmlConstants.cs: Added constants for data type names.
	* XmlDataLoader.cs: Fixed deserialization of data. Now converts data to the
	  type specified in the column.

2003-04-20  Alan Tam <Tam@SiuLung.com>

	* DataRelationCollection.cs: Fix a bug that prevent relations
	from being added via DataSet.

2003-04-12  Ville Palo <vi64pa@kolumbus.fi>

	* UniqueConstraint.cs: one tiny fix.
	
2003-04-05  Ville Palo <vi64pa@kolumbus.fi>

	* DataTable.cs: Remove UniqueConstraints when adding new ones
	
2003-04-04  Ville Palo <vi64pa@kolumbus.fi>

	* DataColumnCollection.cs: Little 'case sensitive' fix
	
2003-04-04  Ville Palo <vi64pa@kolumbus.fi>

	* DataRow.cs: AutoIncrement handling to Constructor
	* DataRowCollection.cs: This doesnt need anymore AutoIncrements
	
2003-03-27  Ville Palo <vi64pa@kolumbus.fi>

	* DataTable.cs: Some fixes to PrimaryKey etc...
	* UniqueConstraint.cs: Little clean up
	
2003-03-27  Ville Palo <vi64pa@kolumbus.fi>

	* DataTable.cs: Tiny fix to ToString () -method
	
2003-03-27  Ville Palo <vi64pa@kolumbus.fi>

	* ConstraintCollection.cs: Little fix.
	* DataColumn.cs: Added new internal method SetUnique()
	* UniqueConstraint.cs: some little fixes
	
2003-03-26  Ville Palo <vi64pa@kolumbus.fi>

	* DataRowCollection.cs: Bugfixes, implementation,...
	
2003-03-26  Ville Palo <vi64pa@kolumbus.fi>

	* DataColumn.cs: If DataType if set to something else than short, int
	or long and AutoIncrement is true, AutoIncrement is must set to false.
	
2003-03-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* DataRow.cs:
	(BeginEdit): fixed array bound problem when a column has been added.
	(EndEdit): just assign proposed to current as proposed is set to null.
	This also fixes another array boudn problem.

2003-03-21  Alan Tam <Tam@SiuLung.com>

	* DataRow.cs: Fixed problems in accessers, BeginEdit, CancelEdit,
	EndEdit and AcceptChanges to act correctly according to DataRowState
	and DataRowVersion.
	* DataRowCollection.cs: Call AttachRow and DetachRow when a row is
	attached and detached from the collection.

2003-03-20  Alan Tam <Tam@SiuLung.com>

	* DataColumn.cs: Store empty string for Expression when null is passed in.
	Classes generated by XSD.exe passes null by default.

2003-03-16  Ville Palo <vi64pa@kolumbus.fi>

	* DataColumnCollection.cs: Tiny clean up

2003-03-16  Ville Palo <vi64pa@kolumbus.fi>

	* DataColumn.cs: little fixes.
	* DataColumnCollection.cs: Lots of little fixes and improvments.
	
2003-03-12  Alan Tam <Tam@SiuLung.com>

	* DataSet.cs: Fixed a bug that the file written does not close correctly.

2003-03-08  Alan Tam <Tam@SiuLung.com>

	* DataRelationCollection.cs: Removed the mis-overridden methods
	* DataRow.cs: Fixed an attribute
	* DataSet.cs: Fixed the modifiers

2003-03-06  Aleksey Demakov <avd@openlinksw.com>

	* DataTableCollection.cs: The Contains (string name),
	IndexOf (string name) methods, and item[string name] indexer
	now behave more like .NET with respect to case-sensitivity.
	That is if there is an exactly matching item then this one is used.
	If there is only one item differing in case then it used.
	If there are more than one item differing in case then
	Contains returns false, IndexOf returns -1, and item[]
	throws an ArgumentException.

2003-02-28  Ville Palo <vi64pa@kolumbus.fi>

	* ExpressionElement.cs: More implementation. 
	
2003-02-28  Alan Tam <Tam@SiuLung.com>
	* DataSet.cs: Changed WriteTable so that it now calls the newly written
	WriteObjectXml to direct the call to the respective XmlConvert method.
	This fixes the wrong format written to XML files of bool, float,
	double, DateTime and TimeSpan types.

2003-02-25  Alan Tam <Tam@SiuLung.com>

	* DataRelation.cs: Added SetDataSet for DataSetRelationCollection to use.
	* DataRelationCollection.cs: Implemented AddRange and Contains.
	Implemented AddRange, Clear, List and RemoveCore for DataSetRelationColletion.
	Implemented AddCore, List and RemoveCore for DataTableRelationCollection.
	Reimplemented most Add methods to eliminate duplicated checks.
	Centralized RelationName generation procedure in GetNextDefaultRelationName.

2003-02-25  Alan Tam <Tam@SiuLung.com>

	* DataColumn.cs: Fixed wrong storage representation of Expression
	(using empty string instead of null) so that ToString() returns nothing.
	* DataColumnCollection.cs: Reimplemented GetNextDefaultColumnName so that
	auto column naming now works as expected. Reimplemented some Add methods
	to eliminate code duplication.

2003-02-19  Ville Palo <vi64pa@kolumbus.fi>

	* DataTable.cs: DataTable.CaseSensitive follows parent 
	DataSet.CaseSensitive property if DataTable.CaseSensitive has never
	been changed directly from DataTable
	
2003-02-19  Ville Palo <vi64pa@kolumbus.fi>

	* DataSet.cs: When CaseSensitive property is changed all of the Tables
	of DataSet have to change too
	
2003-02-19  Daniel Morgan <danmorg@sc.rr.com>

	* InternalDataCollectionBase.cs: revert change to field
	to fix build
	
	* DataViewManager.cs
	* DataView.cs
	* DataTable.cs
	* DataSet.cs: commented use of DesignerAttribute
	because it broke the build.  According to MSDN,
	DesignerAttribute does not have a zero-argument constructor

2003-02-18  Ville Palo <vi64pa@kolumbus.fi>

	* DataColumnCollectin.cs: Little fix for indexer and case sensitivity
	
2003-02-18  Alan Tam <Tam@SiuLung.com>

	* DataRow.cs: Implemented GetParentRow and GetParentRows.
	* DataSet.cs: Added stub for HasChanges, InferXmlSchema,
		      OnPropertyChanging, OnRemoveRelation, OnRemoveTable,
		      RaisePropertyChanging.
	* DataTable.cs: Implemented NewRowArray.
	* DataTablePropertyDescriptor: Fixed a modifier.
	* InternalDataCollectionBase.cs: Fixed modifiers. Implemented SyncRoot.
	* PropertyCollection.cs: Minor fix.
	* ConstraintCollection.cs DataColumn.cs DataColumnCollection.cs 
	* DataRelation.cs DataRelationCollection.cs DataRow.cs
	* DataRowCollection.cs DataRowState.cs DataSet.cs DataTable.cs
	* DataTableCollection.cs DataTablePropertyDescriptor.cs DataView.cs
	* DataViewManager.cs DataViewRowState.cs DataViewSettingCollection.cs
	* ForeignKeyConstraint.cs InternalDataCollectionBase.cs
	* PropertyCollection.cs UniqueConstraint.cs: Added missing attributes
	
2003-02-08  Ville Palo <vi64pa@koti.soon.fi>

	* ExpressionElement.cs: More implementation
	
2003-02-05  Alan Tam <Tam@SiuLung.com>

	* DataSet.cs: Added framework for DataSet.Update Implemented missing 
	methods GetSchemaSerializable, GetSerializationData, 
	ReadXmlSerializable, ShouldSerializeRelations and ShouldSerializeTables
	for DataSet
	* DataTable.cs: Implemented missing methods CreateInstance and 
	GetRowType for DataTable
	
2003-02-03  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs: Implemented private method MapType for 
	mapping datatypes for XmlSchema
	
2003-02-03  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* DataView.cs: implemented Dispose.

2003-01-30  Ville Palo <vi64pa@koti.soon.fi>

	* ExpressionElement.cs: Added new file. This file is for parsing
	  and DataData.Select () -methods and DataColumn.Expression -property
	* DataTable.cs: Implemented Select(string) -method	
	
2003-01-28  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs: One little fix to writing xml
	
2003-01-27  Ville Palo <vi64pa@koti.soon.fi>

	* XmlSchemaMapper.cs: Some fixes.
	* DatSet.cs: Some XmlFixes and BeginInit ()/ EndInit () -fix

		
2003-01-24  Ville Palo <vi64pa@koti.soon.fi>

	* UniqueConstraint.cs: Do not set columns Unique property true 
	as a default.
	* ForeignKeyConstraint.cs: Add UniqueConstraint to parent Table
	
2003-01-18  Ville Palo <vi64pa@koti.soon.fi>

	* DataTableCollection.cs: Now names new DataTable if it doesn't 
	already have a name.
	
2003-01-17  Ville Palo <vi64pa@koti.soon.fi>

	* XmlSchemaMapper.cs: Improvments.
	* XmlConstaints.cs: Added more constants.
	* DataSet.cs: Improvments of reading and writing xml
	* DataColumn.cs: Added default values of properties.
		
2003-01-14  Ville Palo <vi64pa@koti.soon.fi>

	* XmlSchemaMapper.cs: Some improvments
	
2003-01-13  Ville Palo <vi64pa@koti.soon.fi>

	* DataRowCollection.cs: Added IndexOutOfRangeException
	* DataTableCollection.cs: Added OnCollectionChanging and 
	OnCollectionChanged events.
	* DataSet.cs: Many fixes. Implemented Clone () and Copy () -methods
	* DataTable.cs: Implemented Copy () and Clone () methods.
	* XmlDataLoader.cs: some fixes.
	* XmlSchemaMapper.cs: comments.
	
2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* DataColumnPropertyDescriptor.cs: store columnIndex in the .ctor.

2003-01-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* DataColumnPropertyDescriptor.cs: fixed typo.
	* DataViewManagerListItemTypeDescriptor.cs: added new internal property
	to get the DataViewManager and removed TablePD class.
	* DataTablePropertyDescriptor.cs: TablePD class is now this one as
	suggested by danmorg.

2003-01-06  Ville Palo <vi64pa@koti.soon.fi>

	* XmlDataLoader.cs: Moved diffgram stuff to new internal class
	XmlDiffLoader.
	* XmlDiffLoader.cs: new class for diffgrams. Added handling of 
	diffgr:Errors and some fixes and changed XmlReader to XPathNavigator.
	
2003-01-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* DataView.cs: made dataViewManager internal.
	* DataViewManager.cs: use ICustomTypeDescriptor. We don't want the
	properties of the object, but the values of the columns present in a
	row.
	
	* DataViewManagerListItemTypeDescriptor.cs: implemented GetProperties,
	which returns a PropertyDescriptorCollection. Created a new class
	derived from PropertyDescriptor that treats Table as an object whose
	properties are DataRowView.

2003-01-04  Ville Palo <vi64pa@koti.soon.fi>

	* XmlSchemaMapper.cs: Added handling for Constraints, Attributes.
	
2003-01-04  Ville Palo <vi64pa@koti.soon.fi>

	* DataColumn.cs: ExtendedProperties is by default !null-
	
2003-01-04  Ville Palo <vi64pa@koti.soon.fi>

	* DataColumnCollection.cs: Add (DataColumn Column) -method didn't 
	set column's ordinal.
	
2003-01-02  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs: 
	* XmlDataLoader.cs: XmlReader closing fixes.
	* XmlSchemaReader.cs: Added support for ref=
	
2003-01-01  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs: 
	  - Added XmlReader and XmlWriter Closing.
	  - Moved ReadXmlSchema stuff to new internal class XmlSchemaMapper.
	* XmlSchemaMapper.cs
	  - Much better way IMHO  to map xmlschema than the old one in 
	    DataSet.cs. Its, more flexible, cleaner, ...
	   		
2002-12-29  Ville Palo <vi64pa@koti.soon.fi>

	* XmlDataLoader.cs: Reading diffgrams.
	
2002-12-29  Ville Palo <vi64pa@koti.soon.fi>

	* DataRow.cs: Little fix to indexer and DataColumnCang* trigger fixes.
	* DataTable.cs: Added ChanginDataColumn () for triggering 
	DataColumnChanging event
	
2002-12-28  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs: Indentations to WriteXmlSchema () and one little fix
	
2002-12-28  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs: Indentations to WriteXml ()
	
2002-12-27  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs:
	* XmlDataLoader.cs: Moved ReadXml -stuff from DataSet.cs to new
	class XmlDataLoader.cs
	
2002-12-19  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs Implemented ReadXml with XmlReadMode.ReadSchema
	
2002-12-18  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs: Started to implement ReadXml-methods.
	
2002-12-17  Gonzalo Paniagua Javier <gonzalo@ximian.com>

	* DataSet.cs: implemented DefaultViewManager and GetList.

	* DataViewManager.cs: a bit of work on IList and ITypedList needed by
	DataList in System.Web.

	* DataViewManagerListItemTypeDescriptor.cs: custom type descriptor for
	DataViewManager.

2002-12-16  Ville Palo <vi64pa@koti.soon.fi>

	* DataRow.cs
	* DataTable.cs: Fixed NullException (rollback -event)
	* DataSet.cs: WriteXml -method does not anymore write <?xml... row.
	
2002-12-15  Ville Palo <vi64pa@koti.soon.fi>

	* DataRow.cs:
	* DataRowCollection.cs: Moved event triggering from DataRow to
	DataRowCollection.
	
2002-12-09  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs: Little fix to WriteTable () -method 
	and DoReadXmlSchema () -method.
	
2002-12-06  Ville Palo <vi64pa@koti.soon.fi>

	* DataSet.cs: Clean up to reading xmlschema. This looks much better 
	now (work better too), but it not working correctly yet.
	
2002-12-04  Ville Palo <vi64pa@koti.soon.fi>

	* DataRow.cs: 
	* DataRowCollection.cs: Added some event handlins stuff.
	* DataSet.cs: Some fixes.
	* DataTable.cs: Added event handlers.
	
2002-11-30  Ville Palo <vi64pa@koti.soon.fi>

	* DataRowChangeEventArgs.cs: Implemented Action and Row properties 
	
2002-11-30  Ville Palo <vi64pa@koti.soon.fi>

	* System.Data/DataRow.cs: Added internal property XmlDataID
	
2002-11-29  Ville Palo <vi64pa@koti.soon.fi>

	* DataSystem.Data.DataTableCollection.cs:
	Removed HashTable. There could be situations where DataTable
	is added to collection before it hava TableName. So using 
	HashTable is impossible.
	
2002-11-19  Carlos Guzmn lvarez <carlosga@telefonica.net>

	* DataRow.cs: an object that is equal to null 
	should be allowed to be set in this indexer too
	to be like .NET

2002-11-06  Daniel Morgan <danmorg@sc.rr.com>

	* DataColumnPropertyDescriptor.cs: added file
	
	* System.Data/DataRowView.cs: started implementation
	
	* DataTable.cs: stubbed more interfaces.  Implemented
	IListSource.GetList()
	
	* DataView.cs: stubbed more interfaces.  Implemented
	some properties and methods: GetEnumerator(), 
	ITypedList.GetItemProperties, Item indexer, CopyTo()

2002-05-18  Nick Drochak  <ndrochak@gol.com>

	* DataRow.cs: Fix typo.
