2002-11-01 Daniel Morgan * Mono.Data.MySql/MySqlDataAdapter.cs * Mono.Data.MySql/MySqlRowUpdatedEventArgs.cs * Mono.Data.MySql/MySqlRowUpdatedEventHandler.cs * Mono.Data.MySql/MySqlRowUpdatingEventArgs.cs * Mono.Data.MySql/MySqlRowUpdatingEventHandler.cs: added new files for the Data Adapter for the MySQL data provider * list: added new files to Linux build * Mono.Data.MySql/MySqlCommand.cs: implement the interfaces correctly and Dispose(). Allow the provider to execute multiple queries for a reader * Mono.Data.MySql/MySqlTransaction.cs * Mono.Data.MySql/MySqlConnection.cs: implement the interfaces correctly and Dispose * Mono.Data.MySql/MySqlDataReader.cs: implement the interfaces correctly and Dispose(). Allow the provider to execute multiple queries for a reader. Implement IEnumerable.GetEnumerator() to return a DbEnumerator which can be used to do a foreach (DbDataRecord rec in myDataReader) { ... } and allows a IDataReader to be "data binded" to a DataGrid. Thanks goes to Tim Coleman (I copied this from his SqlDataReader). 2002-10-26 Daniel Morgan * Mono.Data.MySql/MySqlError.cs * Mono.Data.MySql/MySqlErrorCollection.cs * Mono.Data.MySql/MySqlException.cs: added files for MySQL Exceptions * Mono.Data.MySql.build: removed excludes for new files (thus adding them to the build) on Windows * list: added files to build on Linux * Mono.Data.MySql/MySqlCommand.cs * Mono.Data.MySql/MySqlConnection.cs: modified to throw a new MySqlException when a MySqlError occurs 2002-10-13 Daniel Morgan * Mono.Data.MySql/MySqlDataReader.cs: change "DataType" in schema DataTable to be typeof(Type) instead of typeof(string) to make it more like MS.NET * Test/MySqlTest.cs: tweaks 2002-10-13 Daniel Morgan * Mono.Data.MySql/MySqlCommand.cs: * Mono.Data.MySql/MySqlConnection.cs: * Mono.Data.MySql/MySqlDataReader.cs: * Mono.Data.MySql/MySqlTypes.cs: modifed - handle MySQL types to .NET types and some fixes 2002-10-12 Daniel Morgan * Test/MySqlTest.cs: added file - to do various Tests for the MySql provider * Mono.Data.MySql/Field.cs: enum MySqlFieldFlags should be unit. Rename class Field to MySqlMarshalledField to represent what it really is. Redo handling of field Flags. * Mono.Data.MySql/MySql.cs: added method AffectedRows() to pinvoke into mysql_affected_rows() so we can know what rows were affected by an INSERT, UPDATE, or DELETE SQL statement. * Mono.Data.MySql/MySqlCommand.cs: rename internal method rowVal() to GetColumnData(). In GetColumnData, if IntPtr.Zero, return an empty "" string instead of "NULL". Pass command behavior to data reader. * Mono.Data.MySql/MySqlDataReader.cs: redo the way field meta data and data is structured so a schema DataTable can be built. Implement GetSchemaTable() to create a DataTable holding the schema of the fields. Implemented more methods. * Mono.Data.MySql/MySqlTypes.cs: added method to translate System.Data.DbType to System.Type * est/TestMySqlExecuteReader.cs: minor tweaks 2002-10-11 Daniel Morgan * Mono.Data.MySql/MySqlTransaction.cs: added to support transactions (BEGIN, COMMIT/ROLLBACK). * Mono.Data.MySql.build: included MySqlTransaction in build on Windows * list: included MySqlTransaction in build on Linux * Mono.Data.MySql/MySql.cs: the mysql thread functions were misnamed and prevented them from being loaded by the mono JIT - my_thread_init() and my_thread_end(). Now, threading should work in the MySQL provider and less memory leaks too. * Mono.Data.MySql/Test.cs: remove conditional comiliation since everything compiles fine on Mono now * Mono.Data.MySql/MySqlCommand.cs: remove Console.WriteLine() * Mono.Data.MySql/MySqlConnection.cs: added transaction support, implemented method ChangeDatabase(), implemented property ServerVersion * Test/TestMySqlInsert.cs: modified test to handle transactions 2002-10-10 Rodrigo Moya * makefile.gnu: added makefile for linux build. * list: updated to contain all missing files. * Mono.Data.MySql/makefile: removed unneeded makefile. 2002-10-09 Daniel Morgan * Mono.Data.MySql/MySqlDataReader.cs: added started implementing Reader for MySQL provider * Mono.Data.MySql/MySqlTypes.cs: added to hold internal helper methods, enums, structs, classes for handling MySQL data types * Test/TestMySqlExecuteReader.cs * Test/TestMySqlExecuteScalar.cs: added simple tests for ExecuteScalar() and ExecuteReader() methods in MySqlCommand. We are able to retrieve data from MySQL now. * Mono.Data.MySql.build: took out exclude so MySqlExecuteReader.cs will build * Mono.Data.MySql/Field.cs: added enum to file and added helper methods field flags * Mono.Data.MySql/MySqlCommand.cs: started implementation of ExecuteScalar nd ExecuteReader methods to retrieve data. Also, added internal method rowVal for marshalling field data. * Mono.Data.MySql/Test.cs: take out a bunch of Console.WriteLines' 2002-08-13 Daniel Morgan * Mono.Data.MySql/MySqlCommand.cs: modified rowsRetrieved should be rowsAffected in ExecuteNonQuery because the number is only to show the rows affected by an INSERT, UPDATE, or DELETE; anything else, the number is -1 * Mono.Data.MySql/Test.cs: modified enable retrieving the results from a query. even though this still does not work for some reason, i thought i would enable it so others could see the problem. 2002-05-30 Daniel Morgan * Mono.Data.MySql.build: modified need to copy Mono.Data.MySql.dll to mcs/class/System.Data/Test so the SqlSharpCli test program can use MySql too 2002-05-30 Daniel Morgan * Test/TestMySqlInsert.cs: added test to do an SQL INSERT to insert a row into table. Works on cygwin compiled using mcs and mono and runs on mint, but it fails running on mono. * Mono.Data.MySql/MySqlCommand.cs * Mono.Data.MySql/TODOAttribute.cs * Mono.Data.MySql/MySqlConnection.cs: added * list: added so can build with mcs/mono on linux I only tested it on Cygwin though. To work on linux, the library name in the pinvokes in MySql.cs will need to be changed. * Mono.Data.MySql.build: modified exclude files from build. also copy Mono.Data.MySql.dll to Mono.Data.MySql so you can build and run Test.cs * Mono.Data.MySql/MySql.cs: modified tweaks to compile under mcs/mono and run under mint or mono. Runs under mint, but not mono. Had to comment out mysql_thread_begin/mysql_thread_end functions because they refused to load in mono. Until this is fixed, a memory leak will occur. Can not retrieve field data from MySQL because the PtrToStructure() needs to be implemented in System.Runtime.InteropServices.Marshal class. However, this will be very complicated to do. So, we connect to MySQL and execute SQL Commands, but we can not do Queries yet. * Mono.Data.MySql/Test.cs: modified tweaks to test C# bindings with compiling mcs/mono and running on mint and mono. Runs on mint, but not mono. 2002-05-28 Daniel Morgan * Mono.Data.MySql * Mono.Data.MySql/Mono.Data.MySql: add directories for the Mono.Data.MySql assembly and namespace. This will contain the MySql .NET Data Provider which will use C# bindings to libMySQL * Mono.Data.MySql/Test.cs: added file to test the C# bindings to MySQL * Mono.Data.MySql/MySql.cs * Mono.Data.MySql/Field.cs: added files for the beginnings of C# bindings to MySQL * Mono.Data.MySql/makefile: added file to build the MySQL C# bindings on csc/Microsoft.NET These C# bindings to the MySQL libMySQL.dll were created by Brad Merrill and can be downloaded from http://www.cybercom.net/~zbrad/DotNet/MySql/ and put into the Mono Class Library under the X11/MIT License with Brad Merril's permission.