2002-05-11 Tim Coleman
[mono.git] / mcs / class / System.Data / TODO
index e8546547888ee6a690d62e994b5259b1db93a1c1..acd1a7f42342d855ab0e29ce7de472c75edc840d 100644 (file)
@@ -1,6 +1,24 @@
-System.Data.Common
-------------------
+System.Data TODO List
+=====================
 
+Update this file as needed...
+
+* To get ExecuteReader() in a SqlCommand object to return 
+  a SqlDataReader object which can Read() data and get a String or
+  Int32 from the database.  Other types can be done later.
+  
+  A class (SqlDataReader) that implements IDataReader/IDataRecord
+  only has one row in memory at a time.
+
+In order to do this, we need to compile and edit these classes:
+       SqlDataReader   DataTable       DataRowCollection               DataRow
+                                                               DataColumnCollection    DataColumn
+                                                               DataConstraintCollection DataConstraint
+                                                               DataRelationCollection  DataRelation
+                                                               DataTableCollection
+       and dependencies...
+
+System.Data.Common classes that need to be implemented:
  - implement DataAdapter.cs
  - implement DataColumnMapping.cs
  - implement DataColumnMappingCollection.cs
@@ -11,3 +29,106 @@ System.Data.Common
  - implement DbDataPermissionAttribute.cs
  - implement RowUpdatedEventArgs.cs
  - implement RowUpdatingEventArgs.cs
+
+The following classes implement InternalDataCollectionBase:
+       * DataRowCollection
+       * DataColumnCollection
+       * DataTableCollection
+       * DataRelationCollection - an abstract class used by DataTable and DataSet
+       * ConstraintCollection
+
+DataTableRelationCollection is an internal class that implements DataRelationCollection
+and is used by DataTable for parent/child relations.  Don't know if it will/will not
+be used by DataSet.
+
+Other classes, structs, etc. that are missing:
+       DataRowView
+       DataSysDescriptionAttribute
+       DataViewManager
+       DataViewSetting
+       FillErrorEventArgs
+       MergeFailedEventArgs
+       TypedDataSetGenerator
+The additional System.Data.SqlTypes classes need to be implemented:
+       SqlByte
+       SqlDataTime
+       SqlDecimal
+       SqlDouble
+       SqlGuid
+       SqlInt16
+       SqlInt64
+       SqlMoney
+       SqlSingle
+
+* provide a standard scheme for storing
+  connection string data
+
+* allow Execute methods in SqlCommand to
+  call a stored procedure
+
+* Create a script for testing System.Data:
+  - calls script to create 
+    a test database named monotestdb
+  - set up nunit for testing System.Data
+  - set up System.Data.Config or some other 
+    file to hold connection strings and other
+    configuration settings for the testing System.Data
+  - any other stuff needed...
+
+* get SqlParameter/SqlParameterCollection
+  working so you can:
+  - for queries/commands that have parameters:
+    o  input 
+    o  output 
+    o  return
+    o  input/output
+  - call a stored procedure with parameters
+* be able to return a XmlReader from
+  using method ExecuteXmlReader of
+  a SqlCommand object
+
+* get SqlDataAdapter/DataSet working
+
+* Create Library for PInvoking into libgda
+  This will be used by System.Data.OleDb classes
+
+* Begin System.Data.OleDb classes:
+  - OleDbConnection
+  - OleDbCommand
+  - OleDbTransaction
+
+* Do more of the OleDb classes to
+  retrieve a OleDbDataReader object
+  from a query (SELECT FROM):
+  - OleDbDataReader
+  - others...
+
+* Do more OleDb classes for DataSet:
+  - OleDbDataAdapter
+  - others...
+  
+* Security Audit of System.Data
+
+* Create a MySQL ADO.NET Provider
+
+* Create an Oracle ADO.NET Provider
+
+* Create an Interbase ADO.NET Provider
+
+* Create a Sybase ADO.NET Provider (TDS?)
+
+* Create an IBM UDB DB2 ADO.NET Provider
+
+* Create other ADO.NET providers...
+
+Integration
+===========
+
+* get System.Data to work with ASP.NET's
+  System.Web.UI.WebControls.DataGrid
+
+* get System.Data to work with GUI
+  System.Windows.Forms.DataGrid
+