| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- 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
- - implement DataTableMapping.cs
- - implement DataTableMappingCollection.cs
- - implement DbDataAdapter.cs
- - implement DbDataPermission.cs
- - 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
- Provider Factoros (target: mono 1.2 PROFILE=net_2_0)
- ====================================================
- * Create Configuration Class
- DbProviderFactoriesConfigurationHandler - done
- DbProviderConfigurationHandler - not much documents/use cases.
- ConnectionStringsSection - done
- ConnectionStringSettingsCollection - done
- ConnectionStringSettings - done
- FIXME: Currently the test case for ConnectionStringsSection
- fails as new configuration API is not yet implemented in
- System.dll.
- A temporary handler ConnectionStringSectionHandler is
- available in System.Data.dll.
- * Create Base class
- DbProviderFactories - done
- DbProviderFactory - done
- DbConnectionFactory
-
- Add nunit test cases for these. - done
-
- * Create Factory classes & methods for Providers.
- Factory methods for SqlClient - done.
- Factory methods for Odbc provider - done.
- Factory methods for OleDb provider
- * DbConnectionStringBuilder - done
- Asynchronous Command Execution ((target: mono 1.2 PROFILE=net_2_0)
- ==================================================================
- * Implement the following Asynchronous Execution Commands for SqlClient
- - BeginExecuteNonQuery (2 overrides) - done
- - BeginExecuteReader (3 overrides) - done
- - BegineExecuteXmlReader - done
- - Implement corresponding asynchronous methods in Tds driver - done
- * Pending
-
- - Provide Stand Alone test cases
- - Check whether the result column is xml while doing
- EndExecuteXmlReader.
- Test Cases
- ==========
- * Provide a single consistent test fixture for all data providers
- available in Test/ProviderTests
- * NUnit-ize Provider Tests
- * Make these tests to be able to run by command
- make run-test PROVIDER=mysql # to run tests marked for mysql & SQL92.
- * Provide SQL92 complaint scripts for shema & data, to be loaded
- irrelevant of data providers.
|