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