2002-08-16 Rodrigo Moya <rodrigo@ximian.com>
[mono.git] / mcs / class / System.Data / ChangeLog
1 2002-08-16  Rodrigo Moya <rodrigo@ximian.com>
2
3         * System.Data.OleDb/libgda.cs: added new needed libgda functions.
4
5         * System.Data.OleDb/OleDbDataReader.cs (GetBoolean): throw exceptions
6         when there are errors.
7         (GetByte, GetChar, GetDataTypeName, GetValue, Read): implemented.
8
9         * System.Data.OleDb/TestOleDb.cs: added more testing code for data
10         readers.
11
12 2002-08-15  Rodrigo Moya <rodrigo@ximian.com>
13
14         * System.Data.OleDb/libgda.cs: added new needed libgda functions.
15
16         * System.Data.OleDb/OleDbParameterCollection.cs (GdaParameterList):
17         create an empty GdaParameterList.
18
19         * System.Data.OleDb/OleDbCommand.cs (ExecuteReader): check values
20         for NULL before passing them to Marshal.PtrToStructure, which issues
21         an exception if the value is NULL.
22
23 2002-08-15  Rodrigo Moya <rodrigo@ximian.com>
24
25         * System.Data/UniqueConstraint.cs (UniqueConstraint): commented
26         unreachable code to avoid compiler warning.
27
28         * System.Data.OleDb/libgda.cs (GdaList): added new internal class.
29
30         * System.Data.OleDb/OleDbConnection.cs (DataSource): implemented.
31         (OpenReader): removed internal method.
32
33         * System.Data.OleDb/OleDbCommand.cs (ExecuteReader): split correctly
34         the list of returned data models.
35
36 2002-08-15  Franklin Wise <gracenote@earthlink.net>
37         
38         * System.Data/Constraint.cs: Added helper virtual functions
39
40         * System.Data/ConstraintCollection.cs: Improved constraint removal,
41         validation.  Removed specific knowledge of subclasses of 
42         Constraint.
43
44         * System.Data/DataColumn.cs: Added static helper function to compare
45         if two DataColumn arrays are the same.
46
47         * System.Data/ForeignKeyConstraint.cs: Continued to flush out.
48
49         * System.Data/UniqueConstraint.cs: Implemented.  Still some constraint
50         validation to do.
51         
52 2002-08-13  Franklin Wise <gracenote@earthlink.net>
53
54         * System.Data/DataRow.cs: Added several fixme tags.
55         
56 2002-08-13  Rodrigo Moya <rodrigo@ximian.com>
57
58         * System.Data.SqlClient/SqlDataAdapter.cs (DeleteCommand,
59         InsertCommand, SelectCommand, UpdateCommand): removed 'new' keyword
60         to avoid compiler warnings.
61
62 2002-08-12  Franklin Wise <gracenote@earthlink.net>
63
64         * System.Data/Constraint.cs: Implemented
65
66         * System.Data/UniqueConstraint.cs: GetHashCode() &
67         special case Ctor. Still need to be implemented. LAMESPEC tags
68         added.
69
70         * System.Data/ConstraintCollection.cs: Clear() &
71         AddRange() need to be finished. Several LAMESPEC tags.
72
73         * Allow Constraint collection to be created in DataTable.
74
75         * System.Data/ForeignKeyConstraint: Added a couple of
76         helper functions.
77
78         * System.Data/DataColumnCollection New/Added DataColumns now have
79         Table property set.
80
81 2002-08-11  Rodrigo Moya <rodrigo@ximian.com>
82
83         * System.Data.OleDb/libgda.cs: added some GdaValue functions.
84
85         * System.Data.OleDb/OleDbCommand.cs (OpenReader): removed this
86         internal method, since we don't need it.
87         (ExecuteReader): call SetupGdaCommand before executing the command
88         via libgda functions.
89         (ExecuteScalar): implemented.
90
91         * System.Data.OleDb/OleDbDateReader.cs (OleDbDataReader): removed call
92         to OleDbCommand.OpenReader.
93         (GetBoolean): implemented.
94
95 2002-08-08  Franklin Wise <gracenote@earthlink.net>
96
97         * System.Data/IDbComand.cs: IDbCommand now inherits IDisposable
98
99         * System.Data/IDbConnection.cs: IDbConnection now inherits IDisposable
100
101         * System.Data.SqlTypes/SqlCompareOptions.cs: Enum now set to correct
102         values.
103
104 2002-08-06  Gonzalo Paniagua Javier <gonzalo@ximian.com>
105
106         * System.Data.OleDb/OleDbConnection.cs: little fixes to make it work
107         and don't show a warning in Open.
108
109         * System.Data.OleDb/TestOleDb.cs: added Close.
110
111 2002-08-05  Rodrigo Moya <rodrigo@ximian.com>
112
113         * System.Data.OleDb/OleDbConnection.cs (ConnectionString,
114         ConnectionTimeout, ServerVersion, GdaConnection):
115         corrected style.
116         (OleDbConnection): call libgda.gda_init on constructor.
117
118         * System.Data.OleDb/libgda.cs (libgda): removed static constructor,
119         which wasn't been called.
120
121         * System.Data.OleDb/TestOleDb.cs (TestOleDb): updated to really
122         make some tests.
123
124 2002-08-04  Rodrigo Moya <rodrigo@ximian.com>
125
126         * list: added missing System.Data.OleDb and
127         System.Data.Common files.
128
129         * System.Data.OleDb/ChangeLog: removed and merged with
130         System.Data's ChangeLog.
131
132         * System.Data.OleDb/OleDbDataAdapter.cs:
133         * System.Data.OleDb/OleDbPermission.cs: compilation fixes.
134
135 2002-07-30  Rodrigo Moya <rodrigo@ximian.com>
136
137         * System.Data.OleDb/OleDbDataReader.cs (FieldCount): implemented.
138         (IsClosed, Item, RecordsAffected): implemented some properties.
139
140         * libgda.cs: added GdaDataModel methods.
141
142 2002-07-29  Rodrigo Moya <rodrigo@ximian.com>
143
144         * System.Data.OleDb/OleDbDataReader.cs (OleDbDataReader constructor): changed to receive
145         a second argument (ArrayList results).
146         (NextResult): implemented.
147
148         * System.Data.OleDb/OleDbCommand.cs: don't store the ArrayList of results, since we'll
149         pass that to the OleDbDataReader.
150         (OleDbCommand constructor): don't create the ArrayList of results.
151         (GdaResults): removed property.
152         (ExecuteReader): create a temporary ArrayList and pass that to the
153         OleDbDataReader constructor.
154
155 2002-07-28  Rodrigo Moya <rodrigo@ximian.com>
156
157         * System.Data.OleDb/OleDbCommand.cs (ExecuteReader):
158         (CreateParameter): implemented IDbCommand methods.
159         (CommandText): don't create many GdaCommand's, only one is needed.
160         (ExecuteNonQuery): set up the internal GDA command object.
161         (ExecuteReader): use correctly the unique GDA command object.
162
163         * System.Data.OleDb/libgda.cs: added new libgda calls.
164
165 2002-07-27  Rodrigo Moya <rodrigo@ximian.com>
166
167         * System.Data.OleDb/OleDbConnection.cs (CreateCommand):
168         (BeginTransaction): implemented IDbConnection methods.
169
170 2002-07-12  Rodrigo Moya <rodrigo@ximian.com>
171
172         * list: added System.Data.OleDb files to file list.
173
174 2002-07-11  Rodrigo Moya <rodrigo@ximian.com>
175
176         * System.Data.OleDb/libgda.cs: added new libgda functions and some enumerations.
177
178         * System.Data.OleDb/OleDbParameter.cs (IsNullable): removed explicit implementation
179         of the set method for this property.
180
181         * System.Data.OleDb/OleDbDataAdapter.cs (MissingMappingAction): implemented.
182         (MissingSchemaAction): implemented.
183
184 2002-07-10  Tim Coleman <tim@timcoleman.com>
185         
186         * System.Data.OleDb/OleDbCommandBuilder.cs: Added new methods, properties
187         * System.Data.OleDb/OleDbConnection.cs: Modified constructor
188         * System.Data.OleDb/OleDbError.cs: Added stubbs
189         * System.Data.OleDb/OleDbException.cs: Added stubbs
190         * System.Data.OleDb/OleDbInfoMessageEventArgs.cs: Added stubbs
191         * System.Data.OleDb/OleDbInfoMessageEventHandler.cs: style change
192         * System.Data.OleDb/OleDbParameter.cs: Added conversion from type to OleDbType
193         * System.Data.OleDb/OleDbPermission.cs: Added stubbs
194         * System.Data.OleDb/OleDbSchemaGuid.cs: Added stubbs
195         * System.Data.OleDb/OleDbTransaction.cs: New constructors, changes to methods to
196         support transaction nesting
197         * System.Data.OleDb/libgda.cs: Added my name to this file
198
199 2002-07-09  Tim Coleman <tim@timcoleman.com>
200         
201         * System.Data.OleDb/OleDbCommand.cs: Style changes, added new methods
202         * System.Data.OleDb/OleDbConnection.cs: Style changes, added new methods
203         * System.Data.OleDb/OleDbDataAdapter.cs: Implementation
204         * System.Data.OleDb/OleDbDataReader.cs: Added stubbs
205         * System.Data.OleDb/OleDbErrorCollection.cs: Added stubbs, some implementation
206         * System.Data.OleDb/OleDbParameter.cs: Style changes, added new methods
207         * System.Data.OleDb/OleDbParameterCollection.cs: Style changes, added new methods
208         * System.Data.OleDb/OleDbPermissionAttribute.cs: Style changes, added new methods
209         * System.Data.OleDb/OleDbRowUpdatedEventArgs.cs: Added stubbs
210         * System.Data.OleDb/OleDbRowUpdatingEventArgs.cs: Added stubbs
211         * System.Data.OleDb/OleDbTransaction.cs: Style changes, added new methods
212         * System.Data.OleDb/OleDbType.cs: Fixed two typos
213         * System.Data.OleDb/libgda.cs: Style changes, added new methods
214
215 2002-07-09  Tim Coleman <tim@timcoleman.com>
216         
217         * System.Data.build: remove restriction on System.Data.OleDb build
218
219 2002-06-03  Rodrigo Moya <rodrigo@ximian.com>
220
221         * System.Data.OleDb/OleDbParameterCollection.cs (GetEnumerator, SyncRoot,
222         IsSynchronized): implemented.
223
224 2002-06-02  Rodrigo Moya <rodrigo@ximian.com>
225
226         * System.Data.OleDb/OleDbTransaction.cs (Dispose): added missing method.
227
228         * System.Data.OleDb/OleDbCommand.cs (Clone): added missing methods.
229         (Parameters, Transaction, Connection): made these overload
230         IDbCommand's ones.
231
232         * System.Data.OleDb/OleDbParameterCollection.cs (IndexOf, Remove, RemoveAt):
233         call m_list methods, not own ones.
234
235         * System.Data.OleDb/OleDbParameter.cs: more implementation.
236         
237 2002-06-02  Rodrigo Moya <rodrigo@ximian.com>
238
239         * System.Data.OleDb/OleDbTransaction.cs (Connection, IsolationLevel, Begin,
240         Commit, Rollback): implemented.
241         (GdaConnection): added new internal property.
242
243         * System.Data.OleDb/OleDbParameter.cs:
244         * System.Data.OleDb/OleDbParameterCollection.cs: implemented some methods and
245         properties.
246
247         * System.Data.OleDb/libgda.cs: added yet more libgda API functions.
248
249 2002-06-01  Rodrigo Moya <rodrigo@ximian.com>
250
251         * System.Data.OleDb/libgda.cs: added new libgda API functions.
252
253         * System.Data.OleDb/OleDbConnection.cs (Provider): implemented.
254         (BeginTransaction): made it overload IDbConnection methods.
255         (ChangeDatabase): new stub, needs some work on libgda for being
256         implemented.
257         (Clone): new stub.
258         (Close): implemented.
259         (CreateCommand): implemented.
260         (GetOleDbSchemaTable): new stub, until I understand what to do here.
261         (Open): implemented basic stuff, which is just supporting connection
262         strings that represent a GDA data source name. More to come.
263         (InfoMessage, StateChange): added events.
264
265         * System.Data.OleDb/TestOleDb.cs: test program for System.Data.OleDb.
266
267 2002-05-29  Rodrigo Moya <rodrigo@ximian.com>
268
269         * System.Data.OleDb/libgda.cs: added static constructor.
270         (GdaClient): new static property to get the underlying GdaClient
271         object.
272
273         * System.Data.OleDb/OleDbConnection.cs: removed GDA initialization, which belongs to
274         the static 'libgda' class.
275
276 2002-05-29  Rodrigo Moya <rodrigo@ximian.com>
277
278         * System.Data.OleDb/libgda.cs: static class for libgda API calls.
279
280         * System.Data.OleDb/OleDbConnection.cs: implemented constructors.
281         (ConnectionString, Connectiontimeout, Database, State):
282         implemented class properties.
283         (BeginTransaction): implemented.
284
285         * System.Data.OleDb/OleDbTransaction.cs: implemented protected constructors.
286
287         * System.Data.OleDb/TestGDA.cs: simple test for libgda API.
288
289 2002-05-27  Rodrigo Moya <rodrigo@ximian.com>
290
291         * System.Data.OleDb/*: started System.Data.OleDb provider, based on libgda.
292
293 2002-06-06  Rodrigo Moya <rodrigo@ximian.com>
294
295         * list: added missing PostgresTypes.cs file.
296
297 2002-06-02  Francisco Jr. <fxjrlists@yahoo.com.br>
298
299         * System.Data.SqlClient/SqlParameterCollection.cs: implemented missing
300         methods.
301
302 2002-05-30  Daniel Morgan <danmorg@sc.rr.com>
303
304         * System.Data.SqlClient/SqlConnection.cs: modifed -
305         start to implement the interfaces properly and
306         properly doing a Close(), Dispose(), and 
307         releasing resources
308         
309         * Test/SqlSharpCli.cs: modified -
310         add support for MySQL in Mono.Data.MySql
311         and OleDb support in System.Data.OleDb.  However,
312         the OleDb support is commented right now.
313         When the program starts up, a shorter help menu should
314         display the most important commands: help and quit
315
316 2002-05-28  Rodrigo Moya <rodrigo@ximian.com>
317
318         * System.Data.build: exclude System.Data.OleDb files.
319
320 2002-05-27  Daniel Morgan <danmorg@sc.rr.com>
321
322         * System.Data.SqlClient/SqlCommand.cs: typo
323         should be CommandBehavior.KeyInfo
324         
325         * Test/SqlSharpCli.cs: refactored and added a few more
326         features.
327
328 2002-05-27  Tim Coleman <tim@timcoleman.com>
329         * list: update to compile properly (add missing
330         files and switch path delimiter from '\' to '/').
331
332 2002-05-26  Daniel Morgan <danmorg@sc.rr.com>
333
334         * System.Data/DataRow.cs
335         * System.Data.Common/DbDataAdapter.cs: fix to
336         get Test/TestSqlDataAdapter.cs to work again
337         
338         * Test/TestSqlDataAdapter.cs: removed comment
339         about SqlDataReader:NextResult() not being implemented; it
340         bas been implemented
341
342 2002-05-26  Daniel Morgan <danmorg@sc.rr.com>
343
344         * System.Data/DataRow.cs: modified
345         support setting of DBNull.Value
346         using the Item indexer this[DataColumn]
347         
348         * System.Data.SqlClient/SqlCommand.cs: modified
349         tweaks to show TODO's for other CommandBehavior.
350         Set AllowDBNull column to true for IsKey row 
351         in schema DataTable.
352         
353         * System.Data.SqlClient/SqlConnection.cs: modified
354         if transaction is in progress when a Close() is called,
355         do a transaction Rollback.
356
357 2002-05-26  Daniel Morgan <danmorg@sc.rr.com>
358
359         * Test/SqlSharpCli.cs: added file
360         My new toy.  SQL# is a command-line tool to enter
361         SQL     commands and queries using Mono System.Data.
362         It also serves as a test for Mono System.Data.
363         
364         * System.Data.SqlClient/SqlCommand.cs: modified
365         - ExecuteNonQuery(), ExecuteScalar(), and ExecuteReader()
366         should handle the results from SQL Commands and Queries.
367         - Internal class SqlResult should not create schema Table
368         for the result from a SQL Command.  Also, set the RecordsRetrieved
369         property for SqlDataReader.
370         - Closing the SqlDataReader should Close() the SqlConnection for
371         a CommandBehavior.CloseConnection.
372         - Set defaults for SqlResult
373         
374         * System.Data.SqlClient/SqlConnection.cs: modified - 
375         when SqlDataReader is Close()
376         should Close() the SqlConnection for
377         a CommandBehavior.CloseConnection.  Changed internal Property
378         from OpenReader get/set to IsReaderOpen get and created
379         internal methods OpenReader()/CloseReader() for SqlCommand to call.
380         SqlConnection needs to be prevented from doing while SqlDataReader
381         is being used.
382         
383         * System.Data.SqlClient/SqlDataReader.cs: modified -
384         call SqlCommand's OpenReader() internal method.  get
385         RecordsRetrieved from SqlResult.  set/reset default
386         values for SqlDataReader.
387         
388         * Test/PostgresTest.cs
389         * Test/TestExecuteScalar.cs
390         * Test/TestSqlDataReader.cs: modified
391         for the Execute...() methods in SqlCommand
392         to test SQL Queries and Commands
393         
394         * Test/System.Data_test.build: modified
395         exclude new file Test/SqlSharpCli.cs from 
396         test build
397         
398 2002-05-24  Tim Coleman <tim@timcoleman.com>
399         * System.Data.Common/DbDataAdapter.cs: remove IDbCommands, except
400         for get accessors.  These should be implemented in derived classes.  See
401         SqlDataAdapter for clues.
402         * System.Data.SqlClient/SqlDataAdapter.cs: implement IDbDataAdapter
403         * System.Data.Common/DataAdapter.cs:
404         * System.Data.Common/DataTableMappingCollection.cs:
405         * System.Data.Common/DataTableMapping.cs:
406         * System.Data.Common/DataColumnMappingCollection.cs:
407         * System.Data.Common/DataColumnMapping.cs:
408         Properly (I hope!) implement all of the appropriate interfaces
409         for these classes.  
410
411
412 2002-05-23  Tim Coleman <tim@timcoleman.com>
413         * System.Data.SqlClient/SqlCommand.cs: include
414         the BaseColumnName in the schema table.  Was missed before.
415         * System.Data.Common/DbDataAdapter.cs: Use DataTable
416         mappings so that the DataSet and DataTable are more closely tied.
417         Get schema information from the DataTable using GetSchemaTable ()
418         Various other little fixes
419         * System.Data.Common/DataColumnMappingCollection.cs:
420         * System.Data.Common/DataTableMapping.cs:
421         * System.Data.Common/DataTableMappingCollection.cs: Some
422         implementation, enough to be used by DbDataAdapter.
423
424 2002-05-23  Daniel Morgan <danmorg@sc.rr.com>
425
426         * System.Data.SqlClient/SqlCommand.cs: set
427         the "ProviderType" to the PostgreSQL type oid
428         
429         * System.Data.SqlClient/SqlDataReader.cs: fix
430         for various properties and methods that 
431         return meta data: Item indexers this[name] and this[index],
432         GetFieldType, GetName, and GetOrdinal.  SqlDataAdapter
433         should work again.
434
435 2002-05-22  Daniel Morgan <danmorg@sc.rr.com>
436
437         * System.Data/DataRow.cs: change suggested
438         by tim: in Item indexer, do an EndEdit()
439         
440         * System.Data.SqlClient/SqlCommand.cs: more
441         fixes to SqlResult.  After setting each item in
442         the DataRow, do an AcceptChanges() to commit
443         the changes in the DataRow.  For DataType, use a Type
444         of System.String since System.Type nor System.Object
445         seems to work.
446         
447         * Test/TestSqlDataReader.cs
448         * Test/PostgresTest.cs: updated to to be on
449         the way schema table is suppose to work
450
451 2002-05-22  Daniel Morgan <danmorg@sc.rr.com>
452
453         * System.Data.SqlClient/SqlCommand.cs: more work on 
454         building the schema table
455
456 2002-05-22  Tim Coleman <tim@timcoleman.com>
457         * System.Data.SqlClient/SqlCommand.cs: preliminary work
458         on getting the schema table correctly built.
459
460 2002-05-21  Daniel Morgan <danmorg@sc.rr.com>
461
462         * System.Data.SqlClient/ParmUtil.cs: added file - to
463         provide utility for conversion of input parameters
464         
465         * System.Data.SqlClient/PostgresTypes.cs: added file - 
466         moved the PostgreHelper class to here.  May eventually
467         move the internal class PostgresTypes that's inside the 
468         SqlConnection to here as well.  
469         Handling of PostgreSQL <-> .NET types need to be though
470         out more. Also, the PostgreHelper has a method to convert
471         from .NET types to a string which can be put into used in
472         an SQL statement to execute against a PostgreSQL database.
473         This is the beginnings of parameters support.  It currently
474         only supports input parameters.  Still need to do output,
475         input/output, and return parameters.
476         
477         * Test/TestSqlParameters.cs: new test to test the input
478         parameters in System.Data.SqlClient against a 
479         PostgreSQL db.
480         
481         * System.Data.SqlClient/PostgresLibrary.cs: moved 
482         PostgresHelper class to file PostgresTypes.cs.  Also 
483         moved struct PostgresType there too.
484         
485         * System.Data.SqlClient/SqlCommand.cs: added input 
486         parameters support
487         
488         * System.Data.SqlClient/SqlParameter.cs: got 
489         SqlParameter to work
490         
491         * System.Data.SqlClient/SqlParameterCollection.cs: got 
492         SqlParameterCollection to work
493         
494         * Test/System.Data_test.build: added files to exclude 
495         from test build
496         
497         * System.Data.SqlClient/SqlConnection.cs: release resources
498         no longer used
499
500 2002-05-18  Daniel Morgan <danmorg@sc.rr.com>
501
502         * System.Xml: added directory for classes with namespace
503         System.Xml to go into the System.Data.dll assembly
504         
505         * System.Xml/XmlDataDocument: added file
506         for stubbed concrete class XmlDataDocument which 
507         inherits from XmlDocument.  Its purpose is to provide
508         a W3C XML DOM Document for relational data and interacting
509         with a DataSet
510
511 2002-05-18  Daniel Morgan <danmorg@sc.rr.com>
512
513         * System.Data.SqlClient/SqlCommand.cs: handle CommandTypes
514         Text, TableDirect, and StoredProcedure
515         
516         * Test/PostgresTest.cs: changed call to version() 
517         stored procedure to use the CommandType of StoredProcedure
518         
519         * Test/TestSqlDataReader.cs: test all the CommandTypes
520
521 2002-05-18  Daniel Morgan <danmorg@sc.rr.com>
522
523         * System.Data.build: took out all excluded
524         files except the ones in the Test directory
525         because all files compile now.  It does not
526         mean they all work or have implementations
527         though.
528         
529         * System.Data/DataRelationCollection.cs
530         * System.Data/DataTableRelationCollection.cs
531         * System.Data/InternalDataCollectionBase.cs
532         * System.Data.Common/DbDataPermission.cs
533         * System.Data.SqlClient/SqlInfoMessageEventArgs.cs
534         * System.Data.SqlClient/SqlClientPermission.cs
535         * System.Data.SqlClient/SqlClientPermissionAttribute.cs: changes
536         to get all System.Data* files to compile.
537         
538         * System.Data.SqlClient/SqlCommand.cs: started coding
539         to prevent SqlConnection and SqlCommand from doing
540         anyting while fetching data using SqlDataReader.  Also,
541         started coding to undo this prevention once the 
542         SqlDataReader is closed.
543         
544         * System.Data.SqlClient/SqlConnection.cs: get database server
545         version.  Started coding to prevent connection from 
546         doing anything while fetching data and undo once the reader 
547         is closed.  Include events SqlInfoMessage and StateChange.
548         
549         * System.Data.SqlClient/SqlDataReader.cs: start coding to
550         prevent connection and command from doing anything while
551         fetching data, and undo when closed.
552         
553         * Test/PostgresTest.cs: added test to get ServerVersion
554         property from SqlConnection
555
556 2002-05-18  Tim Coleman <tim@timcoleman.com>
557         * System.Data/DataRow.cs: More implementation,
558         as well as boundary checks and small semantic
559         repairs
560
561 2002-05-18  Tim Coleman <tim@timcoleman.com>
562         * System.Data/DataRow.cs: Try to reduce memory
563         usage by only creating the original and proposed
564         arrays as required in BeginEdit, and then destroying
565         proposed during EndEdit, and original during AcceptChanges.
566         * System.Data.Common/DbDataAdapter.cs: Make the
567         startRecord and maxRecords parameters work correctly.
568
569 2002-05-18  Tim Coleman <tim@timcoleman.com>
570         * System.Data/DataRow.cs: Move the null check in
571         ItemArray set to above the Invalid Cast check, so
572         that we don't get null reference exceptions.
573
574 2002-05-17  Daniel Morgan <danmorg@sc.rr.com>
575
576         * System.Data.SqlClient/PostgresLibrary.cs: handle
577         data value from database being NULL
578         
579         * System.Data.SqlClient/SqlCommand.cs: for ExecuteReader, 
580         allow multiple result sets.  Added new internal class
581         SqlResult to pass result set data from SqlCommand
582         to SqlDataReader.
583         
584         * System.Data.SqlClient/SqlDataReader.cs: allow
585         multiple result sets.
586         
587         * System.Data.SqlClient/SqlConnection.cs: moved 
588         things around.  Implement IDisposable.
589         
590         * Test/TestSqlDataReader.cs: test for execution
591         of multiple result sets and display the results
592         of these multiple results sets
593         
594         * Test/TestSqlDataAdapter.cs: tweaks
595
596 2002-05-17  Tim Coleman <tim@timcoleman.com>
597         * System.Data.Common/DbDataAdapter.cs:
598                 - More implementation of Fill methods
599                 - Get rid of isDirty flag, because we can just check
600                         if the table exists
601                 - Do *not* remove DataTables before Filling them
602                 - Implicitly open the connection before doing a Fill
603                         if it does not exist.
604         * System.Data.SqlClient/SqlDataAdapter.cs:
605                 - Minor fixup
606         * System.Data/DataTableCollection.cs:
607                 - Add DataSet to internal, undocumented constructor
608                 - When a table is created, set its DataSet property
609                 - Default table name for creation is "Table1" (see .NET)
610                 - Inherit the ArrayList list from InternalDataCollecitonBase
611                         and maintain a hashtable between table names and
612                         DataTables
613         * System.Data/DataTable.cs:
614                 - Add internal dataSet field.  This is used by 
615                         DataTableCollection when the DataTable is constructed.
616         * System.Data/DataSet.cs:
617                 - Pass a reference to the DataSet when constructing the
618                         DataTableCollection.
619
620 2002-05-16  Tim Coleman <tim@timcoleman.com>
621         * System.Data.Common/DbDataAdapter.cs:
622                 Use table.Rows.Add (itemArray) instead of
623                 table.Rows.Add (thisRow) to provide better
624                 abstraction.
625         * System.Data/DataRowCollection.cs:
626                 Some implementation of this class.
627         * System.Data/InternalDataCollectionBase.cs:
628                 Some implementation.  Most notably, this now
629                 has an enumerator so we can use foreach (DataRow row in table.Rows)
630                 in the test classes.
631         * System.Data/DataTable.cs:
632                 Since DataRowCollection now accepts a DataTable in
633                 its internal constructor, we must pass one in.
634
635 2002-05-16  Daniel Morgan <danmorg@sc.rr.com>
636
637         * Test/TestSqlDataAdapter.cs: added new test 
638         for SqlDataAdapter, DataSet, DataTableCollection, DataTable, 
639         DataRowCollection, and DataRow.  It tests retrieving data
640         based on a SQL SELECT query.  This test is based on Tim Coleman's
641         test he sent to me.
642
643 2002-05-16  Tim Coleman <tim@timcoleman.com>
644         * System.Data.Common/DbDataAdapter.cs:
645                 Use table.Rows.Add (thisRow) instead of 
646                 table.ImportRow (thisRow)
647         * System.Data/DataRowCollection.cs:
648                 Construct the ArrayList before using it
649
650 2002-05-16  Tim Coleman <tim@timcoleman.com>
651         * System.Data/DataTable.cs:
652                 Construct the DataRowCollection in the DataTable
653                 constructor.  Otherwise, it's a null reference.
654
655 2002-05-16  Tim Coleman <tim@timcoleman.com>
656         * System.Data.SqlClient/SqlDataReader.cs:
657                 Modify GetValues to use Array.Copy() to copy
658                 the results from fields to values, rather than
659                 an assignment, which results in loss of data.
660
661 2002-05-16  Tim Coleman <tim@timcoleman.com>
662         * System.Data/DataRow.cs:
663                 More implementation and documentation.  It should
664                 work more like expected, although there is no way
665                 to demonstrate this well yet.  DataTable requires
666                 more work.
667
668 2002-05-15  Tim Coleman <tim@timcoleman.com>
669         * System.Data/DataRow.cs:
670                         Minor tweaks as I determine exactly how to
671                                         implement this class.
672
673
674 2002-05-14  Duncan Mak  <duncan@ximian.com>
675
676         * System.Data/DataTable.cs (NewRow): Added missing paren to fix build.
677
678 2002-05-14  Tim Coleman
679         * System.Data/DataRow.cs:
680         * System.Data/DataRowBuilder.cs:
681         * System.Data/DataTable.cs:
682                 More implementation of these classes.  DataRow
683                 can now (possibly) do some useful things.
684                 Still not sure what DataRowBuilder is all about,
685                 other than passing a DataTable in.
686
687 2002-05-14  Tim Coleman
688         * System.Data/DataRowBuilder.cs:
689                 Add stubb for this internal class.
690
691 2002-05-13  Tim Coleman
692         * System.Data.Common/DbDataAdapter.cs:
693                 The maxRecords check was not correct.
694
695 2002-05-13  Tim Coleman
696         * System.Data/DataTableCollection.cs:
697                 Fix an issue when adding a DataTable and size == 0.
698                 Now explicitly checks if size > 0 before doing Array.Copy ()
699         * System.Data.Common/DbDataAdapter.cs:
700                 Move closer to a working implementation.
701                 Make the IDbCommand fields protected so that they can
702                 be inherited.
703         * System.Data.SqlClient/SqlDataAdapter.cs:
704                 This should inherit the IDbCommands instead of having its
705                 own.  An explicit cast is used to force conversion between
706                 IDbCommand and SqlCommand
707
708 2002-05-13  Tim Coleman
709         * System.Data.Common/DataTableMappingCollection.cs:
710                 Some implementation to allow progress with DbDataAdapter
711
712 2002-05-13  Tim Coleman
713         * System.Data.Common/DbDataAdapter.cs:
714                 Modify to not break compile.
715
716 2002-05-13  Tim Coleman
717         * System.Data.build:
718                 include SqlDataAdapter, SqlRowUpdatedEventArgs,
719                 SqlRowUpdatingEventArgs, SqlRowUpdatedEventHandler,
720                 SqlRowUpdatingEventHandler in the build.
721
722 2002-05-13  Tim Coleman
723         * System.Data.Common/DbDataAdapter.cs:
724                 More implementation.
725         * System.Data.Common/DataAdapter.cs:
726                 Correction of some of the stubbing, as well as a
727                 little bit more implementation
728
729 2002-05-11  Tim Coleman
730         * System.Data.SqlClient/SqlDataAdapter.cs:
731         * System.Data.Common/DbDataAdapter.cs:
732                 Moved methods that weren't supposed to 
733                 be in SqlDataAdapter out.  They should be implemented
734                 in DbDataAdapter.
735         
736
737 2002-05-11  Tim Coleman
738         * System.Data.SqlClient/SqlDataAdapter.cs:
739                 some implementation of this class.  Note
740                 that none of the functionality has been
741                 tested yet, but I felt it should be checked
742                 in at this point as it compiles.
743         * System.Data.SqlClient/SqlRowUpdatingEventArgs.cs:
744         * System.Data.SqlClient/SqlRowUpdatedEventArgs.cs:
745                 Modified so that they will compile properly.
746                 Needed to include SqlDataAdapter in the build.
747
748 2002-05-11  Rodrigo Moya <rodrigo@ximian.com>
749
750         * System.Data/DataTable.cs (Clear): implemented.
751         (DataTable): removed repeated code in constructors, and call the
752         basic constructor from the others.
753
754         * System.Data/DataColumn.cs: some tweaks.
755
756         * System.Data/DataRow.cs (RowState): implemented.
757         (CancelEdit): set rowState property back to Unchanged.
758         (RejectChanges): call CancelEdit.
759         (Delete): set rowState to Deleted.
760
761 2002-05-11  Daniel Morgan <danmorg@sc.rr.com>
762
763         * System.Data.build: added copy of System.Data.dll to Test directory
764         for easy testing.  Also, added clean for it too.
765         
766         * System.Data.SqlClient/PostgresLibrary.cs: changed setting of boolean
767         from PostgreSQL data type to .NET type.
768         
769         * System.Data.SqlClient/SqlDataReader.cs: beginnings
770         handling of a NULL value from the database
771         
772         * Test/PostgresTest.cs: added tests for NULL values retrieved
773         from the database
774         
775         * Test/ReadPostgresData.cs
776         * Test/TestExecuteScalar.cs
777         * Test/TestSqlDataReader.cs
778         * Test/TestSqlException.cs
779         * Test/TestSqlIsolationLevel.cs: updated tests to use databas user
780         "postgres".  These tests may eventually be removed since they
781         are not flexible.
782
783 2002-05-10  Rodrigo Moya <rodrigo@ximian.com>
784
785         * System.Data.build: removed reference to non-existant
786         TestDataColumn.cs file.
787
788         * System.Data/DataSet.cs: added some implementation.
789
790 2002-05-09  Daniel Morgan <danmorg@sc.rr.com>
791
792         * System.Data.SqlClient/PostgresLibrary.cs: got
793         PostgreSQL data types time, date, timestamp (DateTime like)
794         mapped to .NET System.DateTime working based 
795         on ISO DateTime formatting "YYYY-MM-DD hh:mi:ss.ms"
796         Also mapped pg type boolean to .net Boolean
797         
798         * SqlClient/SqlConnection.cs: run SQL command to set
799         Date style to ISO
800         
801         * Test/PostgresTest.cs: added test for an UPDATE SQL command,
802         added tests for aggregates min(), max(), sum(), count().  could
803         not get avg() to work due to some formatting error; someone claimed
804         that it was my locale settings.  added tests for SELECT of columns
805         of type boolean, float, double, date, time, and timestamp.  They
806         have not been fully tested, but its a start.
807
808 2002-05-09  Tim Coleman <tim@timcoleman.com>
809         * System.Data.SqlTypes/SqlDecimal.cs: Implementations of 
810         addition, subtraction, and multiplication for the
811         SqlDecimal type, as well as modification of some other
812         operations.  More to come on this one.
813
814 2002-05-08  Rodrigo Moya <rodrigo@ximian.com>
815
816         * Test/System.Data_test.build: excluded TestDataColumn, which
817         should be replaced with a nunit test.
818
819         * Test/TestDataColumn.cs: added basic test for DataColumn.cs.
820
821 2002-05-07  Tim Coleman <tim@timcoleman.com>
822         * SqlBinary.cs:
823         * SqlBoolean.cs:
824         * SqlByte.cs:
825         * SqlDateTime.cs:
826         * SqlDecimal.cs:
827         * SqlDouble.cs:
828         * SqlGuid.cs:
829         * SqlInt16.cs:
830         * SqlInt32.cs:
831         * SqlInt64.cs:
832         * SqlMoney.cs:
833         * SqlSingle.cs:
834         * SqlString.cs:
835                 Fix the broken build I made before.  Bad
836                 me.
837
838 2002-05-07  Tim Coleman <tim@timcoleman.com>
839         * SqlString.cs:
840                 Fix a symantic error I made in SqlString
841                 Equals where I copied and pasted wrongly
842
843 2002-05-07  Tim Coleman <tim@timcoleman.com>
844         * INullable.cs:
845         * SqlBinary.cs:
846         * SqlBoolean.cs:
847         * SqlByte.cs:
848         * SqlCompareOptions.cs:
849         * SqlDateTime.cs:
850         * SqlDecimal.cs:
851         * SqlDouble.cs:
852         * SqlGuid.cs:
853         * SqlInt16.cs:
854         * SqlInt32.cs:
855         * SqlInt64.cs:
856         * SqlMoney.cs:
857         * SqlSingle.cs:
858         * SqlString.cs:
859                 Implement CompareTo, Equals, and String conversions 
860                 for many types
861
862 2002-05-05  Daniel Morgan <danmorg@sc.rr.com>
863
864         * Test/PostgresTest.cs: modified to run completely.  There
865         are many TODOs in System.Data, so not all data types are
866         included in the SELECT SQL query.  Also, I made it to where
867         it would connect 
868         using "host=localhost;dbname=test;user=postgres"
869         instead of my userid and password.  When more types are included,
870         update this test.
871
872 2002-05-05  Daniel Morgan <danmorg@sc.rr.com>
873
874         * Test/PostgresTest.cs: added - ported
875         libgda postgres-test.c originally by 
876         Gonzalo Paniagua Javier <gonzalo@gnome-db.org>
877         to C#.
878
879 2002-05-05  Tim Coleman <tim@timcoleman.com>
880         * System.Data.SqlTypes/SqlBinary.cs:
881         * System.Data.SqlTypes/SqlBoolean.cs:
882         * System.Data.SqlTypes/SqlByte.cs:
883         * System.Data.SqlTypes/SqlDateTime.cs:
884         * System.Data.SqlTypes/SqlDecimal.cs:
885         * System.Data.SqlTypes/SqlDouble.cs:
886         * System.Data.SqlTypes/SqlGuid.cs:
887         * System.Data.SqlTypes/SqlInt16.cs:
888         * System.Data.SqlTypes/SqlInt32.cs:
889         * System.Data.SqlTypes/SqlInt64.cs:
890         * System.Data.SqlTypes/SqlMoney.cs:
891         * System.Data.SqlTypes/SqlSingle.cs:
892         * System.Data.SqlTypes/SqlString.cs:
893                 More implementation, and code clean-up for consistency.
894                 Also, I had implemented many conversions as explicit
895                 that should have been implicit.  This should remove
896                 many of the red X's and green pluses from the 
897                 System.Data.SqlTypes namespace.
898
899 2002-05-05  Miguel de Icaza  <miguel@ximian.com>
900
901         * System.Data/DataSet.cs: Remove [Serializable] attributes from
902         methods, those only apply to structs or classes.
903
904         Stub out ISerializable, ISupportInitialize, and IListSource methods 
905         
906         * System.Data/DataRowView.cs: Stub out interface methods for
907         IEditableObject, ICustomTypeDescriptor and IDataErrorInfo
908
909         * System.Data/DataView.cs: Comment out non-implemented
910         interfaces. 
911
912         * System.Data/DataViewSettingsCollection.cs: Type cast variables
913         to the correct type to make it compile.
914
915         * System.Data/DataViewSettings.cs: remove reference to
916         non-existance type ApplyDefaultSort, it is a boolean.
917         
918
919 2002-05-05  Tim Coleman <tim@timcoleman.com>
920         * System.Data.SqlTypes/SqlBinary.cs:
921         * System.Data.SqlTypes/SqlBoolean.cs:
922         * System.Data.SqlTypes/SqlByte.cs:
923         * System.Data.SqlTypes/SqlDecimal.cs:
924         * System.Data.SqlTypes/SqlDouble.cs:
925         * System.Data.SqlTypes/SqlGuid.cs:
926         * System.Data.SqlTypes/SqlInt16.cs:
927         * System.Data.SqlTypes/SqlInt32.cs:
928         * System.Data.SqlTypes/SqlInt64.cs:
929         * System.Data.SqlTypes/SqlMoney.cs:
930         * System.Data.SqlTypes/SqlSingle.cs:
931         * System.Data.SqlTypes/SqlString.cs:
932                 Various fixes, including adding the SqlNullValueException
933                 when trying to retrieve the value of a null SqlType,
934                 and when casting values, a Null of type A converts to a
935                 Null of type B.
936
937 2002-05-04  Daniel Morgan <danmorg@sc.rr.com>
938         
939         * System.Data.SqlClient/PostgresLibrary.cs
940         * System.Data.SqlClient/SqlCommand.cs
941         * System.Data.SqlClient/SqlConnection.cs
942         * System.Data.SqlClient/SqlDataReader.cs
943         oid should not be hard coded because they
944         can change from one version of PostgreSQL
945         to the next.  Use the typname's instead.
946         The PostgreSQL type data retrieves
947         at database connection time.  Any unimplemented
948         types just default to string.  These were things
949         suggested by Gonzalo.
950         
951         * Test/ReadPostgresData.cs - stuff
952         * Test/TestSqlDataReader.cs - stuff
953         
954         * System.Data.SqlTypes/SqlInt32.cs - added a using
955
956 2002-05-03  Tim Coleman <tim@timcoleman.com>
957         * System.Data.build: Fix the build so that test depends on build
958
959 2002-05-03  Tim Coleman <tim@timcoleman.com>
960         * System.Data.SqlTypes/SqlByte.cs:
961         * System.Data.SqlTypes/SqlDateTime.cs:
962         * System.Data.SqlTypes/SqlDecimal.cs:
963         * System.Data.SqlTypes/SqlDouble.cs:
964         * System.Data.SqlTypes/SqlGuid.cs:
965         * System.Data.SqlTypes/SqlInt16.cs:
966         * System.Data.SqlTypes/SqlInt64.cs:
967         * System.Data.SqlTypes/SqlMoney.cs:
968         * System.Data.SqlTypes/SqlSingle.cs:
969                 These files were mysteriously excluded from the last
970                 patch I made and sent to Rodrigo
971         * System.Data.build: include the System.Data.SqlTypes in the build
972
973 2002-05-03  Daniel Morgan <danmorg@sc.rr.com>
974
975         * System.Data.build: removed comments
976
977         * System.Data.SqlClient/PostgresLibrary.cs: changed
978         the hard-coded PostgreSQL oid type int's to using an
979         enum.  Also, added PostgreSQL bpchar (character) type.
980         
981         * Test/TestSqlDataReader.cs: updated test
982         to include new bpchar PostgreSQL type
983
984 2002-05-03  Rodrigo Moya <rodrigo@ximian.com>
985
986         * System.Data.SqlTypes/SqlBinary.cs:
987         * System.Data.SqlTypes/SqlBoolean.cs:
988         * System.Data.SqlTypes/SqlInt32.cs:
989         * System.Data.SqlTypes/SqlString.cs: more implementation, by
990         Tim Coleman <tcoleman@opentext.com>.
991
992 2002-05-03  Daniel Morgan <danmorg@sc.rr.com>
993
994         * Test/TestExecuteScalar.cs: added test for 
995         method ExecuteScalar in class SqlCommand.
996         
997         * System.Data/DataColumnCollection.cs - it should
998         inherit properties from base InternalDataCollectionBase
999         and use them instead of overriding them, such as, List.
1000         
1001         * System.Data/DataColumn.cs
1002         * System.Data/DataTable.cs: tweaks to retrieve
1003         meta data from the database
1004         
1005         * System.Data.SqlClient/PostgresLibrary.cs -
1006         added method OidToType to convert PostgreSQL oid type 
1007         to System.Type.  Renamed method OidTypeToSystem
1008         to ConvertPgTypeToSystem for converting the data value
1009         from a PostgreSQL type to a .NET System type.
1010         
1011         * System.Data.SqlClient/SqlCommand.cs: implemented
1012         method ExecuteReader which returns a SqlDataReader
1013         for a light forward only read only result set. 
1014         It works on types int4 ==> Int32 and 
1015         varchar ==> String.  Other types
1016         will come later.
1017         
1018         * System.Data.SqlClient/SqlConnection.cs: added comment
1019         
1020         * System.Data.SqlClient/SqlDataReader.cs: implemented
1021         class.  It works, but still lots to do.
1022         
1023         * Test/ReadPostgresData.cs: stuff
1024         
1025         * Test/TestSqlDataReader.cs: updated test for SqlDataReader
1026         to display meta data and the data
1027         
1028 2002-05-03  Duncan Mak  <duncan@ximian.com>
1029
1030         * TODO: Took out all the Exceptions. They should be all done now.
1031
1032         * System.Data/ConstraintException.cs: 
1033         * System.Data/DBConcurrencyException.cs:
1034         * System.Data/DataException.cs: 
1035         * System.Data/DeletedRowInaccessibleException.cs: 
1036         * System.Data/DuplicateNameException.cs:
1037         * System.Data/EvaluateException.cs: 
1038         * System.Data/InRowChangingEventException.cs: 
1039         * System.Data/InvalidConstraintException.cs: 
1040         * System.Data/InvalidExpressionException.cs: 
1041         * System.Data/MissingPrimaryKeyException.cs:
1042         * System.Data/NoNullAllowedException.cs: 
1043         * System.Data/ReadOnlyException.cs: 
1044         * System.Data/RowNotInTableException.cs: 
1045         * System.Data/StrongTypingException.cs:
1046         * System.Data/SyntaxErrorException.cs: 
1047         * System.Data/TypeDataSetGeneratorException.cs: 
1048         * System.Data/VersionNotFoundException.cs: Added to CVS.
1049
1050         * System.Data.SqlTypes/SqlNullValueException.cs: 
1051         * System.Data.SqlTypes/SqlTruncateException.cs: 
1052         * System.Data.SqlTypes/SqlTypeException.cs: Added to CVS.
1053
1054 2002-05-02  Rodrigo Moya <rodrigo@ximian.com>
1055
1056         * System.Data/DataViewSettingCollection.cs: implemented.
1057
1058         * System.Data/DataRowView.cs: new stubs.
1059
1060         * System.Data.SqlTypes/SqlByte.cs:
1061         * System.Data.SqlTypes/SqlDateTime.cs:
1062         * System.Data.SqlTypes/SqlDecimal.cs:
1063         * System.Data.SqlTypes/SqlDouble.cs:
1064         * System.Data.SqlTypes/SqlGuid.cs:
1065         * System.Data.SqlTypes/SqlInt16.cs:
1066         * System.Data.SqlTypes/SqlInt64.cs:
1067         * System.Data.SqlTypes/SqlMoney.cs:
1068         * System.Data.SqlTypes/SqlSingle.cs: new stubs, contributed
1069         by Tim Coleman <tcoleman@opentext.com>
1070
1071         * System.Data.build: excluded newly-added files.
1072
1073 2002-05-02  Daniel Morgan <danmorg@sc.rr.com>
1074
1075         * System.Data.SqlClient/PostgresLibrary.cs: included new 
1076         internal class that will be a helper class in using
1077         PostgreSQL.  PostgresLibrary is used for the 
1078         pinvoke methods to the PostgreSQL Client
1079         native C library libpq while the class PostgresHelper 
1080         is used for     wrapper or helper methods.  It currently only
1081         has one static method OidTypeToSystem in converting
1082         PostgreSQL types to .NET System.<type>s, such as,
1083         a PostgreSQL int8 becomes a .NET System.Int64.
1084         Only a few types have been added, such as, int2,
1085         int4, int8, varchar, text, bool, and char.  Other types
1086         will come later.
1087         
1088         * System.Data.SqlClient/SqlCommand.cs: implemented
1089         method ExecuteScalar which allows us to do aggregate
1090         functions, such as, count, avg, min, max, and sum.  We
1091         also are able to retrieve the result, convert it to the .NET type
1092         as an object.  The user of the returned object must explicitly cast.
1093         
1094         * Test/ReadPostgresData.cs: updated sample
1095         to help us learn to retrieve data in System.Data.SqlClient
1096         classes
1097
1098 2002-05-01  Daniel Morgan <danmorg@sc.rr.com>
1099
1100         * System.Data.build: added /nowarn: nnnn arguments 
1101         so you will not get a ton of warnings.  The warnings
1102         being excluded are: 1595, 0067, 0109, 0169, and 0649
1103
1104 2002-05-01  Daniel Morgan <danmorg@sc.rr.com>
1105
1106         * System.Data.build: modified to exclude more 
1107         files from the build
1108
1109 2002-05-01  Rodrigo Moya <rodrigo@ximian.com>
1110
1111         * System.Data.SqlClient/SqlClientPermission.cs: added missing
1112         'using's.
1113
1114         * System.Data/MergeFailedEventArgs.cs: new class, contributed
1115         by John Dugaw <jdugaw@unizenconsulting.com>.
1116
1117         * System.Data.build: excluded new files from build.
1118
1119 2002-04-29  Daniel Morgan <danmorg@sc.rr.com>
1120
1121         * Test/ReadPostgresData.cs: added - Uses the 
1122         PostgresLibrary to retrieve a recordset.
1123         This is not meant to be used in Production, but as a
1124         learning aid in coding 
1125         class System.Data.SqlClient.SqlDataReader.
1126         This sample does work.
1127         
1128         * Test/TestSqlDataReader.cs: added - used
1129         to test SqlDataReader (does not work yet)
1130         Forgot to add to ChangeLog on last commit.
1131
1132 2002-04-28  Rodrigo Moya <rodrigo@ximian.com>
1133
1134         * System.Data/DataViewSetting.cs: new class.
1135         
1136 2002-04-28  Rodrigo Moya <rodrigo@ximian.com>
1137
1138         * System.Data/DataViewManager.cs: new class.
1139         
1140         * System.Data.SqlTypes/INullable.cs: properties for interfaces
1141         don't have implementation.
1142
1143         * System.Data.SqlTypes/SqlInt32.cs:
1144         * System.Data.SqlTypes/SqlString.cs:
1145         * System.Data.SqlTypes/SqlBoolean.cs: removed destructor, since
1146         these are strctures.
1147
1148         * System.Data.SqlClient/SqlClientPermissionAttribute.cs: added
1149         missing 'using's.
1150         
1151 2002-04-28  Rodrigo Moya <rodrigo@ximian.com>
1152         
1153         * System.Data/DataTableRelationCollection.cs: use 'new' keyword
1154         for correctly hiding parent class' members.
1155         (AddRange): use 'override' keyword on overriden method.
1156         (Clear): likewise.
1157         (Contains): likewise.
1158         (IndexOf): likewise.
1159         (OnCollectionChanged): likewise.
1160         (OnCollectionChanging): likewise.
1161         (RemoveCore): likewise.
1162
1163         * System.Data/DataColumnCollection.cs: use 'new' keyword.
1164
1165         * System.Data/DataSet.cs: added missing 'using's.
1166         
1167 2002-04-28  Rodrigo Moya <rodrigo@ximian.com>
1168
1169         * System.Data/DataSet.cs:
1170         * System.Data/DataTableCollection.cs:
1171         * System.Data/DataView.cs: compilation fixes on Linux.
1172
1173 2002-04-28  Daniel Morgan <danmorg@sc.rr.com>
1174
1175         * System.Data/DataRelation.cs
1176         * System.Data/ForeignKeyConstraint.cs
1177         * System.Data/UniqueConstraint.cs: added more stubs
1178         
1179         * System.Data/DataTableRelationCollection.cs: added back to cvs
1180         and modified for compile errors.  DataRelationCollection is an
1181         abstract class and there must be a class that implements for
1182         DataTable/DataSet.  DataTableRelationCollection was changed
1183         to an internal class.
1184         
1185         * System.Data.build: modified - new files added
1186         also wanted to include files/classes in the build 
1187         so we can get a compilable forward read only result set.
1188         It compiles now using csc/nant with warnings, but this 
1189         is a start for adding functionality for the result set.  
1190         Classes associated with/and DataSet are still excluded.
1191         
1192         * TODO: modified - updated to do list for System.Data
1193         
1194         * System.Data/Constraint.cs
1195         * System.Data/ConstraintCollection.cs
1196         * System.Data/DataRelationCollection.cs
1197         * System.Data/DataRow.cs
1198         * System.Data/DataRowChangeEventArgs.cs
1199         * System.Data/DataRowCollection.cs
1200         * System.Data/DataTable.cs
1201         * System.Data/DataTableCollection.cs
1202         * System.Data/InternalDataCollectionBase.cs
1203         * System.Data/PropertyCollection.cs: modified -
1204         changes to compile SqlDataReader/DataTable and
1205         dependencies
1206         
1207         * System.Data/IDbCommand.cs
1208         * System.Data.SqlClient/SqlCommand.cs: modified -
1209         un-commented overloaded methods ExecuteReader 
1210         which returns a SqlDataReader
1211
1212 2002-04-28  Rodrigo Moya <rodrigo@ximian.com>
1213
1214         * System.Data/DataTableCollection.cs: more implementation.
1215         (Count): added 'override' keyword, as pointer out by Martin.
1216
1217         * System.Data.Common/DataColumnMappingCollection.cs (Add, AddRange):
1218         only call Array.Copy when there is really stuff to be copied.
1219         (CopyTo): don't create the temporary array, it's not needed.
1220
1221         * System.Data.build: excluded newly added file from build.
1222
1223 2002-04-27  Rodrigo Moya <rodrigo@ximian.com>
1224
1225         * System.Data/DataTableRelationCollection.cs: removed, it's not
1226         on MS SDK documentation.
1227
1228         * System.Data/DataTableCollection.cs: new class.
1229
1230 2002-04-27  Daniel Morgan <danmorg@sc.rr.com>
1231
1232         * System.Data/DataRowChangeEventArgs.cs
1233         * System.Data/DataRowCollection.cs
1234         * System.Data/DataView.cs
1235         * System.Data/PropertyCollection.cs: added new stubs
1236
1237         * System.Data.build: modified - added new files to exclude
1238         from build
1239         
1240         * TODO: modified - removed files from TODO list 
1241         that were stubbed above
1242         
1243         * System.Data/DataColumn.cs
1244         * System.Data/DataRow.cs: modified - various tweaks
1245         and added internal method SetTable to set the reference
1246         to a DataTable
1247         
1248         * System.Data/DataSet.cs: modified - class was not
1249         completely stubbed.
1250         
1251         * System.Data/DataTable.cs: modified - temporarily commented
1252         DataSet and DataView references - trying to compile a SqlDataReader,
1253         DataTable, and dependencies for a forward read-only result set.
1254         SqlDataAdapter, DataSet, and DataView will come later once we can get
1255         a forward read only result set working.
1256         
1257         * System.Data/IDataRecord.cs: modified - source code lines should
1258         not be > 80
1259         
1260         * System.Data/InternalDataCollectionBase.cs: modified - started 
1261         implementing this base class for collection of data rows,
1262         columns, tables, relations, and constraints
1263         
1264         * System.Data.SqlClient/SqlException.cs: modified -
1265         call base(message) so a unhandled exception displays
1266         the message of a SQL error instead of the 
1267         default SystemException message
1268         
1269         * Test/TestSqlException.cs: modified - 
1270         handle the rollback properly for a SqlException on a
1271         failure to connect
1272
1273 2002-04-23  Daniel Morgan <danmorg@sc.rr.com>
1274
1275         * System.Data.build: modified - added new
1276         files to exclude from build 
1277         
1278         * System.Data/Constraint.cs
1279         * System.Data/ConstraintCollection.cs
1280         * System.Data/InternalDataCollectionBase.cs: added -
1281         stubs which are needed to build DataTable.cs
1282         
1283         * TODO: modified - added more classes TODO and
1284         added more stuff TODO, such as, create script
1285         to create test database monotestdb for testing
1286         classes in System.Data
1287
1288 2002-04-23  Rodrigo Moya <rodrigo@ximian.com>
1289
1290         * System.Data.Common/DataAdapter.cs:
1291         * System.Data.Common/DataColumnMappingCollection.cs:
1292         * System.Data.Common/DataTableMappingCollection.cs:
1293         * System.Data.Common/DbDataPermission.cs:
1294         * System.Data.Common/DbDataPermissionAttribute.cs: some
1295         compilation errors fixed.
1296
1297 2002-04-23  Daniel Morgan <danmorg@sc.rr.com>
1298
1299         * TODO: modified - added classes TODO, and
1300         a poor attempt at System.Data plan
1301
1302 2002-04-23  Daniel Morgan <danmorg@sc.rr.com>
1303
1304         * ChangeLog: modified - put tabs where they belong
1305         
1306         * System.Data.SqlClient/SqlDataReader.cs
1307         * System.Data/DataColumn.cs: modified - compile errors
1308         trying to compile SqlDataAdapter and dependencies
1309
1310 2002-04-23  Daniel Morgan <danmorg@sc.rr.com>
1311
1312         * System.Data.SqlTypes/SqlBoolean.cs
1313         * System.Data.SqlTypes/SqlCompareOptions.cs
1314         * System.Data.SqlTypes/SqlInt32.cs
1315         * System.Data.SqlTypes/SqlString.cs: added - new stubs
1316
1317         * System.Data/DataTable.cs
1318         * System.Data.SqlClient/SqlCommand.cs
1319         * System.Data.SqlClient/SqlConnection.cs
1320         * System.Data.SqlClient/SqlError.cs
1321         * System.Data.SqlClient/SqlTransaction.cs: modified - 
1322         misc. tweaks
1323
1324         * System.Data.SqlClient/SqlException.cs: modified -
1325         missing Message on indexer for Message property
1326
1327 2002-04-21  Daniel Morgan <danmorg@sc.rr.com>
1328
1329         * System.Data.SqlClient/SqlCommand.cs: modified - to 
1330         compile using mcs.  This problem is
1331         returning a stronger type in csc vs. msc
1332
1333         * System.Data.SqlClient/SqlConnection.cs: modified - msc
1334         can not do a using PGconn = IntPtr; and then declare
1335         with PGconn pgConn = IntPtr.Zero;
1336         Thiw works under csc though.  Had to comment using and
1337         changed declaration to IntPtr pgConn = IntPtr.Zero;
1338         Also, got rid of compile warnings for hostaddr and port.
1339
1340         * System.Data.SqlClient/SqlErrorCollection.cs: modified - got
1341         rid of compile warnings.  Commented MonoTODO attribute because mcs
1342         doesn't seem to work with C# array property indexer (Item)
1343         this[int index]
1344
1345         * System.Data.SqlClient/SqlParameterCollection.cs: modified -
1346         commented MonoTODO attribute for indexer for mcs compiling
1347
1348         * Test/TestSqlIsolationLevel.cs:
1349         * Test/TestSqlInsert.cs:
1350         * Test/TestSqlException.cs: modified -
1351         removed extra ExecuteNonQuery which caused two inserted rows
1352
1353 2002-04-20  Daniel Morgan <danmorg@sc.rr.com>
1354
1355         * System.Data/StateChangeEventArgs.cs - added
1356         needed to compile System.Data.dll with mcs.  
1357
1358 2002-04-20  Daniel Morgan <danmorg@sc.rr.com>
1359
1360         * System.Data.OleDb: added directory - for OleDb database 
1361         provider classes
1362
1363         * System.Data.SqlClient/SqlClientPermission.cs
1364         * System.Data.SqlClient/SqlClientPermissionAttribute.cs
1365         * System.Data.SqlClient/SqlCommandBuilder.cs
1366         * System.Data.SqlClient/SqlInfoMessageEventHandler.cs
1367         * System.Data.SqlClient/SqlRowUpdatedEventArgs.cs
1368         * System.Data.SqlClient/SqlRowUpdatedEventHandler.cs
1369         * System.Data.SqlClient/SqlRowUpdatingEventArgs.cs
1370         * System.Data.SqlClient/SqlRowUpdatingEventHandler.cs
1371         * Test/TestSqlException.cs
1372         * Test/TestSqlIsolationLevel.cs: added - more tests
1373
1374         * System.Data.build: modified - added new files - excludes these too
1375
1376         * System.Data.SqlClient/PostgresLibrary.cs - modified - comment
1377
1378         * System.Data.SqlClient/SqlConnection.cs 
1379         * System.Data.SqlClient/SqlCommand.cs
1380         * System.Data.SqlClient/SqlTransaction.cs
1381         * System.Data.SqlClient/SqlException.cs
1382         * System.Data.SqlClient/SqlErrorCollection.cs
1383         * System.Data.SqlClient/SqlError.cs: modified - transaction and
1384         exception/error handling. SqlConnection(connectionString) 
1385         constructor should not automatically connect.
1386   
1387         * System.Data.SqlClient/SqlDataReader.cs
1388         * System.Data.SqlClient/SqlDataAdapter.cs
1389         * System.Data.SqlClient/SqlParameter.cs
1390         * System.Data.SqlClient/SqlParameterCollection.cs: modified - 
1391         added using System.ComponentModel;
1392   
1393         * Test/TestSqlInsert.cs: modified - to use transaction
1394
1395 2002-04-17  Rodrigo Moya <rodrigo@ximian.com>
1396
1397         * System.Data/DataRow.cs: new skeletons.
1398
1399         * System.Data.Common/DataAdapter.cs:
1400         * System.Data.Common/DataColumnMapping.cs:
1401         * System.Data.Common/DataColumnMappingCollection.cs:
1402         * System.Data.Common/DataTableMapping.cs:
1403         * System.Data.Common/DataTableMappingCollection.cs:
1404         * System.Data.Common/DbDataAdapter.cs:
1405         * System.Data.Common/RowUpdatedEventArgs.cs:
1406         * System.Data.SqlClient/SqlDataAdapter.cs:
1407         * System.Data.SqlClient/SqlInfoMessageEventArgs.cs: compilation
1408         fixes for Linux.
1409
1410         * System.Data.Common/DbDataRecord.cs:
1411         * System.Data.Common/DbEnumerator.cs: removed MS implementation
1412         internal classes.
1413
1414 2002-04-17  Daniel Morgan <danmorg@sc.rr.com>
1415
1416         * Test/TestSqlInsert.cs: modified - do
1417           a SQL DELETE before SQL INSERT of row so you can use this
1418           test over and over.
1419         
1420         * System.Data.SqlClient/SqlTransaction.cs: modified - default
1421           IsolationLevel for PostgreSQL is ReadCommitted.  However,
1422           PostgreSQL allows Serializable as well. 
1423       (Thanks to Gonzalo for that!)
1424         
1425         * System.Data.SqlClient/SqlConnection.cs: modified
1426         * System.Data.SqlClient/SqlCommand.cs: modified
1427         * System.Data.SqlClient/SqlTransaction.cs: modified - got transactions
1428           working; however, we still need to implement SQL errors
1429           and exceptions to properly handle transactions.  Also, added
1430           status and error message support from the PostgreSQL database.
1431           Currently, this does a Console.WriteLine() to display the
1432           status and error messages, but this is a TODO 
1433           for SQL errors and exceptions.
1434         
1435         * System.Data/TODOAttribute.cs: added - needed MonoTODO
1436       attribute for System.Data.dll assembly 
1437
1438         * System.Data/IDbCommand.cs: modified - commented
1439           overloaded method ExecuteReader 
1440           so System.Data.SqlClient.SqlCommand can compile
1441           
1442         * System.Data/IDbCommand.cs: modified
1443         * System.Data/IDbConnection.cs: modified - added using System;
1444         * System.Data/IDataParameter.cs
1445         
1446         * System.Data.build: modified - build classes
1447           in System.Data.SqlClient and exclude others in System.Data
1448         
1449         * System.Data.SqlClient/PostgresLibrary.cs: modified - change
1450           parameter data type from IntPtr to enum ExecStatusType
1451         
1452         * ChangeLog: modified - corrected previous entries in log
1453
1454 2002-04-16  Rodrigo Moya <rodrigo@ximian.com>
1455
1456         * System.Data.Common/DataColumnMappingCollection.cs: added basic
1457         implementation. Still missing some stuff.
1458
1459 2002-04-16  Daniel Morgan <danmorg@sc.rr.com>
1460
1461         * System.Data.SqlClient/SqlConnection.cs: modified - got 
1462       to compile, run, and connect to PostgreSQL database
1463       
1464         * System.Data.SqlClient/SqlCommand.cs: modified - got 
1465       to compile, run, and execute a SQL INSERT command 
1466       which successfully inserted a row 
1467       into the PostgreSQL database
1468
1469         * System.Data.SqlClient/SqlTransaction.cs: modified
1470         * System.Data.SqlClient/SqlParameter.cs: modified
1471         * System.Data.SqlClient/SqlParameterCollection.cs: modified
1472         * System.Data.SqlClient/SqlError.cs: modified
1473         * System.Data.SqlClient/SqlErrorCollection.cs: modified
1474         * System.Data.SqlClient/SqlException.cs: modified
1475         * System.Data.SqlClient/PostgresLibrary.cs: modified - to compile
1476
1477         * System.Data.SqlClient/SqlAdapter: modified
1478         * System.Data.SqlClient/SqlReader: modified - add more stubs
1479         
1480 2002-04-16  Daniel Morgan <danmorg@sc.rr.com>
1481
1482         * Test/TestSqlInsert.cs: added 
1483
1484 2002-04-15  Daniel Morgan <danmorg@sc.rr.com>
1485
1486         * System.Data.SqlClient/SqlInfoMessageEventArgs.cs: added - using in
1487           class SqlConnecition
1488         * System.Data.SqlClient/SqlErrorCollection.cs: added
1489         * System.Data.SqlClient/SqlErrors.cs: removed - no such class SqlErrors
1490
1491 2002-04-15  Christopher Podurgiel <cpodurgiel@msn.com>
1492         
1493         * System.Data.IDbDataParameter: Added Interface to IDataParameter.
1494         * System.Data.IDbTransaction: Added Interface to IDisposable.
1495         * System.Data.IDbCommand: Fixed Capitalization of class name.
1496         * System.Data.IDbConnection: Fixed Capitalization of class name.
1497
1498 2002-04-15  Rodrigo Moya <rodrigo@ximian.com>
1499
1500         * System.Data.Common/DbDataPermissionAttribute.cs:
1501         * System.Data.Common/DataAdapter.cs:
1502         * System.Data.Common/DataColumnMapping.cs:
1503         * System.Data.Common/DbDataPermission.cs: added some implementation.
1504
1505 2002-04-15  Rodrigo Moya <rodrigo@ximian.com>
1506
1507         * System.Data.SqlClient/SqlConnection.cs: fixed constructor chaining
1508         syntax, as pointed out by Levent Camlibel.
1509
1510 2002-04-14  Rodrigo Moya <rodrigo@ximian.com>
1511
1512         * System.Data.SqlTypes/SqlBinary.cs:
1513         * System.Data.SqlTypes/INullable.cs: new skeletons.
1514
1515 2002-04-14  Daniel Morgan <danmorg@sc.rr.com>
1516
1517         * System.Data.SqlClient/PostgresLibrary.cs: new internal class, which
1518         contains all calls the the PostgreSQL client library, to be used
1519         everywhere in System.Data.SqlClient.
1520
1521 2002-03-30  Rodrigo Moya <rodrigo@ximian.com>
1522
1523         * System.Data.SqlClient/SqlConnection.cs: implemented basic
1524         constructors.
1525
1526         * System.Data.SqlTypes/SqlNullValueException.cs: new skeletons.
1527
1528 2002-03-29  Rodrigo Moya <rodrigo@ximian.com>
1529
1530         * System.Data.Common/DbDataRecord.cs:
1531         * System.Data.Common/DbEnumerator.cs:
1532         * System.Data.Common/RowUpdatedEventArgs.cs:
1533         * System.Data.Common/RowUpdatingEventArgs.cs:
1534         * System.Data.Common/DbDataPermissionAttribute.cs: new skeletons.
1535
1536 2002-03-28  Rodrigo Moya <rodrigo@ximian.com>
1537
1538         * System.Data.Common/DataTableMappingCollection.cs:
1539         * System.Data.Common/DbDataAdapter.cs:
1540         * System.Data.Common/DbDataPermission.cs:
1541         * System.Data.Common/DataTableMapping.cs: new skeletons.
1542
1543         * System.Data.SqlClient/SqlDataAdapter.cs:
1544         * System.Data.SqlClient/SqlDataReader.cs:
1545         * System.Data.SqlClient/SqlErrors.cs:
1546         * System.Data.SqlClient/SqlError.cs:
1547         * System.Data.SqlClient/SqlException.cs:
1548         * System.Data.SqlClient/SqlParameter.cs:
1549         * System.Data.SqlClient/SqlParameterCollection.cs:
1550         * System.Data.SqlClient/SqlTransaction.cs:
1551         * System.Data.SqlClient/SqlCommand.cs: fixed skeletons.
1552
1553 2002-03-27  Rodrigo Moya <rodrigo@ximian.com>
1554
1555         * System.Data.Common/DataColumnMapping.cs:
1556         * System.Data.Common/DataColumnMappingCollection.cs:
1557         * System.Data.Common/DataAdapter.cs: created skeletons.
1558
1559         * System.Data.build: exclude new directories from build.
1560
1561 2002-03-27  Rodrigo Moya <rodrigo@ximian.com>
1562
1563         * System.Data.SqlClient/SqlTransaction.cs: started implementation.
1564         
1565         * System.Data.SqlClient/SqlConnection.cs (BeginTransaction):
1566         implemented (2 methods).
1567
1568 2002-03-24  Duncan Mak  <duncan@ximian.com>
1569
1570         * System.Data.build: Excluded System.Data.SqlClient from the build.
1571         The stubs are incomplete and they are stopping the build.
1572
1573         * System.Data.SqlClient/SqlCommand.cs: Replaced 'implements' with ':'.
1574
1575 2002-03-24  Rodrigo Moya <rodrigo@ximian.com>
1576
1577         * System.Data.SqlClient/*: added skeletons for the SQL managed
1578         provider for ADO.Net, to be based initially in PostgreSQL.
1579
1580 2002-03-15  Christopher Podurgiel <cpodurgiel@msn.com>
1581         
1582         Changed the Namespace on some Enums from mono.System.Data to System.Data
1583
1584 2002-03-01  Christopher Podurgiel <cpodurgiel@msn.com>
1585
1586         * DataColumnCollection.cs : When an existing DataColumn is added, will now Assign a 
1587                 default name if the ColumnName is null.
1588         * DataSet.cs : Added
1589         * DataTable.cs : Added
1590         * DataRelationCollection.cs : Added
1591         * DataTableRelationCollection.cs : Added
1592         * DataColumn : Added
1593
1594 2002-02-11  Christopher Podurgiel <cpodurgiel@msn.com>
1595
1596         * DataColumnChangeEventArgs.cs : Added
1597         * DataColumnCollection.cs : Added
1598
1599 2002-02-10  Christopher Podurgiel <cpodurgiel@msn.com>
1600         
1601         * Removed *.cs from System.Data as the correct files are in mcs/class/System.Data/System.Data
1602         * Updated all Enums, Interfaces, and Delegates in System.Data