File: TODO

package info (click to toggle)
mono 1.2.2.1-1etch1
  • links: PTS
  • area: main
  • in suites: etch
  • size: 142,720 kB
  • ctags: 256,408
  • sloc: cs: 1,495,736; ansic: 249,442; sh: 18,327; xml: 12,463; makefile: 5,046; perl: 1,248; asm: 635; yacc: 285; sql: 7
file content (198 lines) | stat: -rw-r--r-- 5,368 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
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.