1 2002-11-12 Tim Coleman <tim@timcoleman.com>
2 * System.Data.SqlClient/SqlRowUpdatedEventArgs.cs:
3 * System.Data.SqlClient/SqlRowUpdatingEventArgs.cs:
5 * System.Data.Common/DbDataAdapter.cs:
6 Experimental support for FillSchema ()
8 2002-11-11 Tim Coleman <tim@timcoleman.com>
9 * System.Data/ResDescriptionAttribute.cs:
11 New internal class added
12 * System.Data/Constraint.cs:
13 * System.Data/ConstraintCollection.cs:
14 * System.Data/DBConcurrencyException.cs:
15 * System.Data/DataColumn.cs:
16 * System.Data/DataColumnCollection.cs:
17 * System.Data/DataRelation.cs:
18 * System.Data/DataRelationCollection.cs:
19 * System.Data/DataRow.cs:
20 * System.Data/DataRowBuilder.cs:
21 * System.Data/DataRowBuilder.cs:
22 * System.Data/DataRowCollection.cs:
23 * System.Data/DataSet.cs:
24 * System.Data/DataTable.cs:
25 * System.Data/DataTableCollection.cs:
26 * System.Data/DataView.cs:
27 * System.Data/DataViewManager.cs:
28 * System.Data/DataViewSetting.cs:
29 * System.Data/DataViewSettingCollection.cs:
30 * System.Data/ForeignKeyConstraint.cs:
31 * System.Data/ForeignKeyConstraint.cs:
32 * System.Data/InternalDataCollectionBase.cs:
33 * System.Data/MergeFailedEventArgs.cs:
34 * System.Data/StrongTypingException.cs:
35 * System.Data/TypeDataSetGeneratorException.cs:
36 * System.Data/UniqueConstraint.cs:
37 * System.Data.Common/DataAdapter.cs:
38 * System.Data.Common/DataColumnMapping.cs:
39 * System.Data.Common/DataColumnMappingCollection.cs:
40 * System.Data.Common/DataTableMapping.cs:
41 * System.Data.Common/DataTableMappingCollection.cs:
42 * System.Data.Common/DbDataAdapter.cs:
43 * System.Data.Common/DbDataPermission.cs:
44 * System.Data.Common/DbDataPermissionAttribute.cs:
45 * System.Data.Common/DbEnumerator.cs:
46 * System.Data.SqlClient/SqlCommand.cs:
47 * System.Data.SqlClient/SqlCommandBuilder.cs:
48 * System.Data.SqlClient/SqlConnection.cs:
49 * System.Data.SqlClient/SqlDataAdapter.cs:
50 * System.Data.SqlClient/SqlParameter.cs:
51 Add missing attributes, methods, properties based on information
52 from System.Data class status page on go-mono.com.
55 2002-11-10 Ville Palo <vi64pa@koti.soon.fi>
57 * System.Data.SqlTypes/SqlString.cs: Now all methods are implemented
59 2002-11-09 Tim Coleman <tim@timcoleman.com>
61 * System.Data/DataCategoryAttribute.cs:
62 Add new attribute based on corcompare
64 2002-11-09 Rodrigo Moya <rodrigo@ximian.com>
66 * System.Data.OleDb/OleDbDataAdapter.cs: cleaned up implementation,
67 based on the PgSql/SqlClient data adapter classes.
69 2002-11-09 Tim Coleman <tim@timcoleman.com>
71 Add new internal tds classes
72 * System.Data.Common/DbDataAdapter.cs:
73 * System.Data.SqlClient/SqlDataAdapter.cs:
74 Change event calling system
75 * System.Data.SqlClient/SqlClientPermission.cs:
76 * System.Data.SqlClient/SqlClientPermissionAttribute.cs:
77 * System.Data.SqlClient/SqlDataReader.cs:
79 * System.Data.SqlClient/SqlCommand.cs:
80 Some changes to make consistent with .NET based on Sql server traces
81 Implement command timeout
82 * System.Data.SqlClient/SqlCommandBuilder.cs:
83 Make sure that we only build a command if key info found
84 * System.Data.SqlClient/SqlConnection.cs:
85 Change event calling system
86 Some changes to make consistent with .NET based on Sql server traces
87 Implement connection timeout
88 * System.Data.SqlClient/SqlConnectionPool.cs:
89 Implement connection timeout
90 * System.Data.SqlClient/SqlError.cs:
92 * System.Data.SqlClient/SqlException.cs:
93 Mucho implementation and cleanup
94 * System.Data.SqlClient/SqlParameter.cs:
96 * System.Data.SqlClient/SqlParameterCollection.cs:
98 * System.Data.SqlClient/SqlTransaction.cs:
99 Move some of the transaction creation to SqlConnection to be consistent
102 2002-11-08 Tim Coleman <tim@timcoleman.com>
103 * System.Data/DataRow.cs:
104 * System.Data/DataTable.cs:
105 Some fix-ups related to the DbDataAdapter to make it work.
106 * System.Data.Common/DbDataAdapter.cs:
107 Fix the Fill () and Update () methods. These now work
108 fairly well. Need mucho testing.
109 * System.Data.SqlClient/SqlCommandBuilder.cs:
110 Support table mappings and parameter source versions now.
111 * System.Data.SqlClient/SqlConnection.cs:
112 * System.Data.SqlClient/SqlTransaction.cs:
113 Add set accessor for transaction so that SqlTransaction.Commit ()
114 will remove itself from the connection.
115 * System.Data.SqlClient/SqlDataAdapter.cs:
116 Update/Insert/Delete command should be null by default.
117 * System.Data.SqlClient/SqlException.cs:
118 Remove a TODO attribute
119 * System.Data.SqlClient/SqlRowUpdatingEventArgs.cs:
120 Properly handle the SqlCommand object
122 2002-11-08 Ville Palo <vi64pa@koti.soon.fi>
124 * System.Data.SqlTypes/SqlDateTime.cs: Now the all methods are
127 2002-11-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
129 * System.Data.SqlTypes/SqlDecimal.cs: fixed build. Someone should check
130 my comments and do something more appropiate.
132 2002-11-07 Ville Palo <vi64pa@koti.soon.fi>
134 * System.Data.SqlTypes/SqlBinary.cs:
135 * System.Data.SqlTypes/SqlBoolean.cs:
136 * System.Data.SqlTypes/SqlByte.cs:
137 * System.Data.SqlTypes/SqlDateTime.cs:
138 * System.Data.SqlTypes/SqlDecimal.cs:
139 * System.Data.SqlTypes/SqlDouble.cs:
140 * System.Data.SqlTypes/SqlDecimal.cs:
141 * System.Data.SqlTypes/SqlGuid.cs:
142 * System.Data.SqlTypes/SqlInt16.cs:
143 * System.Data.SqlTypes/SqlInt32.cs:
144 * System.Data.SqlTypes/SqlInt64.cs:
145 * System.Data.SqlTypes/SqlMoney.cs:
146 * System.Data.SqlTypes/SqlSingle.cs:
147 * System.Data.SqlTypes/SqlString.cs: Implemented more methods and
148 fixed some. SqlBoolean Equals (object value) -method improvements to
151 2002-11-07 Tim Coleman <tim@timcoleman.com>
152 * System.Data.Common/DbDataAdapter.cs:
153 Remove NotImplementedException in Dispose
154 * System.Data.Common/FieldNameLookup.cs:
156 * System.Data.SqlClient/SqlCommand.cs:
157 Fix CommandText accessor (stack overflow)
158 Implement DeriveParameters method
159 * System.Data.SqlClient/SqlCommandBuilder.cs:
161 * System.Data.SqlClient/SqlConnection.cs:
162 Change application name to "Mono SqlClient Data Provider"
163 * System.Data.SqlClient/SqlDataReader.cs:
164 Add new schema information
165 * System.Data.SqlClient/SqlError.cs:
166 * System.Data.SqlClient/SqlErrorCollection.cs:
167 Remove internal methods, TODO attributes
168 * System.Data.SqlClient/SqlParameter.cs:
169 Add new internal constructor for DeriveParameters use
170 * System.Data.SqlClient/SqlParameterConverter.cs:
171 Add missing methods based on class status
173 2002-11-07 Nick Drochak <ndrochak@gol.com>
174 * list: add System.Data/ColumnDataPropertyDescriptor.cs
176 2002-11-04 Tim Coleman <tim@timcoleman.com>
178 Add Mono.Data.TdsClient.Internal.TdsInternalError
179 Add Mono.Data.TdsClient.Internal.TdsInternalErrorCollection
180 Add Mono.Data.TdsClient.Internal.TdsInternalErrorMessageEventHandler
181 Add Mono.Data.TdsClient.Internal.TdsInternalErrorMessageEventArgs
182 Add Mono.Data.TdsClient.Internal.TdsInternalInfoMessageEventHandler
183 Add Mono.Data.TdsClient.Internal.TdsInternalInfoMessageEventArgs
184 Remove Mono.Data.TdsClient.Internal.TdsPacketErrorResult
185 Remove Mono.Data.TdsClient.Internal.TdsPacketErrorResultCollection
186 Remove Mono.Data.TdsClient.Internal.TdsPacketMessageResult
187 * System.Data.Common/RowUpdatedEventArgs.cs:
188 * System.Data.Common/RowUpdatingEventArgs.cs:
190 * System.Data.SqlClient/SqlCommand.cs:
191 * System.Data.SqlClient/SqlDataReader.cs:
192 Remove checks for errors. These are now handled by events
193 * System.Data.SqlClient/SqlConnection.cs:
194 * System.Data.SqlClient/SqlError.cs:
195 * System.Data.SqlClient/SqlException.cs:
196 * System.Data.SqlClient/SqlInfoMessageEventArgs.cs:
197 Add event handlers and triggers for errors, messages, state change
198 * System.Data.SqlClient/SqlParameter.cs:
199 Re-add refreshproperties
200 * System.Data.SqlClient/SqlRowUpdatedEventArgs.cs:
201 * System.Data.SqlClient/SqlRowUpdatedEventHandler.cs:
202 * System.Data.SqlClient/SqlRowUpdatingEventArgs.cs:
203 * System.Data.SqlClient/SqlRowUpdatingEventHandler.cs:
206 2002-11-04 Tim Coleman <tim@timcoleman.com>
208 Add Mono.Data.TdsClient.Internal.TdsBigDecimal
209 Add System.Data.SqlClient.SqlParameterConverter
210 Add System.Data.DataSysDescriptionAttribute
211 * System.Data/DataSysDescriptionAttribute.cs:
213 * System.Data.Common/DbDataPermission.cs:
214 Add CreateInstance method
215 * System.Data.SqlClient/SqlClientPermission.cs:
216 * System.Data.SqlClient/SqlError.cs:
217 Add Serializable attribute
218 * System.Data.SqlClient/SqlCommand.cs:
219 * System.Data.SqlClient/SqlConnection.cs:
220 * System.Data.SqlClient/SqlDataAdapter.cs:
221 * System.Data.SqlClient/SqlParameter.cs:
222 Add some missing property attributes
223 * System.Data.SqlClient/SqlCommandBuilder.cs:
224 Add some missing property attributes
226 * System.Data.SqlClient/SqlDataReader.cs:
227 Implement missing methods
228 * System.Data.SqlClient/SqlErrorCollection.cs:
229 Implement the properties
230 * System.Data.SqlClient/SqlException.cs:
231 Remove extra property accessors
232 * System.Data.SqlClient/SqlInfoMessageEventArgs.cs:
233 Add internal constructor
234 * System.Data.SqlClient/SqlParameterCollection.cs:
235 Add internal constructor
236 Add property attributes
237 * System.Data.SqlClient/SqlParameterConverter.cs:
238 New internal class added
239 * System.Data.SqlClient/SqlRowUpdatedEventArgs.cs:
240 * System.Data.SqlClient/SqlRowUpdatingEventArgs.cs:
242 * System.Data.SqlTypes/SqlDecimal.cs:
243 Add implicit conversion from TdsBigDecimal to SqlDecimal
244 * System.Data.SqlTypes/SqlString.cs:
245 * System.Data.SqlTypes/SqlInt16.cs:
246 * System.Data.SqlTypes/SqlDateTime.cs:
247 Change code to remove compiler warnings
249 2002-11-04 Stuart Caborn <stuart.caborn@clearswift.com>
251 * list: added System.Data/XmlConstants.cs to
254 * System.Data/XmlConstants.cs: added -
255 * System.Data/DataTable.cs
256 * System.Data/DataSet.cs
257 * System.Data/DataColumn.cs
258 * System.Data/DataColumnCollection.cs
259 * System.Data/DataRelation.cs: modified -
260 Began initial implementation of WriteXml
\r
261 and WriteXmlSchema. There is no support for DiffGrams
\r
262 yet. In WriteSchema mode, relationships are missing,
\r
263 all types are xs:string and the namespacing is not
\r
264 working properly. Added support for Ordinals in the
\r
265 DataColumnCollection and added support for
\r
266 namespaces and prefixes.
\r
268 2002-11-03 Ville Palo <vi64pa@koti.soon.fi>
270 * System.Data.SqlTypes/SqlBinary.cs: Finished and no errors generated
271 by NUnitConsole_mono.exe
273 2002-11-03 Tim Coleman (tim@timcoleman.com)
274 * System.Data.SqlClient/SqlCommand.cs:
275 Use SET NO_BROWSETABLE ON when CommandBehavior is KeyInfo
276 * System.Data.SqlClient/SqlDataReader.cs:
277 Get more schema info if available
279 Add Mono.Data.TdsClient.Internal.TdsColumnStatus
281 2002-11-02 Tim Coleman (tim@timcoleman.com)
282 * System.Data.SqlClient/SqlCommand.cs:
283 Change to use sp_executesql to run regular text queries.
284 Now, sp_executesql for text, sp_execute for prepared,
285 and execute for SPs means everything runs a procedure.
286 * System.Data.SqlClient/SqlParameter.cs:
287 Allow client to set parameter name in Prepare ()
288 * System.Data.SqlClient/SqlParameterCollection.cs:
289 Implement some methods
290 * System.Data.SqlClient/SqlDataReader.cs:
291 Since everything is an SP now, we know that when
292 we see DoneProc, that we are really done.
294 2002-11-01 Tim Coleman (tim@timcoleman.com) :
295 * System.Data.Common/DbEnumerator.cs :
296 Throw correct exception on Reset ()
297 Add ColumnSize to schema table.
298 * System.Data.SqlClient/SqlDataReader.cs :
299 Add ColumnSize to schema table.
300 * System.Data.SqlClient/SqlCommand.cs :
301 Change the way that preparing is handled.
302 Now uses sp_prepare on the server instead of temp
303 stored procedures because it's the Right Thing[tm] to do.
304 * System.Data.SqlClient/SqlConnection.cs :
305 Store data readers here rather than in command
306 * System.Data.SqlClient/SqlDataReader.cs :
307 More implementation, including binary types
308 * System.Data.SqlClient/SqlParameter.cs :
311 2002-10-31 Tim Coleman (tim@timcoleman.com)
312 * System.Data.Common/DbDataAdapter.cs :
313 Fix handling of nulls
314 * System.Data.Common/DbDataRecord.cs :
315 Change GetFieldType ()
316 * System.Data.Common/DbEnumerator.cs :
317 Add new schema information
318 * System.Data.Common/FieldNameLookup.cs :
319 Change definition of schema
320 * System.Data.Common/SchemaInfo.cs :
322 * System.Data.SqlClient/SqlDataReader.cs :
323 get more schema table data
325 Add Mono.Data.TdsClient.Internal.TdsSchemaInfo
327 2002-10-31 Ville Palo <vi64pa@koti.soon.fi>
336 * SqlString.cs: Some bugfixes and some TODOs but so much
339 2002-10-30 Tim Coleman (tim@timcoleman.com)
340 * System.Data.Common/FieldNameLookup.cs:
341 * System.Data.Common/SchemaInfo.cs:
342 * System.Data.SqlClient/SqlXmlTextReader.cs:
345 Class list changed in build
346 * System.Data.SqlClient/SqlCommand.cs:
347 Added support for command behaviors
348 Refactored a bunch of code
349 Implement ExecuteScalar
350 Implement ExecuteXmlReader
351 * System.Data.SqlClient/SqlConnection.cs:
352 Moved CheckForErrors here
353 * System.Data.SqlClient/SqlDataAdapter.cs:
355 * System.Data.SqlClient/SqlDataReader.cs:
356 Implement GetEnumerator
358 Add SqlDataReaderEnumerator private class
359 * System.Data.SqlClient/SqlParameter.cs:
360 Move some of the Prepare code from SqlCommand to here
361 * System.Data.SqlClient/SqlTransaction.cs:
362 Move error checking to SqlConnection
364 2002-10-29 Tim Coleman (tim@timcoleman.com)
365 * System.Data.SqlClient/SqlCommand.cs:
366 Added code to handle parameters for queries
367 * System.Data.SqlClient/SqlConnection.cs:
368 Properly handle resetting SqlConnections
369 * System.Data.SqlClient/SqlDataReader.cs:
370 Properly handle the case where no results are returned
371 * System.Data.SqlClient/SqlParameter.cs:
372 Default direction to Input
373 * System.Data.SqlClient/SqlParameterCollection.cs:
374 Implement GetEnumerator
376 2002-10-29 Rodrigo Moya <rodrigo@ximian.com>
378 * makefile.gnu: added Test directory.
380 2002-10-29 Ville Palo <vi64pa@koti.soon.fi>
382 * System.Data.SqlTypes/SqlGuid.cs: Fixed some bugs and finished
385 2002-10-28 Tim Coleman (tim@timcoleman.com)
386 * System.Data.SqlClient/SqlCommand.cs:
387 Add some error handling
388 * System.Data.SqlClient/SqlDataReader.cs:
389 Add some error handling
390 Add precision/scale to schema table
391 * System.Data.SqlClient/SqlException.cs:
392 Generate a SqlException from TDS error
394 * System.Data.SqlClient/SqlTransaction.cs:
395 Add some error handling
398 2002-10-28 Ville Palo <vi64pa@koti.soon.fi>
400 * System.Data.SqlTypes/SqlBinary.cs:
401 * System.Data.SqlTypes/SqlBoolean.cs:
402 * System.Data.SqlTypes/SqlByte.cs:
403 * System.Data.SqlTypes/SqlDateTime.cs:
404 * System.Data.SqlTypes/SqlDecimal.cs:
405 * System.Data.SqlTypes/SqlDouble.cs:
406 * System.Data.SqlTypes/SqlDecimal.cs:
407 * System.Data.SqlTypes/SqlDouble.cs:
408 * System.Data.SqlTypes/SqlGuid.cs:
409 * System.Data.SqlTypes/SqlInt16.cs:
410 * System.Data.SqlTypes/SqlInt32.cs:
411 * System.Data.SqlTypes/SqlInt64.cs:
412 * System.Data.SqlTypes/Money.cs:
413 * System.Data.SqlTypes/SqlSingle.cs:
414 * System.Data.SqlTypes/SqlString.cs:
415 * System.Data.SqlTypes/SqlSingle.cs: Fixed internal loop bugs and
416 some other minor fixes.
418 2002-10-27 Rodrigo Moya <rodrigo@ximian.com>
420 * System.Data.OleDb/OleDbDataAdapter.cs (Fill, FillSchema,
421 GetFillParameters, Update): added overloaded methods.
423 * System.Data.OleDb/OleDbCommand.cs:
424 * System.Data.OleDb/OleDbDataReader.cs:
425 * System.Data.OleDb/OleDbConnection.cs: removed limitation of one
426 data adapter at a time. Mono's version can open as many as you want,
429 2002-10-25 Tim Coleman (tim@timcoleman.com)
430 * System.Data.SqlClient/SqlConnectionPool.cs:
432 * System.Data.SqlClient/SqlClientPermission.cs:
433 * System.Data.SqlClient/SqlClientPermissionAttribute.cs:
434 * System.Data.SqlClient/SqlInfoMessageEventArgs.cs:
435 * System.Data.SqlClient/SqlInfoMessageEventHandler.cs:
436 * System.Data.SqlClient/SqlParameter.cs:
437 * System.Data.SqlClient/SqlParameterCollection.cs:
439 * System.Data.SqlClient/SqlCommand.cs:
440 * System.Data.SqlClient/SqlConnection.cs:
441 * System.Data.SqlClient/SqlException.cs:
442 * System.Data.SqlClient/SqlTransaction.cs:
443 New code based on work in TDS Client
445 New files added for SqlClient, and TdsClient.Internal
447 Added reference to System.EnterpriseServices.dll
448 Still leave SqlClient out of build until danmorg
451 2002-10-23 Ville Palo <vi64pa@koti.soon.fi>
453 * System.Data.SqlTypes/SqlDouble.cs:
454 * System.Data.SqlTypes/SqlSingle.cs: Finished
456 2002-10-23 Ville Palo <vi64pa@koti.soon.fi>
458 * System.Data.SqlTypes/SqlByte.cs:
459 * System.Data.SqlTypes/SqlBoolean.cs:
460 * System.Data.SqlTypes/SqlInt16.cs:
461 * System.Data.SqlTypes/SqlInt32.cs:
462 * System.Data.SqlTypes/SqlInt64.cs: Finished.
464 2002-10-21 Rodrigo Moya <rodrigo@ximian.com>
466 * list: removed libodbchelper.cs file, which has been removed.
468 2002-10-16 Tim Coleamn <tim@timcoleman.com>
471 Exclude compiling of System.Data.SqlClient in
472 preparation for overhauls of that system.
474 2002-10-16 Daniel Morgan <danmorg@sc.rr.com>
\r
477 * PostgresLibrary.cs
\r
479 * SqlClientPermission.cs
\r
480 * SqlClientPermissionAttribute.cs
\r
482 * SqlCommandBuilder.cs
\r
484 * SqlDataAdapter.cs
\r
487 * SqlErrorCollection.cs
\r
489 * SqlInfoMessageEventArgs.cs
\r
490 * SqlInfoMessageEventHandler.cs
\r
492 * SqlParameterCollection.cs
\r
493 * SqlRowUpdatedEventArgs.cs
\r
494 * SqlRowUpdatedEventHandler.cs
\r
495 * SqlRowUpdatingEventArgs.cs
\r
496 * SqlRowUpdatingEventHandler.cs
\r
497 * SqlTransaction.cs: thanks to Miguel de Icaza, he
\r
498 copied files on the mono cvs server
\r
499 from mcs/class/System.Data/System.Data.SqlClient
\r
500 for the PostgreSQL provider
\r
501 to mcs/class/Mono.Data.PostgreSqlClient.
\r
503 mcs/class/System.Data/System.Data.SqlClient for
\r
504 the Microsoft SQL Server provider.
\r
505 Any Mono.Data.PostgreSqlClient/Sql*.cs files
\r
506 were copied on the cvs server
\r
507 to Mono.Data.PostgreSqlClient/PgSql*.cs files
\r
508 and the old Mono.Data.PostgreSqlClient/Sql*.cs
\r
509 files were removed. Copying, renaming, and removing
\r
510 was done on the cvs server so we could keep
\r
511 the cvs change history.
\r
513 2002-10-15 Daniel Morgan <danmorg@sc.rr.com>
515 * System.Data.OleDb/libgda.cs: added more functions
516 to platfrom invoke into shared library libgda
518 * System.Data.OleDb/OleDbDataReader.cs: implemented
519 GetSchemaTable() and GetFieldType()
521 2002-10-13 Daniel Morgan <danmorg@sc.rr.com>
523 * System.Data/DataRow.cs: don't throw exception
524 if DBNull is false. Had to do comment this line
525 to allow a typeof(Type).
527 * System.Data.SqlClient/SqlCommand.cs: the "DataType"
528 DataColumn and DataRows in a DataTable for a schema should
529 be typeof Type, not string. This is to make it
530 compatible with MS.NET
532 * System.Data.SqlClient/SqlConnection.cs: the
533 isolation level should be set before
534 beginning the transaction
536 * Test/SqlSharpCli.cs: change string to Type for
537 "DataType" from a DataRow in a DataTable
538 that contains a schema.
540 2002-10-14 Rodrigo Moya <rodrigo@ximian.com>
542 * list: added missing Odbc files.
544 2002-10-09 Rodrigo Moya <rodrigo@ximian.com>
546 * list: added System.Data.Odbc files.
548 2002-10-09 Brian Ritchie <brianlritchie@hotmail.com>
550 * System.Data.Odbc/*: added first version of ODBC managed provider.
552 2002-10-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
554 * System.Data/ConstraintCollection.cs:
555 * System.Data/DataColumnCollection.cs:
556 * System.Data/DataRowCollection.cs:
557 * System.Data/DataTableCollection.cs:
558 * System.Data/InternalDataCollectionBase.cs: made List internal to fix
559 the build with csc. It must be a mcs bug. I will try to get a test case.
561 2002-10-06 Luis Fernandez <luifer@onetel.net.uk>
563 * System.Data/Constraint.cs (AssertConstraint): added overloaded
566 * System.Data/DataColumnCollection.cs: added constraints when needed.
568 * System.Data/DataRow.cs: validate UniqueConstraint's.
570 * System.Data/DataRowCollection.cs (ValidateDataRowInternal): new
571 internal method to validate a given DataRow with respect to the
574 * System.Data/ForeignKeyConstraint.cs (AssertConstraint): stubs for
575 new overloaded method.
577 * System.Data/UniqueConstraint.cs: added implementation.
578 (AseertConstraint): implemented new overloaded method.
580 2002-10-01 Rodrigo Moya <rodrigo@ximian.com>
582 * System.Data.OleDb/OleDbConnection.cs (Open): commented code from
583 last commit, which wasn't supposed to be in CVS yet.
585 2002-10-01 Luis Fernandez <luifer@onetel.net.uk>
587 * System.Data/DataColumn.cs:
588 * System.Data/DataRow.cs:
589 * System.Data/DataRowCollection.cs:
590 * System.Data/DataTable.cs: some fixes and implementation.
592 2002-09-28 Vladimir Vukicevic <vladimir@pobox.com>
594 * System.Data.OleDb/OleDbConnection.cs: Close
595 reader properly in call to ExecuteScalar().
597 2002-09-07 Rodrigo Moya <rodrigo@ximian.com>
599 * System.Data.OleDb/OleDbConnection.cs (Open): changed to use OleDb
600 connection strings, which are then converted to GDA connection
601 strings, instead of using directly GDA data source names.
603 * System.Data.OleDb/libgda.cs: added more needed functions.
605 2002-09-06 Franklin Wise <gracenote@earthlink.net>
607 * System.Data/DataColumn.cs: More flushing out.
609 * System.Data/ForeignKeyConstraint.cs: Implemented GetHashCode()
611 * System.Data/UniqueKeyConstraint.cs: Implemented GetHashCode()
613 * Tests: See Changelog for System.Data/Test
615 2002-09-04 Franklin Wise <gracenote@earthlink.net>
617 * Tests: See Changelog for System.Data/Test
620 System.Data/DataColumnCollectionTest.cs
621 System.Data/DataRowCollectionTest.cs
622 System.Data/DataRowTest.cs
624 * System.Data/DataColumn.cs: Flushing out validation, type conversion for
625 autoincrement. Added lots of TODO's.
626 * System.Data/DataColumnCollection.cs: Wrote out add logic as a comment.
627 Tagged implementation with FIXME tags. Lot's more validation
628 and setup needs to be done, much of which is now tagged as todo's
631 * System.Data/DataRow.cs: Lot's of fixme's added.
633 * System.Data/DataRowCollection.cs: TODO's added.
635 * System.Data/DataTable.cs: Implemented PrimaryKey.
637 * System.Data/UniqueConstraint.cs: Implemented related PrimaryKey
640 2002-08-25 Rodrigo Moya <rodrigo@ximian.com>
642 * System.Data.OleDb/OleDbTransaction.cs (OleDbTransaction): manage
643 correctly the isolation level.
644 (IsolationLevel): likewise.
645 (~OleDbTransaction): implemented.
647 * System.Data.OleDb/libgda.cs: added more needed stuff.
649 2002-08-22 Daniel Morgan <danmorg@sc.rr.com>
651 * System.Data.SqlClient/SqlParameter.cs: flush
653 * System.Data.SqlClient/SqlParameterCollection.cs: fixes
654 for the Item property, IndexOf, and Contains.
656 * Test/SqlSharpCli.cs: added input parameters support.
657 when a query is executed, if a parameter name matches
658 a SQL# internal variable name, it uses that value for the parameter; otherwise,
659 the user is prompted for the parameter value. Currently, it only supports
662 2002-08-21 Rodrigo Moya <rodrigo@ximian.com>
664 * System.Data.OleDb/libgda.cs: adapted to changes in libgda (get_vtype
665 and get_type for GdaValue).
667 * System.Data.OleDb/OleDbDataReader.cs: adapted to changes in
670 2002-08-20 Rodrigo Moya <rodrigo@ximian.com>
672 * System.Data.OleDb/OleDbConnection.cs (DataReader): new internal
674 (Close): set the dataReader to null.
676 * System.Data.OleDb/OleDbDataReader.cs (OleDbDataReader): set the
677 connection's DataReader property to this object.
678 (Close): set it to null here.
679 (Depth, IsDbNull): implemented.
680 (this): implemented the Item property with a string indexer.
682 * System.Data.OleDb/OleDbCommand.cs (ExecuteNonQuery, ExecuteReader,
683 ExecuteScalar): do nothing if there's already an open data reader.
685 * System.Data.OleDb/libgda.cs: more API functions.
687 * System.Data.OleDb/TestOleDb.cs (TestDataReader): close the data
688 reader before continuing.
690 2002-08-20 Franklin Wise <gracenote@earthlink.net>
692 * System.Data/System.Data.build: added nowarn:0679
694 * System.Data/System.DataTable: cleaned up class, added MonoTODO tags
695 setup to begin implementing. Implemented ctor().
697 * Tests: See System.Data\Test\ChangeLog
700 2002-08-19 Rodrigo Moya <rodrigo@ximian.com>
702 * System.Data.OleDb/OleDbSchemaGuid.cs: initialize static members.
704 2002-08-19 Franklin Wise <gracenote@earthlink.net>
706 * Tests: See System.Data\Test\ChangeLog
708 * System.Data/UniqueConstraint.cs: More validation.
710 * System.Data/ForeignKeyConstraint.cs: Added more validation rules.
711 Another LAMESPEC tag. Implemented more of Add/Remove Setup/Cleanup
714 * System.Data/DataTable.cs: Added more MonoTODO tags
716 * class/System.Data/.cvsignore: added tmp & Temp
718 * System.Data/Constraint.cs: Changed abstract helpers to virtual and
721 * System.Data/ConstraintCollection.cs: Commented out unused line.
723 2002-08-18 Rodrigo Moya <rodrigo@ximian.com>
725 * System.Data.OleDb/OleDbConnection.cs (ChangeDatabase): implemented.
727 * System.Data.OleDb/OleDbException.cs (OleDbException): added internal
729 (ErrorCode, Message, Source, Errors): implemented.
731 * System.Data.OleDb/OleDbError.cs: implemented the full class.
733 * System.Data.OleDb/libgda.cs: added more libgda functions.
735 * System.Data.OleDb/TestOleDb.cs (TestOleDb): display properties for
736 the opened connection.
738 2002-08-18 Rodrigo Moya <rodrigo@ximian.com>
740 * System.Data.OleDb/OleDbConnection.cs (ServerVersion): implemented.
742 * System.Data.OleDb/OleDbDataReader.cs (Close): clear the results
743 ArrayList after releasing the items.
744 (GetName, GetDateTime, GetDouble, GetSingle, GetInt16, GetInt32,
745 GetOrdinal, GetString): implemented.
746 (GetDataTypeName): made it get the type from the data model, not from
747 the current value, which could not have been retrieved yet.
748 (GetValue): call the Get* method corresponding with the data type of
749 the requested column.
751 * System.Data.OleDb/libgda.cs: added more libgda functions.
752 (GdaTimestamp, GdaDate, GdaTime): new marshalled structures.
754 * System.Data.OleDb/TestOleDb.cs (TestDateReader): display column
755 titles via OleDbDataReader.GetName ().
756 (TestOleDb): create temporary table with a date field.
757 (InsertRow): set current date for the date field.
759 2002-08-18 Rodrigo Moya <rodrigo@ximian.com>
761 * System.Data.OleDb/OleDbDataReader.cs (this[]): made it just call
762 GetValue, which will take care of all the work needed.
763 (Close): implemented basic stuff.
764 (~OleDbDataReader): implemented.
766 * System.Data.OleDb/libgda.cs: added more needed functions.
768 2002-08-16 Rodrigo Moya <rodrigo@ximian.com>
770 * System.Data.OleDb/TestOleDb.cs: made it work with a temporary table
772 (TestTransaction): added test for transactions.
774 2002-08-16 Rodrigo Moya <rodrigo@ximian.com>
776 * System.Data.OleDb/libgda.cs: added new needed libgda functions.
778 * System.Data.OleDb/OleDbDataReader.cs (GetBoolean): throw exceptions
779 when there are errors.
780 (GetByte, GetChar, GetDataTypeName, GetValue, Read): implemented.
782 * System.Data.OleDb/TestOleDb.cs: added more testing code for data
785 2002-08-15 Rodrigo Moya <rodrigo@ximian.com>
787 * System.Data.OleDb/libgda.cs: added new needed libgda functions.
789 * System.Data.OleDb/OleDbParameterCollection.cs (GdaParameterList):
790 create an empty GdaParameterList.
792 * System.Data.OleDb/OleDbCommand.cs (ExecuteReader): check values
793 for NULL before passing them to Marshal.PtrToStructure, which issues
794 an exception if the value is NULL.
796 2002-08-15 Rodrigo Moya <rodrigo@ximian.com>
798 * System.Data/UniqueConstraint.cs (UniqueConstraint): commented
799 unreachable code to avoid compiler warning.
801 * System.Data.OleDb/libgda.cs (GdaList): added new internal class.
803 * System.Data.OleDb/OleDbConnection.cs (DataSource): implemented.
804 (OpenReader): removed internal method.
806 * System.Data.OleDb/OleDbCommand.cs (ExecuteReader): split correctly
807 the list of returned data models.
809 2002-08-15 Franklin Wise <gracenote@earthlink.net>
811 * System.Data/Constraint.cs: Added helper virtual functions
813 * System.Data/ConstraintCollection.cs: Improved constraint removal,
814 validation. Removed specific knowledge of subclasses of
817 * System.Data/DataColumn.cs: Added static helper function to compare
818 if two DataColumn arrays are the same.
820 * System.Data/ForeignKeyConstraint.cs: Continued to flush out.
822 * System.Data/UniqueConstraint.cs: Implemented. Still some constraint
825 2002-08-13 Franklin Wise <gracenote@earthlink.net>
827 * System.Data/DataRow.cs: Added several fixme tags.
829 2002-08-13 Rodrigo Moya <rodrigo@ximian.com>
831 * System.Data.SqlClient/SqlDataAdapter.cs (DeleteCommand,
832 InsertCommand, SelectCommand, UpdateCommand): removed 'new' keyword
833 to avoid compiler warnings.
835 2002-08-12 Franklin Wise <gracenote@earthlink.net>
837 * System.Data/Constraint.cs: Implemented
839 * System.Data/UniqueConstraint.cs: GetHashCode() &
840 special case Ctor. Still need to be implemented. LAMESPEC tags
843 * System.Data/ConstraintCollection.cs: Clear() &
844 AddRange() need to be finished. Several LAMESPEC tags.
846 * Allow Constraint collection to be created in DataTable.
848 * System.Data/ForeignKeyConstraint: Added a couple of
851 * System.Data/DataColumnCollection New/Added DataColumns now have
854 2002-08-11 Rodrigo Moya <rodrigo@ximian.com>
856 * System.Data.OleDb/libgda.cs: added some GdaValue functions.
858 * System.Data.OleDb/OleDbCommand.cs (OpenReader): removed this
859 internal method, since we don't need it.
860 (ExecuteReader): call SetupGdaCommand before executing the command
861 via libgda functions.
862 (ExecuteScalar): implemented.
864 * System.Data.OleDb/OleDbDateReader.cs (OleDbDataReader): removed call
865 to OleDbCommand.OpenReader.
866 (GetBoolean): implemented.
868 2002-08-08 Franklin Wise <gracenote@earthlink.net>
870 * System.Data/IDbComand.cs: IDbCommand now inherits IDisposable
872 * System.Data/IDbConnection.cs: IDbConnection now inherits IDisposable
874 * System.Data.SqlTypes/SqlCompareOptions.cs: Enum now set to correct
877 2002-08-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
879 * System.Data.OleDb/OleDbConnection.cs: little fixes to make it work
880 and don't show a warning in Open.
882 * System.Data.OleDb/TestOleDb.cs: added Close.
884 2002-08-05 Rodrigo Moya <rodrigo@ximian.com>
886 * System.Data.OleDb/OleDbConnection.cs (ConnectionString,
887 ConnectionTimeout, ServerVersion, GdaConnection):
889 (OleDbConnection): call libgda.gda_init on constructor.
891 * System.Data.OleDb/libgda.cs (libgda): removed static constructor,
892 which wasn't been called.
894 * System.Data.OleDb/TestOleDb.cs (TestOleDb): updated to really
897 2002-08-04 Rodrigo Moya <rodrigo@ximian.com>
899 * list: added missing System.Data.OleDb and
900 System.Data.Common files.
902 * System.Data.OleDb/ChangeLog: removed and merged with
903 System.Data's ChangeLog.
905 * System.Data.OleDb/OleDbDataAdapter.cs:
906 * System.Data.OleDb/OleDbPermission.cs: compilation fixes.
908 2002-07-30 Rodrigo Moya <rodrigo@ximian.com>
910 * System.Data.OleDb/OleDbDataReader.cs (FieldCount): implemented.
911 (IsClosed, Item, RecordsAffected): implemented some properties.
913 * libgda.cs: added GdaDataModel methods.
915 2002-07-29 Rodrigo Moya <rodrigo@ximian.com>
917 * System.Data.OleDb/OleDbDataReader.cs (OleDbDataReader constructor): changed to receive
918 a second argument (ArrayList results).
919 (NextResult): implemented.
921 * System.Data.OleDb/OleDbCommand.cs: don't store the ArrayList of results, since we'll
922 pass that to the OleDbDataReader.
923 (OleDbCommand constructor): don't create the ArrayList of results.
924 (GdaResults): removed property.
925 (ExecuteReader): create a temporary ArrayList and pass that to the
926 OleDbDataReader constructor.
928 2002-07-28 Rodrigo Moya <rodrigo@ximian.com>
930 * System.Data.OleDb/OleDbCommand.cs (ExecuteReader):
931 (CreateParameter): implemented IDbCommand methods.
932 (CommandText): don't create many GdaCommand's, only one is needed.
933 (ExecuteNonQuery): set up the internal GDA command object.
934 (ExecuteReader): use correctly the unique GDA command object.
936 * System.Data.OleDb/libgda.cs: added new libgda calls.
938 2002-07-27 Rodrigo Moya <rodrigo@ximian.com>
940 * System.Data.OleDb/OleDbConnection.cs (CreateCommand):
941 (BeginTransaction): implemented IDbConnection methods.
943 2002-07-12 Rodrigo Moya <rodrigo@ximian.com>
945 * list: added System.Data.OleDb files to file list.
947 2002-07-11 Rodrigo Moya <rodrigo@ximian.com>
949 * System.Data.OleDb/libgda.cs: added new libgda functions and some enumerations.
951 * System.Data.OleDb/OleDbParameter.cs (IsNullable): removed explicit implementation
952 of the set method for this property.
954 * System.Data.OleDb/OleDbDataAdapter.cs (MissingMappingAction): implemented.
955 (MissingSchemaAction): implemented.
957 2002-07-10 Tim Coleman <tim@timcoleman.com>
959 * System.Data.OleDb/OleDbCommandBuilder.cs: Added new methods, properties
960 * System.Data.OleDb/OleDbConnection.cs: Modified constructor
961 * System.Data.OleDb/OleDbError.cs: Added stubbs
962 * System.Data.OleDb/OleDbException.cs: Added stubbs
963 * System.Data.OleDb/OleDbInfoMessageEventArgs.cs: Added stubbs
964 * System.Data.OleDb/OleDbInfoMessageEventHandler.cs: style change
965 * System.Data.OleDb/OleDbParameter.cs: Added conversion from type to OleDbType
966 * System.Data.OleDb/OleDbPermission.cs: Added stubbs
967 * System.Data.OleDb/OleDbSchemaGuid.cs: Added stubbs
968 * System.Data.OleDb/OleDbTransaction.cs: New constructors, changes to methods to
969 support transaction nesting
970 * System.Data.OleDb/libgda.cs: Added my name to this file
972 2002-07-09 Tim Coleman <tim@timcoleman.com>
974 * System.Data.OleDb/OleDbCommand.cs: Style changes, added new methods
975 * System.Data.OleDb/OleDbConnection.cs: Style changes, added new methods
976 * System.Data.OleDb/OleDbDataAdapter.cs: Implementation
977 * System.Data.OleDb/OleDbDataReader.cs: Added stubbs
978 * System.Data.OleDb/OleDbErrorCollection.cs: Added stubbs, some implementation
979 * System.Data.OleDb/OleDbParameter.cs: Style changes, added new methods
980 * System.Data.OleDb/OleDbParameterCollection.cs: Style changes, added new methods
981 * System.Data.OleDb/OleDbPermissionAttribute.cs: Style changes, added new methods
982 * System.Data.OleDb/OleDbRowUpdatedEventArgs.cs: Added stubbs
983 * System.Data.OleDb/OleDbRowUpdatingEventArgs.cs: Added stubbs
984 * System.Data.OleDb/OleDbTransaction.cs: Style changes, added new methods
985 * System.Data.OleDb/OleDbType.cs: Fixed two typos
986 * System.Data.OleDb/libgda.cs: Style changes, added new methods
988 2002-07-09 Tim Coleman <tim@timcoleman.com>
990 * System.Data.build: remove restriction on System.Data.OleDb build
992 2002-06-03 Rodrigo Moya <rodrigo@ximian.com>
994 * System.Data.OleDb/OleDbParameterCollection.cs (GetEnumerator, SyncRoot,
995 IsSynchronized): implemented.
997 2002-06-02 Rodrigo Moya <rodrigo@ximian.com>
999 * System.Data.OleDb/OleDbTransaction.cs (Dispose): added missing method.
1001 * System.Data.OleDb/OleDbCommand.cs (Clone): added missing methods.
1002 (Parameters, Transaction, Connection): made these overload
1005 * System.Data.OleDb/OleDbParameterCollection.cs (IndexOf, Remove, RemoveAt):
1006 call m_list methods, not own ones.
1008 * System.Data.OleDb/OleDbParameter.cs: more implementation.
1010 2002-06-02 Rodrigo Moya <rodrigo@ximian.com>
1012 * System.Data.OleDb/OleDbTransaction.cs (Connection, IsolationLevel, Begin,
1013 Commit, Rollback): implemented.
1014 (GdaConnection): added new internal property.
1016 * System.Data.OleDb/OleDbParameter.cs:
1017 * System.Data.OleDb/OleDbParameterCollection.cs: implemented some methods and
1020 * System.Data.OleDb/libgda.cs: added yet more libgda API functions.
1022 2002-06-01 Rodrigo Moya <rodrigo@ximian.com>
1024 * System.Data.OleDb/libgda.cs: added new libgda API functions.
1026 * System.Data.OleDb/OleDbConnection.cs (Provider): implemented.
1027 (BeginTransaction): made it overload IDbConnection methods.
1028 (ChangeDatabase): new stub, needs some work on libgda for being
1031 (Close): implemented.
1032 (CreateCommand): implemented.
1033 (GetOleDbSchemaTable): new stub, until I understand what to do here.
1034 (Open): implemented basic stuff, which is just supporting connection
1035 strings that represent a GDA data source name. More to come.
1036 (InfoMessage, StateChange): added events.
1038 * System.Data.OleDb/TestOleDb.cs: test program for System.Data.OleDb.
1040 2002-05-29 Rodrigo Moya <rodrigo@ximian.com>
1042 * System.Data.OleDb/libgda.cs: added static constructor.
1043 (GdaClient): new static property to get the underlying GdaClient
1046 * System.Data.OleDb/OleDbConnection.cs: removed GDA initialization, which belongs to
1047 the static 'libgda' class.
1049 2002-05-29 Rodrigo Moya <rodrigo@ximian.com>
1051 * System.Data.OleDb/libgda.cs: static class for libgda API calls.
1053 * System.Data.OleDb/OleDbConnection.cs: implemented constructors.
1054 (ConnectionString, Connectiontimeout, Database, State):
1055 implemented class properties.
1056 (BeginTransaction): implemented.
1058 * System.Data.OleDb/OleDbTransaction.cs: implemented protected constructors.
1060 * System.Data.OleDb/TestGDA.cs: simple test for libgda API.
1062 2002-05-27 Rodrigo Moya <rodrigo@ximian.com>
1064 * System.Data.OleDb/*: started System.Data.OleDb provider, based on libgda.
1066 2002-06-06 Rodrigo Moya <rodrigo@ximian.com>
1068 * list: added missing PostgresTypes.cs file.
1070 2002-06-02 Francisco Jr. <fxjrlists@yahoo.com.br>
1072 * System.Data.SqlClient/SqlParameterCollection.cs: implemented missing
1075 2002-05-30 Daniel Morgan <danmorg@sc.rr.com>
1077 * System.Data.SqlClient/SqlConnection.cs: modifed -
1078 start to implement the interfaces properly and
1079 properly doing a Close(), Dispose(), and
1082 * Test/SqlSharpCli.cs: modified -
1083 add support for MySQL in Mono.Data.MySql
1084 and OleDb support in System.Data.OleDb. However,
1085 the OleDb support is commented right now.
1086 When the program starts up, a shorter help menu should
1087 display the most important commands: help and quit
1089 2002-05-28 Rodrigo Moya <rodrigo@ximian.com>
1091 * System.Data.build: exclude System.Data.OleDb files.
1093 2002-05-27 Daniel Morgan <danmorg@sc.rr.com>
1095 * System.Data.SqlClient/SqlCommand.cs: typo
1096 should be CommandBehavior.KeyInfo
1098 * Test/SqlSharpCli.cs: refactored and added a few more
1101 2002-05-27 Tim Coleman <tim@timcoleman.com>
1102 * list: update to compile properly (add missing
1103 files and switch path delimiter from '\' to '/').
1105 2002-05-26 Daniel Morgan <danmorg@sc.rr.com>
1107 * System.Data/DataRow.cs
1108 * System.Data.Common/DbDataAdapter.cs: fix to
1109 get Test/TestSqlDataAdapter.cs to work again
1111 * Test/TestSqlDataAdapter.cs: removed comment
1112 about SqlDataReader:NextResult() not being implemented; it
1113 bas been implemented
1115 2002-05-26 Daniel Morgan <danmorg@sc.rr.com>
1117 * System.Data/DataRow.cs: modified
1118 support setting of DBNull.Value
1119 using the Item indexer this[DataColumn]
1121 * System.Data.SqlClient/SqlCommand.cs: modified
1122 tweaks to show TODO's for other CommandBehavior.
1123 Set AllowDBNull column to true for IsKey row
1124 in schema DataTable.
1126 * System.Data.SqlClient/SqlConnection.cs: modified
1127 if transaction is in progress when a Close() is called,
1128 do a transaction Rollback.
1130 2002-05-26 Daniel Morgan <danmorg@sc.rr.com>
1132 * Test/SqlSharpCli.cs: added file
1133 My new toy. SQL# is a command-line tool to enter
1134 SQL commands and queries using Mono System.Data.
1135 It also serves as a test for Mono System.Data.
1137 * System.Data.SqlClient/SqlCommand.cs: modified
1138 - ExecuteNonQuery(), ExecuteScalar(), and ExecuteReader()
1139 should handle the results from SQL Commands and Queries.
1140 - Internal class SqlResult should not create schema Table
1141 for the result from a SQL Command. Also, set the RecordsRetrieved
1142 property for SqlDataReader.
1143 - Closing the SqlDataReader should Close() the SqlConnection for
1144 a CommandBehavior.CloseConnection.
1145 - Set defaults for SqlResult
1147 * System.Data.SqlClient/SqlConnection.cs: modified -
1148 when SqlDataReader is Close()
1149 should Close() the SqlConnection for
1150 a CommandBehavior.CloseConnection. Changed internal Property
1151 from OpenReader get/set to IsReaderOpen get and created
1152 internal methods OpenReader()/CloseReader() for SqlCommand to call.
1153 SqlConnection needs to be prevented from doing while SqlDataReader
1156 * System.Data.SqlClient/SqlDataReader.cs: modified -
1157 call SqlCommand's OpenReader() internal method. get
1158 RecordsRetrieved from SqlResult. set/reset default
1159 values for SqlDataReader.
1161 * Test/PostgresTest.cs
1162 * Test/TestExecuteScalar.cs
1163 * Test/TestSqlDataReader.cs: modified
1164 for the Execute...() methods in SqlCommand
1165 to test SQL Queries and Commands
1167 * Test/System.Data_test.build: modified
1168 exclude new file Test/SqlSharpCli.cs from
1171 2002-05-24 Tim Coleman <tim@timcoleman.com>
1172 * System.Data.Common/DbDataAdapter.cs: remove IDbCommands, except
1173 for get accessors. These should be implemented in derived classes. See
1174 SqlDataAdapter for clues.
1175 * System.Data.SqlClient/SqlDataAdapter.cs: implement IDbDataAdapter
1176 * System.Data.Common/DataAdapter.cs:
1177 * System.Data.Common/DataTableMappingCollection.cs:
1178 * System.Data.Common/DataTableMapping.cs:
1179 * System.Data.Common/DataColumnMappingCollection.cs:
1180 * System.Data.Common/DataColumnMapping.cs:
1181 Properly (I hope!) implement all of the appropriate interfaces
1185 2002-05-23 Tim Coleman <tim@timcoleman.com>
1186 * System.Data.SqlClient/SqlCommand.cs: include
1187 the BaseColumnName in the schema table. Was missed before.
1188 * System.Data.Common/DbDataAdapter.cs: Use DataTable
1189 mappings so that the DataSet and DataTable are more closely tied.
1190 Get schema information from the DataTable using GetSchemaTable ()
1191 Various other little fixes
1192 * System.Data.Common/DataColumnMappingCollection.cs:
1193 * System.Data.Common/DataTableMapping.cs:
1194 * System.Data.Common/DataTableMappingCollection.cs: Some
1195 implementation, enough to be used by DbDataAdapter.
1197 2002-05-23 Daniel Morgan <danmorg@sc.rr.com>
1199 * System.Data.SqlClient/SqlCommand.cs: set
1200 the "ProviderType" to the PostgreSQL type oid
1202 * System.Data.SqlClient/SqlDataReader.cs: fix
1203 for various properties and methods that
1204 return meta data: Item indexers this[name] and this[index],
1205 GetFieldType, GetName, and GetOrdinal. SqlDataAdapter
1208 2002-05-22 Daniel Morgan <danmorg@sc.rr.com>
1210 * System.Data/DataRow.cs: change suggested
1211 by tim: in Item indexer, do an EndEdit()
1213 * System.Data.SqlClient/SqlCommand.cs: more
1214 fixes to SqlResult. After setting each item in
1215 the DataRow, do an AcceptChanges() to commit
1216 the changes in the DataRow. For DataType, use a Type
1217 of System.String since System.Type nor System.Object
1220 * Test/TestSqlDataReader.cs
1221 * Test/PostgresTest.cs: updated to to be on
1222 the way schema table is suppose to work
1224 2002-05-22 Daniel Morgan <danmorg@sc.rr.com>
1226 * System.Data.SqlClient/SqlCommand.cs: more work on
1227 building the schema table
1229 2002-05-22 Tim Coleman <tim@timcoleman.com>
1230 * System.Data.SqlClient/SqlCommand.cs: preliminary work
1231 on getting the schema table correctly built.
1233 2002-05-21 Daniel Morgan <danmorg@sc.rr.com>
1235 * System.Data.SqlClient/ParmUtil.cs: added file - to
1236 provide utility for conversion of input parameters
1238 * System.Data.SqlClient/PostgresTypes.cs: added file -
1239 moved the PostgreHelper class to here. May eventually
1240 move the internal class PostgresTypes that's inside the
1241 SqlConnection to here as well.
1242 Handling of PostgreSQL <-> .NET types need to be though
1243 out more. Also, the PostgreHelper has a method to convert
1244 from .NET types to a string which can be put into used in
1245 an SQL statement to execute against a PostgreSQL database.
1246 This is the beginnings of parameters support. It currently
1247 only supports input parameters. Still need to do output,
1248 input/output, and return parameters.
1250 * Test/TestSqlParameters.cs: new test to test the input
1251 parameters in System.Data.SqlClient against a
1254 * System.Data.SqlClient/PostgresLibrary.cs: moved
1255 PostgresHelper class to file PostgresTypes.cs. Also
1256 moved struct PostgresType there too.
1258 * System.Data.SqlClient/SqlCommand.cs: added input
1261 * System.Data.SqlClient/SqlParameter.cs: got
1262 SqlParameter to work
1264 * System.Data.SqlClient/SqlParameterCollection.cs: got
1265 SqlParameterCollection to work
1267 * Test/System.Data_test.build: added files to exclude
1270 * System.Data.SqlClient/SqlConnection.cs: release resources
1273 2002-05-18 Daniel Morgan <danmorg@sc.rr.com>
1275 * System.Xml: added directory for classes with namespace
1276 System.Xml to go into the System.Data.dll assembly
1278 * System.Xml/XmlDataDocument: added file
1279 for stubbed concrete class XmlDataDocument which
1280 inherits from XmlDocument. Its purpose is to provide
1281 a W3C XML DOM Document for relational data and interacting
1284 2002-05-18 Daniel Morgan <danmorg@sc.rr.com>
1286 * System.Data.SqlClient/SqlCommand.cs: handle CommandTypes
1287 Text, TableDirect, and StoredProcedure
1289 * Test/PostgresTest.cs: changed call to version()
1290 stored procedure to use the CommandType of StoredProcedure
1292 * Test/TestSqlDataReader.cs: test all the CommandTypes
1294 2002-05-18 Daniel Morgan <danmorg@sc.rr.com>
1296 * System.Data.build: took out all excluded
1297 files except the ones in the Test directory
1298 because all files compile now. It does not
1299 mean they all work or have implementations
1302 * System.Data/DataRelationCollection.cs
1303 * System.Data/DataTableRelationCollection.cs
1304 * System.Data/InternalDataCollectionBase.cs
1305 * System.Data.Common/DbDataPermission.cs
1306 * System.Data.SqlClient/SqlInfoMessageEventArgs.cs
1307 * System.Data.SqlClient/SqlClientPermission.cs
1308 * System.Data.SqlClient/SqlClientPermissionAttribute.cs: changes
1309 to get all System.Data* files to compile.
1311 * System.Data.SqlClient/SqlCommand.cs: started coding
1312 to prevent SqlConnection and SqlCommand from doing
1313 anyting while fetching data using SqlDataReader. Also,
1314 started coding to undo this prevention once the
1315 SqlDataReader is closed.
1317 * System.Data.SqlClient/SqlConnection.cs: get database server
1318 version. Started coding to prevent connection from
1319 doing anything while fetching data and undo once the reader
1320 is closed. Include events SqlInfoMessage and StateChange.
1322 * System.Data.SqlClient/SqlDataReader.cs: start coding to
1323 prevent connection and command from doing anything while
1324 fetching data, and undo when closed.
1326 * Test/PostgresTest.cs: added test to get ServerVersion
1327 property from SqlConnection
1329 2002-05-18 Tim Coleman <tim@timcoleman.com>
1330 * System.Data/DataRow.cs: More implementation,
1331 as well as boundary checks and small semantic
1334 2002-05-18 Tim Coleman <tim@timcoleman.com>
1335 * System.Data/DataRow.cs: Try to reduce memory
1336 usage by only creating the original and proposed
1337 arrays as required in BeginEdit, and then destroying
1338 proposed during EndEdit, and original during AcceptChanges.
1339 * System.Data.Common/DbDataAdapter.cs: Make the
1340 startRecord and maxRecords parameters work correctly.
1342 2002-05-18 Tim Coleman <tim@timcoleman.com>
1343 * System.Data/DataRow.cs: Move the null check in
1344 ItemArray set to above the Invalid Cast check, so
1345 that we don't get null reference exceptions.
1347 2002-05-17 Daniel Morgan <danmorg@sc.rr.com>
1349 * System.Data.SqlClient/PostgresLibrary.cs: handle
1350 data value from database being NULL
1352 * System.Data.SqlClient/SqlCommand.cs: for ExecuteReader,
1353 allow multiple result sets. Added new internal class
1354 SqlResult to pass result set data from SqlCommand
1357 * System.Data.SqlClient/SqlDataReader.cs: allow
1358 multiple result sets.
1360 * System.Data.SqlClient/SqlConnection.cs: moved
1361 things around. Implement IDisposable.
1363 * Test/TestSqlDataReader.cs: test for execution
1364 of multiple result sets and display the results
1365 of these multiple results sets
1367 * Test/TestSqlDataAdapter.cs: tweaks
1369 2002-05-17 Tim Coleman <tim@timcoleman.com>
1370 * System.Data.Common/DbDataAdapter.cs:
1371 - More implementation of Fill methods
1372 - Get rid of isDirty flag, because we can just check
1374 - Do *not* remove DataTables before Filling them
1375 - Implicitly open the connection before doing a Fill
1376 if it does not exist.
1377 * System.Data.SqlClient/SqlDataAdapter.cs:
1379 * System.Data/DataTableCollection.cs:
1380 - Add DataSet to internal, undocumented constructor
1381 - When a table is created, set its DataSet property
1382 - Default table name for creation is "Table1" (see .NET)
1383 - Inherit the ArrayList list from InternalDataCollecitonBase
1384 and maintain a hashtable between table names and
1386 * System.Data/DataTable.cs:
1387 - Add internal dataSet field. This is used by
1388 DataTableCollection when the DataTable is constructed.
1389 * System.Data/DataSet.cs:
1390 - Pass a reference to the DataSet when constructing the
1391 DataTableCollection.
1393 2002-05-16 Tim Coleman <tim@timcoleman.com>
1394 * System.Data.Common/DbDataAdapter.cs:
1395 Use table.Rows.Add (itemArray) instead of
1396 table.Rows.Add (thisRow) to provide better
1398 * System.Data/DataRowCollection.cs:
1399 Some implementation of this class.
1400 * System.Data/InternalDataCollectionBase.cs:
1401 Some implementation. Most notably, this now
1402 has an enumerator so we can use foreach (DataRow row in table.Rows)
1403 in the test classes.
1404 * System.Data/DataTable.cs:
1405 Since DataRowCollection now accepts a DataTable in
1406 its internal constructor, we must pass one in.
1408 2002-05-16 Daniel Morgan <danmorg@sc.rr.com>
1410 * Test/TestSqlDataAdapter.cs: added new test
1411 for SqlDataAdapter, DataSet, DataTableCollection, DataTable,
1412 DataRowCollection, and DataRow. It tests retrieving data
1413 based on a SQL SELECT query. This test is based on Tim Coleman's
1416 2002-05-16 Tim Coleman <tim@timcoleman.com>
1417 * System.Data.Common/DbDataAdapter.cs:
1418 Use table.Rows.Add (thisRow) instead of
1419 table.ImportRow (thisRow)
1420 * System.Data/DataRowCollection.cs:
1421 Construct the ArrayList before using it
1423 2002-05-16 Tim Coleman <tim@timcoleman.com>
1424 * System.Data/DataTable.cs:
1425 Construct the DataRowCollection in the DataTable
1426 constructor. Otherwise, it's a null reference.
1428 2002-05-16 Tim Coleman <tim@timcoleman.com>
1429 * System.Data.SqlClient/SqlDataReader.cs:
1430 Modify GetValues to use Array.Copy() to copy
1431 the results from fields to values, rather than
1432 an assignment, which results in loss of data.
1434 2002-05-16 Tim Coleman <tim@timcoleman.com>
1435 * System.Data/DataRow.cs:
1436 More implementation and documentation. It should
1437 work more like expected, although there is no way
1438 to demonstrate this well yet. DataTable requires
1441 2002-05-15 Tim Coleman <tim@timcoleman.com>
1442 * System.Data/DataRow.cs:
1443 Minor tweaks as I determine exactly how to
1444 implement this class.
1447 2002-05-14 Duncan Mak <duncan@ximian.com>
1449 * System.Data/DataTable.cs (NewRow): Added missing paren to fix build.
1451 2002-05-14 Tim Coleman
1452 * System.Data/DataRow.cs:
1453 * System.Data/DataRowBuilder.cs:
1454 * System.Data/DataTable.cs:
1455 More implementation of these classes. DataRow
1456 can now (possibly) do some useful things.
1457 Still not sure what DataRowBuilder is all about,
1458 other than passing a DataTable in.
1460 2002-05-14 Tim Coleman
1461 * System.Data/DataRowBuilder.cs:
1462 Add stubb for this internal class.
1464 2002-05-13 Tim Coleman
1465 * System.Data.Common/DbDataAdapter.cs:
1466 The maxRecords check was not correct.
1468 2002-05-13 Tim Coleman
1469 * System.Data/DataTableCollection.cs:
1470 Fix an issue when adding a DataTable and size == 0.
1471 Now explicitly checks if size > 0 before doing Array.Copy ()
1472 * System.Data.Common/DbDataAdapter.cs:
1473 Move closer to a working implementation.
1474 Make the IDbCommand fields protected so that they can
1476 * System.Data.SqlClient/SqlDataAdapter.cs:
1477 This should inherit the IDbCommands instead of having its
1478 own. An explicit cast is used to force conversion between
1479 IDbCommand and SqlCommand
1481 2002-05-13 Tim Coleman
1482 * System.Data.Common/DataTableMappingCollection.cs:
1483 Some implementation to allow progress with DbDataAdapter
1485 2002-05-13 Tim Coleman
1486 * System.Data.Common/DbDataAdapter.cs:
1487 Modify to not break compile.
1489 2002-05-13 Tim Coleman
1490 * System.Data.build:
1491 include SqlDataAdapter, SqlRowUpdatedEventArgs,
1492 SqlRowUpdatingEventArgs, SqlRowUpdatedEventHandler,
1493 SqlRowUpdatingEventHandler in the build.
1495 2002-05-13 Tim Coleman
1496 * System.Data.Common/DbDataAdapter.cs:
1497 More implementation.
1498 * System.Data.Common/DataAdapter.cs:
1499 Correction of some of the stubbing, as well as a
1500 little bit more implementation
1502 2002-05-11 Tim Coleman
1503 * System.Data.SqlClient/SqlDataAdapter.cs:
1504 * System.Data.Common/DbDataAdapter.cs:
1505 Moved methods that weren't supposed to
1506 be in SqlDataAdapter out. They should be implemented
1510 2002-05-11 Tim Coleman
1511 * System.Data.SqlClient/SqlDataAdapter.cs:
1512 some implementation of this class. Note
1513 that none of the functionality has been
1514 tested yet, but I felt it should be checked
1515 in at this point as it compiles.
1516 * System.Data.SqlClient/SqlRowUpdatingEventArgs.cs:
1517 * System.Data.SqlClient/SqlRowUpdatedEventArgs.cs:
1518 Modified so that they will compile properly.
1519 Needed to include SqlDataAdapter in the build.
1521 2002-05-11 Rodrigo Moya <rodrigo@ximian.com>
1523 * System.Data/DataTable.cs (Clear): implemented.
1524 (DataTable): removed repeated code in constructors, and call the
1525 basic constructor from the others.
1527 * System.Data/DataColumn.cs: some tweaks.
1529 * System.Data/DataRow.cs (RowState): implemented.
1530 (CancelEdit): set rowState property back to Unchanged.
1531 (RejectChanges): call CancelEdit.
1532 (Delete): set rowState to Deleted.
1534 2002-05-11 Daniel Morgan <danmorg@sc.rr.com>
1536 * System.Data.build: added copy of System.Data.dll to Test directory
1537 for easy testing. Also, added clean for it too.
1539 * System.Data.SqlClient/PostgresLibrary.cs: changed setting of boolean
1540 from PostgreSQL data type to .NET type.
1542 * System.Data.SqlClient/SqlDataReader.cs: beginnings
1543 handling of a NULL value from the database
1545 * Test/PostgresTest.cs: added tests for NULL values retrieved
1548 * Test/ReadPostgresData.cs
1549 * Test/TestExecuteScalar.cs
1550 * Test/TestSqlDataReader.cs
1551 * Test/TestSqlException.cs
1552 * Test/TestSqlIsolationLevel.cs: updated tests to use databas user
1553 "postgres". These tests may eventually be removed since they
1556 2002-05-10 Rodrigo Moya <rodrigo@ximian.com>
1558 * System.Data.build: removed reference to non-existant
1559 TestDataColumn.cs file.
1561 * System.Data/DataSet.cs: added some implementation.
1563 2002-05-09 Daniel Morgan <danmorg@sc.rr.com>
1565 * System.Data.SqlClient/PostgresLibrary.cs: got
1566 PostgreSQL data types time, date, timestamp (DateTime like)
1567 mapped to .NET System.DateTime working based
1568 on ISO DateTime formatting "YYYY-MM-DD hh:mi:ss.ms"
1569 Also mapped pg type boolean to .net Boolean
1571 * SqlClient/SqlConnection.cs: run SQL command to set
1574 * Test/PostgresTest.cs: added test for an UPDATE SQL command,
1575 added tests for aggregates min(), max(), sum(), count(). could
1576 not get avg() to work due to some formatting error; someone claimed
1577 that it was my locale settings. added tests for SELECT of columns
1578 of type boolean, float, double, date, time, and timestamp. They
1579 have not been fully tested, but its a start.
1581 2002-05-09 Tim Coleman <tim@timcoleman.com>
1582 * System.Data.SqlTypes/SqlDecimal.cs: Implementations of
1583 addition, subtraction, and multiplication for the
1584 SqlDecimal type, as well as modification of some other
1585 operations. More to come on this one.
1587 2002-05-08 Rodrigo Moya <rodrigo@ximian.com>
1589 * Test/System.Data_test.build: excluded TestDataColumn, which
1590 should be replaced with a nunit test.
1592 * Test/TestDataColumn.cs: added basic test for DataColumn.cs.
1594 2002-05-07 Tim Coleman <tim@timcoleman.com>
1608 Fix the broken build I made before. Bad
1611 2002-05-07 Tim Coleman <tim@timcoleman.com>
1613 Fix a symantic error I made in SqlString
1614 Equals where I copied and pasted wrongly
1616 2002-05-07 Tim Coleman <tim@timcoleman.com>
1621 * SqlCompareOptions.cs:
1632 Implement CompareTo, Equals, and String conversions
1635 2002-05-05 Daniel Morgan <danmorg@sc.rr.com>
1637 * Test/PostgresTest.cs: modified to run completely. There
1638 are many TODOs in System.Data, so not all data types are
1639 included in the SELECT SQL query. Also, I made it to where
1641 using "host=localhost;dbname=test;user=postgres"
1642 instead of my userid and password. When more types are included,
1645 2002-05-05 Daniel Morgan <danmorg@sc.rr.com>
1647 * Test/PostgresTest.cs: added - ported
1648 libgda postgres-test.c originally by
1649 Gonzalo Paniagua Javier <gonzalo@gnome-db.org>
1652 2002-05-05 Tim Coleman <tim@timcoleman.com>
1653 * System.Data.SqlTypes/SqlBinary.cs:
1654 * System.Data.SqlTypes/SqlBoolean.cs:
1655 * System.Data.SqlTypes/SqlByte.cs:
1656 * System.Data.SqlTypes/SqlDateTime.cs:
1657 * System.Data.SqlTypes/SqlDecimal.cs:
1658 * System.Data.SqlTypes/SqlDouble.cs:
1659 * System.Data.SqlTypes/SqlGuid.cs:
1660 * System.Data.SqlTypes/SqlInt16.cs:
1661 * System.Data.SqlTypes/SqlInt32.cs:
1662 * System.Data.SqlTypes/SqlInt64.cs:
1663 * System.Data.SqlTypes/SqlMoney.cs:
1664 * System.Data.SqlTypes/SqlSingle.cs:
1665 * System.Data.SqlTypes/SqlString.cs:
1666 More implementation, and code clean-up for consistency.
1667 Also, I had implemented many conversions as explicit
1668 that should have been implicit. This should remove
1669 many of the red X's and green pluses from the
1670 System.Data.SqlTypes namespace.
1672 2002-05-05 Miguel de Icaza <miguel@ximian.com>
1674 * System.Data/DataSet.cs: Remove [Serializable] attributes from
1675 methods, those only apply to structs or classes.
1677 Stub out ISerializable, ISupportInitialize, and IListSource methods
1679 * System.Data/DataRowView.cs: Stub out interface methods for
1680 IEditableObject, ICustomTypeDescriptor and IDataErrorInfo
1682 * System.Data/DataView.cs: Comment out non-implemented
1685 * System.Data/DataViewSettingsCollection.cs: Type cast variables
1686 to the correct type to make it compile.
1688 * System.Data/DataViewSettings.cs: remove reference to
1689 non-existance type ApplyDefaultSort, it is a boolean.
1692 2002-05-05 Tim Coleman <tim@timcoleman.com>
1693 * System.Data.SqlTypes/SqlBinary.cs:
1694 * System.Data.SqlTypes/SqlBoolean.cs:
1695 * System.Data.SqlTypes/SqlByte.cs:
1696 * System.Data.SqlTypes/SqlDecimal.cs:
1697 * System.Data.SqlTypes/SqlDouble.cs:
1698 * System.Data.SqlTypes/SqlGuid.cs:
1699 * System.Data.SqlTypes/SqlInt16.cs:
1700 * System.Data.SqlTypes/SqlInt32.cs:
1701 * System.Data.SqlTypes/SqlInt64.cs:
1702 * System.Data.SqlTypes/SqlMoney.cs:
1703 * System.Data.SqlTypes/SqlSingle.cs:
1704 * System.Data.SqlTypes/SqlString.cs:
1705 Various fixes, including adding the SqlNullValueException
1706 when trying to retrieve the value of a null SqlType,
1707 and when casting values, a Null of type A converts to a
1710 2002-05-04 Daniel Morgan <danmorg@sc.rr.com>
1712 * System.Data.SqlClient/PostgresLibrary.cs
1713 * System.Data.SqlClient/SqlCommand.cs
1714 * System.Data.SqlClient/SqlConnection.cs
1715 * System.Data.SqlClient/SqlDataReader.cs
1716 oid should not be hard coded because they
1717 can change from one version of PostgreSQL
1718 to the next. Use the typname's instead.
1719 The PostgreSQL type data retrieves
1720 at database connection time. Any unimplemented
1721 types just default to string. These were things
1722 suggested by Gonzalo.
1724 * Test/ReadPostgresData.cs - stuff
1725 * Test/TestSqlDataReader.cs - stuff
1727 * System.Data.SqlTypes/SqlInt32.cs - added a using
1729 2002-05-03 Tim Coleman <tim@timcoleman.com>
1730 * System.Data.build: Fix the build so that test depends on build
1732 2002-05-03 Tim Coleman <tim@timcoleman.com>
1733 * System.Data.SqlTypes/SqlByte.cs:
1734 * System.Data.SqlTypes/SqlDateTime.cs:
1735 * System.Data.SqlTypes/SqlDecimal.cs:
1736 * System.Data.SqlTypes/SqlDouble.cs:
1737 * System.Data.SqlTypes/SqlGuid.cs:
1738 * System.Data.SqlTypes/SqlInt16.cs:
1739 * System.Data.SqlTypes/SqlInt64.cs:
1740 * System.Data.SqlTypes/SqlMoney.cs:
1741 * System.Data.SqlTypes/SqlSingle.cs:
1742 These files were mysteriously excluded from the last
1743 patch I made and sent to Rodrigo
1744 * System.Data.build: include the System.Data.SqlTypes in the build
1746 2002-05-03 Daniel Morgan <danmorg@sc.rr.com>
1748 * System.Data.build: removed comments
1750 * System.Data.SqlClient/PostgresLibrary.cs: changed
1751 the hard-coded PostgreSQL oid type int's to using an
1752 enum. Also, added PostgreSQL bpchar (character) type.
1754 * Test/TestSqlDataReader.cs: updated test
1755 to include new bpchar PostgreSQL type
1757 2002-05-03 Rodrigo Moya <rodrigo@ximian.com>
1759 * System.Data.SqlTypes/SqlBinary.cs:
1760 * System.Data.SqlTypes/SqlBoolean.cs:
1761 * System.Data.SqlTypes/SqlInt32.cs:
1762 * System.Data.SqlTypes/SqlString.cs: more implementation, by
1763 Tim Coleman <tcoleman@opentext.com>.
1765 2002-05-03 Daniel Morgan <danmorg@sc.rr.com>
1767 * Test/TestExecuteScalar.cs: added test for
1768 method ExecuteScalar in class SqlCommand.
1770 * System.Data/DataColumnCollection.cs - it should
1771 inherit properties from base InternalDataCollectionBase
1772 and use them instead of overriding them, such as, List.
1774 * System.Data/DataColumn.cs
1775 * System.Data/DataTable.cs: tweaks to retrieve
1776 meta data from the database
1778 * System.Data.SqlClient/PostgresLibrary.cs -
1779 added method OidToType to convert PostgreSQL oid type
1780 to System.Type. Renamed method OidTypeToSystem
1781 to ConvertPgTypeToSystem for converting the data value
1782 from a PostgreSQL type to a .NET System type.
1784 * System.Data.SqlClient/SqlCommand.cs: implemented
1785 method ExecuteReader which returns a SqlDataReader
1786 for a light forward only read only result set.
1787 It works on types int4 ==> Int32 and
1788 varchar ==> String. Other types
1791 * System.Data.SqlClient/SqlConnection.cs: added comment
1793 * System.Data.SqlClient/SqlDataReader.cs: implemented
1794 class. It works, but still lots to do.
1796 * Test/ReadPostgresData.cs: stuff
1798 * Test/TestSqlDataReader.cs: updated test for SqlDataReader
1799 to display meta data and the data
1801 2002-05-03 Duncan Mak <duncan@ximian.com>
1803 * TODO: Took out all the Exceptions. They should be all done now.
1805 * System.Data/ConstraintException.cs:
1806 * System.Data/DBConcurrencyException.cs:
1807 * System.Data/DataException.cs:
1808 * System.Data/DeletedRowInaccessibleException.cs:
1809 * System.Data/DuplicateNameException.cs:
1810 * System.Data/EvaluateException.cs:
1811 * System.Data/InRowChangingEventException.cs:
1812 * System.Data/InvalidConstraintException.cs:
1813 * System.Data/InvalidExpressionException.cs:
1814 * System.Data/MissingPrimaryKeyException.cs:
1815 * System.Data/NoNullAllowedException.cs:
1816 * System.Data/ReadOnlyException.cs:
1817 * System.Data/RowNotInTableException.cs:
1818 * System.Data/StrongTypingException.cs:
1819 * System.Data/SyntaxErrorException.cs:
1820 * System.Data/TypeDataSetGeneratorException.cs:
1821 * System.Data/VersionNotFoundException.cs: Added to CVS.
1823 * System.Data.SqlTypes/SqlNullValueException.cs:
1824 * System.Data.SqlTypes/SqlTruncateException.cs:
1825 * System.Data.SqlTypes/SqlTypeException.cs: Added to CVS.
1827 2002-05-02 Rodrigo Moya <rodrigo@ximian.com>
1829 * System.Data/DataViewSettingCollection.cs: implemented.
1831 * System.Data/DataRowView.cs: new stubs.
1833 * System.Data.SqlTypes/SqlByte.cs:
1834 * System.Data.SqlTypes/SqlDateTime.cs:
1835 * System.Data.SqlTypes/SqlDecimal.cs:
1836 * System.Data.SqlTypes/SqlDouble.cs:
1837 * System.Data.SqlTypes/SqlGuid.cs:
1838 * System.Data.SqlTypes/SqlInt16.cs:
1839 * System.Data.SqlTypes/SqlInt64.cs:
1840 * System.Data.SqlTypes/SqlMoney.cs:
1841 * System.Data.SqlTypes/SqlSingle.cs: new stubs, contributed
1842 by Tim Coleman <tcoleman@opentext.com>
1844 * System.Data.build: excluded newly-added files.
1846 2002-05-02 Daniel Morgan <danmorg@sc.rr.com>
1848 * System.Data.SqlClient/PostgresLibrary.cs: included new
1849 internal class that will be a helper class in using
1850 PostgreSQL. PostgresLibrary is used for the
1851 pinvoke methods to the PostgreSQL Client
1852 native C library libpq while the class PostgresHelper
1853 is used for wrapper or helper methods. It currently only
1854 has one static method OidTypeToSystem in converting
1855 PostgreSQL types to .NET System.<type>s, such as,
1856 a PostgreSQL int8 becomes a .NET System.Int64.
1857 Only a few types have been added, such as, int2,
1858 int4, int8, varchar, text, bool, and char. Other types
1861 * System.Data.SqlClient/SqlCommand.cs: implemented
1862 method ExecuteScalar which allows us to do aggregate
1863 functions, such as, count, avg, min, max, and sum. We
1864 also are able to retrieve the result, convert it to the .NET type
1865 as an object. The user of the returned object must explicitly cast.
1867 * Test/ReadPostgresData.cs: updated sample
1868 to help us learn to retrieve data in System.Data.SqlClient
1871 2002-05-01 Daniel Morgan <danmorg@sc.rr.com>
1873 * System.Data.build: added /nowarn: nnnn arguments
1874 so you will not get a ton of warnings. The warnings
1875 being excluded are: 1595, 0067, 0109, 0169, and 0649
1877 2002-05-01 Daniel Morgan <danmorg@sc.rr.com>
1879 * System.Data.build: modified to exclude more
1880 files from the build
1882 2002-05-01 Rodrigo Moya <rodrigo@ximian.com>
1884 * System.Data.SqlClient/SqlClientPermission.cs: added missing
1887 * System.Data/MergeFailedEventArgs.cs: new class, contributed
1888 by John Dugaw <jdugaw@unizenconsulting.com>.
1890 * System.Data.build: excluded new files from build.
1892 2002-04-29 Daniel Morgan <danmorg@sc.rr.com>
1894 * Test/ReadPostgresData.cs: added - Uses the
1895 PostgresLibrary to retrieve a recordset.
1896 This is not meant to be used in Production, but as a
1897 learning aid in coding
1898 class System.Data.SqlClient.SqlDataReader.
1899 This sample does work.
1901 * Test/TestSqlDataReader.cs: added - used
1902 to test SqlDataReader (does not work yet)
1903 Forgot to add to ChangeLog on last commit.
1905 2002-04-28 Rodrigo Moya <rodrigo@ximian.com>
1907 * System.Data/DataViewSetting.cs: new class.
1909 2002-04-28 Rodrigo Moya <rodrigo@ximian.com>
1911 * System.Data/DataViewManager.cs: new class.
1913 * System.Data.SqlTypes/INullable.cs: properties for interfaces
1914 don't have implementation.
1916 * System.Data.SqlTypes/SqlInt32.cs:
1917 * System.Data.SqlTypes/SqlString.cs:
1918 * System.Data.SqlTypes/SqlBoolean.cs: removed destructor, since
1919 these are strctures.
1921 * System.Data.SqlClient/SqlClientPermissionAttribute.cs: added
1924 2002-04-28 Rodrigo Moya <rodrigo@ximian.com>
1926 * System.Data/DataTableRelationCollection.cs: use 'new' keyword
1927 for correctly hiding parent class' members.
1928 (AddRange): use 'override' keyword on overriden method.
1930 (Contains): likewise.
1931 (IndexOf): likewise.
1932 (OnCollectionChanged): likewise.
1933 (OnCollectionChanging): likewise.
1934 (RemoveCore): likewise.
1936 * System.Data/DataColumnCollection.cs: use 'new' keyword.
1938 * System.Data/DataSet.cs: added missing 'using's.
1940 2002-04-28 Rodrigo Moya <rodrigo@ximian.com>
1942 * System.Data/DataSet.cs:
1943 * System.Data/DataTableCollection.cs:
1944 * System.Data/DataView.cs: compilation fixes on Linux.
1946 2002-04-28 Daniel Morgan <danmorg@sc.rr.com>
1948 * System.Data/DataRelation.cs
1949 * System.Data/ForeignKeyConstraint.cs
1950 * System.Data/UniqueConstraint.cs: added more stubs
1952 * System.Data/DataTableRelationCollection.cs: added back to cvs
1953 and modified for compile errors. DataRelationCollection is an
1954 abstract class and there must be a class that implements for
1955 DataTable/DataSet. DataTableRelationCollection was changed
1956 to an internal class.
1958 * System.Data.build: modified - new files added
1959 also wanted to include files/classes in the build
1960 so we can get a compilable forward read only result set.
1961 It compiles now using csc/nant with warnings, but this
1962 is a start for adding functionality for the result set.
1963 Classes associated with/and DataSet are still excluded.
1965 * TODO: modified - updated to do list for System.Data
1967 * System.Data/Constraint.cs
1968 * System.Data/ConstraintCollection.cs
1969 * System.Data/DataRelationCollection.cs
1970 * System.Data/DataRow.cs
1971 * System.Data/DataRowChangeEventArgs.cs
1972 * System.Data/DataRowCollection.cs
1973 * System.Data/DataTable.cs
1974 * System.Data/DataTableCollection.cs
1975 * System.Data/InternalDataCollectionBase.cs
1976 * System.Data/PropertyCollection.cs: modified -
1977 changes to compile SqlDataReader/DataTable and
1980 * System.Data/IDbCommand.cs
1981 * System.Data.SqlClient/SqlCommand.cs: modified -
1982 un-commented overloaded methods ExecuteReader
1983 which returns a SqlDataReader
1985 2002-04-28 Rodrigo Moya <rodrigo@ximian.com>
1987 * System.Data/DataTableCollection.cs: more implementation.
1988 (Count): added 'override' keyword, as pointer out by Martin.
1990 * System.Data.Common/DataColumnMappingCollection.cs (Add, AddRange):
1991 only call Array.Copy when there is really stuff to be copied.
1992 (CopyTo): don't create the temporary array, it's not needed.
1994 * System.Data.build: excluded newly added file from build.
1996 2002-04-27 Rodrigo Moya <rodrigo@ximian.com>
1998 * System.Data/DataTableRelationCollection.cs: removed, it's not
1999 on MS SDK documentation.
2001 * System.Data/DataTableCollection.cs: new class.
2003 2002-04-27 Daniel Morgan <danmorg@sc.rr.com>
2005 * System.Data/DataRowChangeEventArgs.cs
2006 * System.Data/DataRowCollection.cs
2007 * System.Data/DataView.cs
2008 * System.Data/PropertyCollection.cs: added new stubs
2010 * System.Data.build: modified - added new files to exclude
2013 * TODO: modified - removed files from TODO list
2014 that were stubbed above
2016 * System.Data/DataColumn.cs
2017 * System.Data/DataRow.cs: modified - various tweaks
2018 and added internal method SetTable to set the reference
2021 * System.Data/DataSet.cs: modified - class was not
2024 * System.Data/DataTable.cs: modified - temporarily commented
2025 DataSet and DataView references - trying to compile a SqlDataReader,
2026 DataTable, and dependencies for a forward read-only result set.
2027 SqlDataAdapter, DataSet, and DataView will come later once we can get
2028 a forward read only result set working.
2030 * System.Data/IDataRecord.cs: modified - source code lines should
2033 * System.Data/InternalDataCollectionBase.cs: modified - started
2034 implementing this base class for collection of data rows,
2035 columns, tables, relations, and constraints
2037 * System.Data.SqlClient/SqlException.cs: modified -
2038 call base(message) so a unhandled exception displays
2039 the message of a SQL error instead of the
2040 default SystemException message
2042 * Test/TestSqlException.cs: modified -
2043 handle the rollback properly for a SqlException on a
2046 2002-04-23 Daniel Morgan <danmorg@sc.rr.com>
2048 * System.Data.build: modified - added new
2049 files to exclude from build
2051 * System.Data/Constraint.cs
2052 * System.Data/ConstraintCollection.cs
2053 * System.Data/InternalDataCollectionBase.cs: added -
2054 stubs which are needed to build DataTable.cs
2056 * TODO: modified - added more classes TODO and
2057 added more stuff TODO, such as, create script
2058 to create test database monotestdb for testing
2059 classes in System.Data
2061 2002-04-23 Rodrigo Moya <rodrigo@ximian.com>
2063 * System.Data.Common/DataAdapter.cs:
2064 * System.Data.Common/DataColumnMappingCollection.cs:
2065 * System.Data.Common/DataTableMappingCollection.cs:
2066 * System.Data.Common/DbDataPermission.cs:
2067 * System.Data.Common/DbDataPermissionAttribute.cs: some
2068 compilation errors fixed.
2070 2002-04-23 Daniel Morgan <danmorg@sc.rr.com>
2072 * TODO: modified - added classes TODO, and
2073 a poor attempt at System.Data plan
2075 2002-04-23 Daniel Morgan <danmorg@sc.rr.com>
2077 * ChangeLog: modified - put tabs where they belong
2079 * System.Data.SqlClient/SqlDataReader.cs
2080 * System.Data/DataColumn.cs: modified - compile errors
2081 trying to compile SqlDataAdapter and dependencies
2083 2002-04-23 Daniel Morgan <danmorg@sc.rr.com>
2085 * System.Data.SqlTypes/SqlBoolean.cs
2086 * System.Data.SqlTypes/SqlCompareOptions.cs
2087 * System.Data.SqlTypes/SqlInt32.cs
2088 * System.Data.SqlTypes/SqlString.cs: added - new stubs
2090 * System.Data/DataTable.cs
2091 * System.Data.SqlClient/SqlCommand.cs
2092 * System.Data.SqlClient/SqlConnection.cs
2093 * System.Data.SqlClient/SqlError.cs
2094 * System.Data.SqlClient/SqlTransaction.cs: modified -
2097 * System.Data.SqlClient/SqlException.cs: modified -
2098 missing Message on indexer for Message property
2100 2002-04-21 Daniel Morgan <danmorg@sc.rr.com>
2102 * System.Data.SqlClient/SqlCommand.cs: modified - to
2103 compile using mcs. This problem is
2104 returning a stronger type in csc vs. msc
2106 * System.Data.SqlClient/SqlConnection.cs: modified - msc
2107 can not do a using PGconn = IntPtr; and then declare
2108 with PGconn pgConn = IntPtr.Zero;
2109 Thiw works under csc though. Had to comment using and
2110 changed declaration to IntPtr pgConn = IntPtr.Zero;
2111 Also, got rid of compile warnings for hostaddr and port.
2113 * System.Data.SqlClient/SqlErrorCollection.cs: modified - got
2114 rid of compile warnings. Commented MonoTODO attribute because mcs
2115 doesn't seem to work with C# array property indexer (Item)
2118 * System.Data.SqlClient/SqlParameterCollection.cs: modified -
2119 commented MonoTODO attribute for indexer for mcs compiling
2121 * Test/TestSqlIsolationLevel.cs:
2122 * Test/TestSqlInsert.cs:
2123 * Test/TestSqlException.cs: modified -
2124 removed extra ExecuteNonQuery which caused two inserted rows
2126 2002-04-20 Daniel Morgan <danmorg@sc.rr.com>
2128 * System.Data/StateChangeEventArgs.cs - added
2129 needed to compile System.Data.dll with mcs.
2131 2002-04-20 Daniel Morgan <danmorg@sc.rr.com>
2133 * System.Data.OleDb: added directory - for OleDb database
2136 * System.Data.SqlClient/SqlClientPermission.cs
2137 * System.Data.SqlClient/SqlClientPermissionAttribute.cs
2138 * System.Data.SqlClient/SqlCommandBuilder.cs
2139 * System.Data.SqlClient/SqlInfoMessageEventHandler.cs
2140 * System.Data.SqlClient/SqlRowUpdatedEventArgs.cs
2141 * System.Data.SqlClient/SqlRowUpdatedEventHandler.cs
2142 * System.Data.SqlClient/SqlRowUpdatingEventArgs.cs
2143 * System.Data.SqlClient/SqlRowUpdatingEventHandler.cs
2144 * Test/TestSqlException.cs
2145 * Test/TestSqlIsolationLevel.cs: added - more tests
2147 * System.Data.build: modified - added new files - excludes these too
2149 * System.Data.SqlClient/PostgresLibrary.cs - modified - comment
2151 * System.Data.SqlClient/SqlConnection.cs
2152 * System.Data.SqlClient/SqlCommand.cs
2153 * System.Data.SqlClient/SqlTransaction.cs
2154 * System.Data.SqlClient/SqlException.cs
2155 * System.Data.SqlClient/SqlErrorCollection.cs
2156 * System.Data.SqlClient/SqlError.cs: modified - transaction and
2157 exception/error handling. SqlConnection(connectionString)
2158 constructor should not automatically connect.
2160 * System.Data.SqlClient/SqlDataReader.cs
2161 * System.Data.SqlClient/SqlDataAdapter.cs
2162 * System.Data.SqlClient/SqlParameter.cs
2163 * System.Data.SqlClient/SqlParameterCollection.cs: modified -
2164 added using System.ComponentModel;
2166 * Test/TestSqlInsert.cs: modified - to use transaction
2168 2002-04-17 Rodrigo Moya <rodrigo@ximian.com>
2170 * System.Data/DataRow.cs: new skeletons.
2172 * System.Data.Common/DataAdapter.cs:
2173 * System.Data.Common/DataColumnMapping.cs:
2174 * System.Data.Common/DataColumnMappingCollection.cs:
2175 * System.Data.Common/DataTableMapping.cs:
2176 * System.Data.Common/DataTableMappingCollection.cs:
2177 * System.Data.Common/DbDataAdapter.cs:
2178 * System.Data.Common/RowUpdatedEventArgs.cs:
2179 * System.Data.SqlClient/SqlDataAdapter.cs:
2180 * System.Data.SqlClient/SqlInfoMessageEventArgs.cs: compilation
2183 * System.Data.Common/DbDataRecord.cs:
2184 * System.Data.Common/DbEnumerator.cs: removed MS implementation
2187 2002-04-17 Daniel Morgan <danmorg@sc.rr.com>
2189 * Test/TestSqlInsert.cs: modified - do
2190 a SQL DELETE before SQL INSERT of row so you can use this
2193 * System.Data.SqlClient/SqlTransaction.cs: modified - default
2194 IsolationLevel for PostgreSQL is ReadCommitted. However,
2195 PostgreSQL allows Serializable as well.
2196 (Thanks to Gonzalo for that!)
2198 * System.Data.SqlClient/SqlConnection.cs: modified
2199 * System.Data.SqlClient/SqlCommand.cs: modified
2200 * System.Data.SqlClient/SqlTransaction.cs: modified - got transactions
2201 working; however, we still need to implement SQL errors
2202 and exceptions to properly handle transactions. Also, added
2203 status and error message support from the PostgreSQL database.
2204 Currently, this does a Console.WriteLine() to display the
2205 status and error messages, but this is a TODO
2206 for SQL errors and exceptions.
2208 * System.Data/TODOAttribute.cs: added - needed MonoTODO
2209 attribute for System.Data.dll assembly
2211 * System.Data/IDbCommand.cs: modified - commented
2212 overloaded method ExecuteReader
2213 so System.Data.SqlClient.SqlCommand can compile
2215 * System.Data/IDbCommand.cs: modified
2216 * System.Data/IDbConnection.cs: modified - added using System;
2217 * System.Data/IDataParameter.cs
2219 * System.Data.build: modified - build classes
2220 in System.Data.SqlClient and exclude others in System.Data
2222 * System.Data.SqlClient/PostgresLibrary.cs: modified - change
2223 parameter data type from IntPtr to enum ExecStatusType
2225 * ChangeLog: modified - corrected previous entries in log
2227 2002-04-16 Rodrigo Moya <rodrigo@ximian.com>
2229 * System.Data.Common/DataColumnMappingCollection.cs: added basic
2230 implementation. Still missing some stuff.
2232 2002-04-16 Daniel Morgan <danmorg@sc.rr.com>
2234 * System.Data.SqlClient/SqlConnection.cs: modified - got
2235 to compile, run, and connect to PostgreSQL database
2237 * System.Data.SqlClient/SqlCommand.cs: modified - got
2238 to compile, run, and execute a SQL INSERT command
2239 which successfully inserted a row
2240 into the PostgreSQL database
2242 * System.Data.SqlClient/SqlTransaction.cs: modified
2243 * System.Data.SqlClient/SqlParameter.cs: modified
2244 * System.Data.SqlClient/SqlParameterCollection.cs: modified
2245 * System.Data.SqlClient/SqlError.cs: modified
2246 * System.Data.SqlClient/SqlErrorCollection.cs: modified
2247 * System.Data.SqlClient/SqlException.cs: modified
2248 * System.Data.SqlClient/PostgresLibrary.cs: modified - to compile
2250 * System.Data.SqlClient/SqlAdapter: modified
2251 * System.Data.SqlClient/SqlReader: modified - add more stubs
2253 2002-04-16 Daniel Morgan <danmorg@sc.rr.com>
2255 * Test/TestSqlInsert.cs: added
2257 2002-04-15 Daniel Morgan <danmorg@sc.rr.com>
2259 * System.Data.SqlClient/SqlInfoMessageEventArgs.cs: added - using in
2260 class SqlConnecition
2261 * System.Data.SqlClient/SqlErrorCollection.cs: added
2262 * System.Data.SqlClient/SqlErrors.cs: removed - no such class SqlErrors
2264 2002-04-15 Christopher Podurgiel <cpodurgiel@msn.com>
2266 * System.Data.IDbDataParameter: Added Interface to IDataParameter.
2267 * System.Data.IDbTransaction: Added Interface to IDisposable.
2268 * System.Data.IDbCommand: Fixed Capitalization of class name.
2269 * System.Data.IDbConnection: Fixed Capitalization of class name.
2271 2002-04-15 Rodrigo Moya <rodrigo@ximian.com>
2273 * System.Data.Common/DbDataPermissionAttribute.cs:
2274 * System.Data.Common/DataAdapter.cs:
2275 * System.Data.Common/DataColumnMapping.cs:
2276 * System.Data.Common/DbDataPermission.cs: added some implementation.
2278 2002-04-15 Rodrigo Moya <rodrigo@ximian.com>
2280 * System.Data.SqlClient/SqlConnection.cs: fixed constructor chaining
2281 syntax, as pointed out by Levent Camlibel.
2283 2002-04-14 Rodrigo Moya <rodrigo@ximian.com>
2285 * System.Data.SqlTypes/SqlBinary.cs:
2286 * System.Data.SqlTypes/INullable.cs: new skeletons.
2288 2002-04-14 Daniel Morgan <danmorg@sc.rr.com>
2290 * System.Data.SqlClient/PostgresLibrary.cs: new internal class, which
2291 contains all calls the the PostgreSQL client library, to be used
2292 everywhere in System.Data.SqlClient.
2294 2002-03-30 Rodrigo Moya <rodrigo@ximian.com>
2296 * System.Data.SqlClient/SqlConnection.cs: implemented basic
2299 * System.Data.SqlTypes/SqlNullValueException.cs: new skeletons.
2301 2002-03-29 Rodrigo Moya <rodrigo@ximian.com>
2303 * System.Data.Common/DbDataRecord.cs:
2304 * System.Data.Common/DbEnumerator.cs:
2305 * System.Data.Common/RowUpdatedEventArgs.cs:
2306 * System.Data.Common/RowUpdatingEventArgs.cs:
2307 * System.Data.Common/DbDataPermissionAttribute.cs: new skeletons.
2309 2002-03-28 Rodrigo Moya <rodrigo@ximian.com>
2311 * System.Data.Common/DataTableMappingCollection.cs:
2312 * System.Data.Common/DbDataAdapter.cs:
2313 * System.Data.Common/DbDataPermission.cs:
2314 * System.Data.Common/DataTableMapping.cs: new skeletons.
2316 * System.Data.SqlClient/SqlDataAdapter.cs:
2317 * System.Data.SqlClient/SqlDataReader.cs:
2318 * System.Data.SqlClient/SqlErrors.cs:
2319 * System.Data.SqlClient/SqlError.cs:
2320 * System.Data.SqlClient/SqlException.cs:
2321 * System.Data.SqlClient/SqlParameter.cs:
2322 * System.Data.SqlClient/SqlParameterCollection.cs:
2323 * System.Data.SqlClient/SqlTransaction.cs:
2324 * System.Data.SqlClient/SqlCommand.cs: fixed skeletons.
2326 2002-03-27 Rodrigo Moya <rodrigo@ximian.com>
2328 * System.Data.Common/DataColumnMapping.cs:
2329 * System.Data.Common/DataColumnMappingCollection.cs:
2330 * System.Data.Common/DataAdapter.cs: created skeletons.
2332 * System.Data.build: exclude new directories from build.
2334 2002-03-27 Rodrigo Moya <rodrigo@ximian.com>
2336 * System.Data.SqlClient/SqlTransaction.cs: started implementation.
2338 * System.Data.SqlClient/SqlConnection.cs (BeginTransaction):
2339 implemented (2 methods).
2341 2002-03-24 Duncan Mak <duncan@ximian.com>
2343 * System.Data.build: Excluded System.Data.SqlClient from the build.
2344 The stubs are incomplete and they are stopping the build.
2346 * System.Data.SqlClient/SqlCommand.cs: Replaced 'implements' with ':'.
2348 2002-03-24 Rodrigo Moya <rodrigo@ximian.com>
2350 * System.Data.SqlClient/*: added skeletons for the SQL managed
2351 provider for ADO.Net, to be based initially in PostgreSQL.
2353 2002-03-15 Christopher Podurgiel <cpodurgiel@msn.com>
2355 Changed the Namespace on some Enums from mono.System.Data to System.Data
2357 2002-03-01 Christopher Podurgiel <cpodurgiel@msn.com>
2359 * DataColumnCollection.cs : When an existing DataColumn is added, will now Assign a
2360 default name if the ColumnName is null.
2361 * DataSet.cs : Added
2362 * DataTable.cs : Added
2363 * DataRelationCollection.cs : Added
2364 * DataTableRelationCollection.cs : Added
2365 * DataColumn : Added
2367 2002-02-11 Christopher Podurgiel <cpodurgiel@msn.com>
2369 * DataColumnChangeEventArgs.cs : Added
2370 * DataColumnCollection.cs : Added
2372 2002-02-10 Christopher Podurgiel <cpodurgiel@msn.com>
2374 * Removed *.cs from System.Data as the correct files are in mcs/class/System.Data/System.Data
2375 * Updated all Enums, Interfaces, and Delegates in System.Data