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