Updated some of the character code pages to be more accurate.
Fixed problem where readers could be opened on connections that had readers open.
Moved test to separate assembly
MySqlClientTests
.Fixed stupid problem in driver with sequence out of order (Thanks Peter Belbin).
Added some pipe tests.
Increased default max pool size to 50.
Compiles with Mono 0-24.
Fixed connection and data reader dispose problems.
Added
String
data type handling to parameter serialization.Fixed sequence problem in driver that occurred after thrown exception (thanks Burkhard Perkens-Golomb).
Added support for
CommandBehavior.SingleRow
toDataReader
.Fixed command SQL processing so quotation marks are better handled (thanks Theo Spears).
Fixed parsing of double, single, and decimal values to account for non-English separators. You still have to use the right syntax if you using hard coded SQL, but if you use parameters the code will convert floating point types to use '.' appropriately internal both into the server and out.
Added
MySqlStream
class to simplify timeouts and driver coding.Fixed
DataReader
so that it is closed properly when the associated connection is closed. [thanks smishra]Made client more SqlClient compliant so that DataReaders have to be closed before the connection can be used to run another command.
Improved
DBNull.Value
handling in the fields.Added several unit tests.
Fixed
MySqlException
base class.Improved driver coding
Fixed bug where NextResult was returning false on the last resultset.
Added more tests for MySQL.
Improved casting problems by equating unsigned 32bit values to Int64 and unsigned 16bit values to Int32, and so forth.
Added new constructor for
MySqlParameter
for (name, type, size, srccol)Fixed bug in
MySqlDataReader
where it didn't check for null fieldlist before returning field count.Started adding
MySqlClient
unit tests (addedMySqlClient/Tests
folder and some test cases).Fixed some things in Connection String handling.
Moved
INIT_DB
toMySqlPool
. I may move it again, this is in preparation of the conference.Fixed bug inside
CommandBuilder
that prevented inserts from happening properly.Reworked some of the internals so that all three execute methods of Command worked properly.
Fixed many small bugs found during benchmarking.
The first cut of
CoonectionPooling
is working. "min pool size" and "max pool size" are respected.Work to enable multiple resultsets to be returned.
Character sets are handled much more intelligently now. The driver queries MySQL at startup for the default character set. That character set is then used for conversions if that code page can be loaded. If not, then the default code page for the current OS is used.
Added code to save the inferred type in the name,value constructor of
Parameter
.Also, inferred type if value of null parameter is changed using
Value
property.Converted all files to use proper Camel case. MySQL is now MySql in all files. PgSQL is now PgSql.
Added attribute to PgSql code to prevent designer from trying to show.
Added
MySQLDbType
property to Parameter object and added proper conversion code to convert fromDbType
toMySQLDbType
).Removed unused
ObjectToString
method fromMySQLParameter.cs
.Fixed
Add(..)
method inParameterCollection
so that it doesn't useAdd(name, value)
instead.Fixed
IndexOf
andContains
inParameterCollection
to be aware that parameter names are now stored without @.Fixed
Command.ConvertSQLToBytes
so it only permits characters that can be in MySQL variable names.Fixed
DataReader
andField
so that blob fields read their data fromField.cs
andGetBytes
works right.Added simple query builder editor to
CommandText
property ofMySQLCommand
.Fixed
CommandBuilder
andParameter
serialization to account for Parameters not storing @ in their names.Removed
MySQLFieldType
enum from Field.cs. Now usingMySQLDbType
enum.Added
Designer
attribute to several classes to prevent designer view when using VS.Net.Fixed Initial catalog typo in
ConnectionString
designer.Removed 3 parameter constructor for
MySQLParameter
that conflicted with (name, type, value).Changed
MySQLParameter
soparamName
is now stored without leading @ (this fixed null inserts when using designer).Changed
TypeConverter
forMySQLParameter
to use the constructor with all properties.