2003-07-21 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
[mono.git] / mcs / class / Mono.Data.MySql / ChangeLog
1 2002-11-13  Daniel Morgan <danmorg@sc.rr.com>
2
3         * Mono.Data.MySql/MySqlParameter.cs
4         * Mono.Data.MySql/MySqlParameterCollection.cs: added
5         simple input parameters support.  AFAIK, MySQL does not
6         support parameters, so this is just a search and replace
7         
8         * Test/TestParameters.cs: add file to test Parameters
9         
10         * Test/TestDataAdapter.cs: add file to test MySqlDataAdapter
11         
12         * Mono.Data.MySql.build: added files to windows build
13         
14         * list: added files to linux build
15         
16         * Mono.Data.MySql/MySql.cs: make sure all 
17         DllImport attributes
18         also have the SuppressUnmanagedCodeSecurity attribute
19         
20         * Mono.Data.MySql/MySqlCommand.cs: add support for
21         input parameters, don't execute empty queries,
22         and support of CommandTypes of StoredProcedure and TableDirect
23         
24         * Mono.Data.MySql/MySqlConnection.cs: borrowed Tim Coleman's 
25         code from SqlConnection to handle connection 
26         parameters correctly
27         
28         * Mono.Data.MySql/MySqlTypes.cs
29         * Mono.Data.MySql/MySqlDataReader.cs: started support 
30         for NULL values.
31         
32         * Test/MySqlTest.cs: test for NULL values, stored procedures, 
33         executing a non-query via ExecuteReader(), new connection 
34         string functionality, and exception handling
35
36 2002-11-01  Daniel Morgan <danmorg@sc.rr.com>
37
38         * Mono.Data.MySql/MySqlDataAdapter.cs
39         * Mono.Data.MySql/MySqlRowUpdatedEventArgs.cs
40         * Mono.Data.MySql/MySqlRowUpdatedEventHandler.cs
41         * Mono.Data.MySql/MySqlRowUpdatingEventArgs.cs
42         * Mono.Data.MySql/MySqlRowUpdatingEventHandler.cs: added new
43          files for the Data Adapter for the MySQL data provider
44         
45         * list: added new files to Linux build
46         
47         * Mono.Data.MySql/MySqlCommand.cs: implement the
48         interfaces correctly and Dispose().  Allow the provider to 
49         execute multiple queries for a reader
50         
51         * Mono.Data.MySql/MySqlTransaction.cs
52         * Mono.Data.MySql/MySqlConnection.cs: implement the 
53         interfaces correctly and Dispose
54         
55         * Mono.Data.MySql/MySqlDataReader.cs: implement the
56         interfaces correctly and Dispose().  Allow the provider to 
57         execute multiple queries for a reader.  Implement
58         IEnumerable.GetEnumerator() to return a DbEnumerator
59         which can be used to do a 
60         foreach (DbDataRecord rec in myDataReader) { ... }
61         and allows a IDataReader to be "data binded" to a DataGrid.
62         Thanks goes to Tim Coleman (I copied this from his SqlDataReader).
63
64 2002-10-26  Daniel Morgan <danmorg@sc.rr.com>
65
66         * Mono.Data.MySql/MySqlError.cs
67         * Mono.Data.MySql/MySqlErrorCollection.cs
68         * Mono.Data.MySql/MySqlException.cs: added files for
69         MySQL Exceptions
70         
71         * Mono.Data.MySql.build: removed excludes for new
72         files (thus adding them to the build) on Windows
73         
74         * list: added files to build on Linux
75         
76         * Mono.Data.MySql/MySqlCommand.cs
77         * Mono.Data.MySql/MySqlConnection.cs: modified
78         to throw a new MySqlException when a MySqlError occurs
79
80 2002-10-13  Daniel Morgan <danmorg@sc.rr.com>
81
82         * Mono.Data.MySql/MySqlDataReader.cs: change "DataType" in 
83         schema DataTable to be typeof(Type) instead of 
84         typeof(string) to make it more like MS.NET
85         
86         * Test/MySqlTest.cs: tweaks
87
88 2002-10-13  Daniel Morgan <danmorg@sc.rr.com>
89
90         * Mono.Data.MySql/MySqlCommand.cs:
91         * Mono.Data.MySql/MySqlConnection.cs:
92         * Mono.Data.MySql/MySqlDataReader.cs:
93         * Mono.Data.MySql/MySqlTypes.cs: modifed -
94         handle MySQL types to .NET types and some fixes
95
96 2002-10-12  Daniel Morgan <danmorg@sc.rr.com>
97
98         * Test/MySqlTest.cs: added file - to do
99           various Tests for the MySql provider
100           
101         * Mono.Data.MySql/Field.cs: enum MySqlFieldFlags
102         should be unit.  Rename class Field to MySqlMarshalledField
103         to represent what it really is.  Redo handling of field Flags.
104         
105         * Mono.Data.MySql/MySql.cs: added method AffectedRows() to 
106         pinvoke into mysql_affected_rows() so we can know what rows 
107         were affected by an INSERT, UPDATE, or DELETE SQL statement.
108         
109         * Mono.Data.MySql/MySqlCommand.cs: rename 
110         internal method rowVal() to GetColumnData().  In GetColumnData,
111         if IntPtr.Zero, return an empty "" string instead of "NULL".
112         Pass command behavior to data reader.
113                 
114         * Mono.Data.MySql/MySqlDataReader.cs: redo the 
115         way field meta data and data is structured so 
116         a schema DataTable can be built.  Implement
117         GetSchemaTable() to create a DataTable holding the schema
118         of the fields.  Implemented more methods.
119         
120         * Mono.Data.MySql/MySqlTypes.cs: added method to 
121         translate System.Data.DbType to System.Type
122         
123         * est/TestMySqlExecuteReader.cs: minor tweaks
124
125 2002-10-11  Daniel Morgan <danmorg@sc.rr.com>
126
127         * Mono.Data.MySql/MySqlTransaction.cs: added to
128           support transactions (BEGIN, COMMIT/ROLLBACK).
129           
130         * Mono.Data.MySql.build: included MySqlTransaction 
131           in build on Windows
132           
133         * list: included MySqlTransaction
134           in build on Linux
135           
136         * Mono.Data.MySql/MySql.cs: the mysql thread functions
137           were misnamed and prevented them from being loaded
138           by the mono JIT - my_thread_init() and my_thread_end().
139           Now, threading should work in the MySQL provider and
140           less memory leaks too.
141           
142         * Mono.Data.MySql/Test.cs: remove conditional comiliation
143           since everything compiles fine on Mono now
144           
145         * Mono.Data.MySql/MySqlCommand.cs: remove Console.WriteLine()
146         
147         * Mono.Data.MySql/MySqlConnection.cs: added transaction 
148           support, implemented method ChangeDatabase(), implemented
149           property ServerVersion
150           
151         * Test/TestMySqlInsert.cs: modified test 
152           to handle transactions
153
154 2002-10-10  Rodrigo Moya <rodrigo@ximian.com>
155
156         * makefile.gnu: added makefile for linux build.
157
158         * list: updated to contain all missing files.
159
160         * Mono.Data.MySql/makefile: removed unneeded makefile.
161
162 2002-10-09  Daniel Morgan <danmorg@sc.rr.com>
163
164         * Mono.Data.MySql/MySqlDataReader.cs: added
165           started implementing Reader for MySQL provider
166           
167         * Mono.Data.MySql/MySqlTypes.cs: added
168           to hold internal helper methods, enums, structs, classes
169           for handling MySQL data types
170
171         * Test/TestMySqlExecuteReader.cs
172         * Test/TestMySqlExecuteScalar.cs: added simple tests
173           for ExecuteScalar() and ExecuteReader() methods
174           in MySqlCommand.  We are able to retrieve data
175           from MySQL now.
176
177         * Mono.Data.MySql.build: took out exclude
178       so MySqlExecuteReader.cs will build
179       
180     * Mono.Data.MySql/Field.cs: added enum to file
181       and added helper methods field flags
182       
183     * Mono.Data.MySql/MySqlCommand.cs: started
184       implementation of ExecuteScalar nd ExecuteReader methods
185       to retrieve data.  Also, added internal method rowVal
186       for marshalling field data.
187       
188     * Mono.Data.MySql/Test.cs: take out a bunch of
189       Console.WriteLines'
190  
191 2002-08-13  Daniel Morgan <danmorg@sc.rr.com>
192
193         * Mono.Data.MySql/MySqlCommand.cs: modified
194         rowsRetrieved should be rowsAffected in ExecuteNonQuery
195         because the number is only to show the rows affected
196         by an INSERT, UPDATE, or DELETE; anything else, the
197         number is -1
198         
199         * Mono.Data.MySql/Test.cs: modified
200         enable retrieving the results from a query.  even though
201         this still does not work for some reason, i thought
202         i would enable it so others could see the problem.
203
204 2002-05-30  Daniel Morgan <danmorg@sc.rr.com>
205
206         * Mono.Data.MySql.build: modified
207         need to copy Mono.Data.MySql.dll to mcs/class/System.Data/Test
208         so the SqlSharpCli test program can use MySql too
209
210 2002-05-30  Daniel Morgan <danmorg@sc.rr.com>
211         
212         * Test/TestMySqlInsert.cs: added test
213         to do an SQL INSERT to insert a row into table.
214         Works on cygwin compiled using mcs and mono and
215         runs on mint, but it fails running on mono.
216         
217         * Mono.Data.MySql/MySqlCommand.cs
218         * Mono.Data.MySql/TODOAttribute.cs
219         * Mono.Data.MySql/MySqlConnection.cs: added
220         
221         * list: added
222         so can build with mcs/mono on linux
223         I only tested it on Cygwin though.
224         To work on linux, the library name in the pinvokes
225         in MySql.cs will need to be changed.
226         
227         * Mono.Data.MySql.build: modified
228         exclude files from build.  also copy Mono.Data.MySql.dll
229         to Mono.Data.MySql so you can build and run Test.cs
230         
231         * Mono.Data.MySql/MySql.cs: modified
232         tweaks to compile under mcs/mono and run under mint or mono.
233         Runs under mint, but not mono. Had to comment out 
234         mysql_thread_begin/mysql_thread_end functions because they refused
235         to load in mono.  Until this is fixed, a memory leak will occur.
236         Can not retrieve field data from MySQL because the PtrToStructure()
237         needs to be implemented in System.Runtime.InteropServices.Marshal class.
238         However, this will be very complicated to do.  So, we connect to
239         MySQL and execute SQL Commands, but we can not do Queries yet.
240                 
241         * Mono.Data.MySql/Test.cs: modified
242         tweaks to test C# bindings with compiling mcs/mono and
243         running on mint and mono.  Runs on mint, but not mono.
244
245 2002-05-28  Daniel Morgan <danmorg@sc.rr.com>
246
247         * Mono.Data.MySql
248         * Mono.Data.MySql/Mono.Data.MySql: add directories
249         for the Mono.Data.MySql assembly and namespace.  This
250         will contain the MySql .NET Data Provider which will use
251         C# bindings to libMySQL
252         
253         * Mono.Data.MySql/Test.cs: added file to
254         test the C# bindings to MySQL
255         
256         * Mono.Data.MySql/MySql.cs
257         * Mono.Data.MySql/Field.cs: added files
258         for the beginnings of C# bindings to MySQL
259         
260         * Mono.Data.MySql/makefile: added file
261         to build the MySQL C# bindings on csc/Microsoft.NET
262         
263         These C# bindings to the MySQL libMySQL.dll were created by
264         Brad Merrill <zbrad@cybercom.net> 
265         and can be downloaded from
266         http://www.cybercom.net/~zbrad/DotNet/MySql/
267         and put into the Mono Class Library under the X11/MIT License
268         with Brad Merril's permission.
269