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