2 MySql - enclosed queries for max_allowed_packet and characterset inside try catch (and set defaults)
3 MySql - fixed problem where socket was not getting closed properly (thanks Steve!)
6 MySql - Fixed problem where ExecuteNonQuery was not always returning the right value
9 MySql - Fixed InternalConnection to not use @@session.max_allowed_packet but use @@max_allowed_packet. (Thanks Miguel)
12 MySql - Added many new XML doc lines
15 MySql - Fixed sql parsing to not send empty queries (thanks Rory)
16 MySql - Fixed problem where the reader was not unpeeking the packet on close
17 MySql - Fixed problem where user variables were not being handled (thanks Sami Vaaraniemi)
18 MySql - Fixed loop checking in the MySqlPool (thanks Steve M. Brown)
21 MySql - Fixed ParameterCollection.Add method to match SqlClient (thanks Joshua Mouch)
22 Common & MySql - Fixed ConnectionSTring parsing to handle no and yes for boolean and not lowercase values (thanks Naucki)
25 MySql - Added InternalConnection class, changes to pooling
26 Common - Implemented Persist Security Info
29 Common - Added security.cs and version.cs to project
32 MySql - Fixed DateTime handling in Parameter.cs (thanks Burkhard Perkens-Golomb)
33 MySql - Fixed parameter serialization where some types would throw a cast exception
34 MySql - Fixed DataReader to convert all returned values to prevent casting errors (thanks Keith Murray)
35 MySql - Added code to Command.ExecuteReader to return null if the initial SQL command throws an exception (thanks Burkhard Perkens-Golomb)
38 MySql - Fixed ExecuteScalar bug introduced with restructure
41 MySql - Restructure to allow for LOCAL DATA INFILE and better sequencing of packets
42 MySql - Fixed several bugs related to restructure.
45 MySql - Early work done to support more secure passwords in Mysql 4.1. Old passwords in 4.1 not supported yet
48 MySql- Parameters appearing after system parameters are now handled correctly (Adam M. (adammil))
49 MySql - strings can now be assigned directly to blob fields (Adam M.)
52 MySql - Fixed float parameters (thanks Pent)
55 MySql - Improved Parameter ctor and ParameterCollection.Add methods to better match SqlClient (thx Joshua Mouch )
56 MySql - Corrected Connection.CreateCommand to return a MySqlCommand type
57 MySql - Fixed connection string designer dialog box problem (thanks Abraham Guyt)
60 MySql - Fixed problem with sending commands not always reading the response packet (thanks Joshua Mouch )
61 MySql - Fixed parameter serialization where some blobs types were not being handled (thanks Sean McGinnis )
64 MySql - Removed spurious MessageBox.show from DataReader code (thanks Joshua Mouch )
67 MySql - Fixed a nasty bug in the split sql code (thanks everyone! :-) )
69 *************Released 0.71***********************
71 MySql - Fixed bug in MySqlStream where too much data could attempt to be read (thanks Peter Belbin)
74 MySql - Implemented HasRows (thanks Nash Pherson)
75 MySql - Fixed bug where tables with more than 252 columns cause an exception ( thanks Joshua Kessler )
76 MySql - Fixed bug where SQL statements ending in ; would cause a problem ( thanks Shane Krueger )
77 MySql - Fixed bug in driver where error messsages were getting truncated by 1 character (thanks Shane Krueger)
80 ========MySql===============
81 * Made MySqlException serializable (thanks Mathias Hasselmann)
83 ========PgSql===============
84 * Made PgSqlException serializable (thanks Mathias Hasselmann)
86 ***********Released 0.70*********************
89 ========MySql===============
90 * Updated some of the character code pages to be more accurate
91 * Fixed problem where readers could be opened on connections that had readers open
95 ========MySql===============
96 * Moved test to separate assembly MySqlClientTests
99 ========MySql===============
100 * Fixed stupid problem in driver with sequence out of order (Thanks Peter Belbin)
103 ========MySql===============
104 * Added some pipe tests
105 * Increased default max pool size to 50
106 * Compiles with Mono 0-24
109 ========MySql===============
110 * Fixed connection and data reader dispose problems
111 * Added String datatype handling to parameter serialization
114 ========MySql===============
115 * Fixed sequence problem in driver that occured after thrown exception
116 (thanks Burkhard Perkens-Golomb)
119 ========MySql===============
120 * Added support for CommandBehavior.SingleRow to DataReader
121 * Fixed command sql processing so quotes are better handled (thanks Theo Spears)
124 ========MySQL===============
125 * Fixed parsing of double, single, and decimal values to account for non-English separators.
126 You still have to use the right syntax if you using hard coded sql, but if you use parameters
127 the code will convert floating point types to use '.' appropriately internal both into the server
130 * Added MySqlStream class to simplify timeOuts and driver coding.
131 * Fixed DataReader so that it is closed properly when the associated connection is closed.
133 * Made client more SqlClient compliant so that DataReaders have to be closed before the connection
134 can be used to run another command
135 * Improved DBNull.Value handling in the fields
136 * Added several unit tests
137 * Fixed MySqlException so that the base class is actually called :-o
138 * Improved driver coding
140 =============PgSql=================
141 * Too many changes to document. Still basic structuring of driver. Driver not really usable yet.
146 * Fixed bug where NextResult was returning false on the last resultset
147 * Added more tests for MySQL
148 * Improved casting problems by equating unsigned 32bit values to Int64 and usigned 16bit values to Int32, etc
151 * Added new ctor for MySqlParameter for (name, type, size, srccol)
152 * Fixed bug in MySqlDataReader where it didn't check for null fieldlist before returning field count
155 * Started adding MySqlClient unit tests (added MySqlClient/Tests folder and some test cases)
156 * Fixed some things in Connection String handling
159 * Moved INIT_DB to MySqlPool. I may move it again, this is in preparation of the conference.
162 * Fixed bug inside CommandBuilder that prevented inserts from happening properly
163 * Reworked some of the internals so that all three execute methods of Command worked properly
164 * FIxed many small bugs found during benchmarking
167 * The first cut of CoonectionPooling is working. "min pool size" and "max pool size" are respected.
170 * Work to enable multiple resultsets to be returned
171 * Character sets are handled much more intelligently now. The driver queries MySQL at startup for the default character set.
172 That character set is then used for conversions if that code page can be loaded. If not, then the default code
173 page for the current OS is used.
176 * Added code to save the inferred type in the name,value ctor of Parameter
177 * Also, inferred type if value of null parameter is changed using Value property
178 * Converted all files to use proper Camel case. MySQL is now MySql in all files. PgSQL is now PgSql
179 * Added attribute to PgSql code to prevent designer from trying to show
182 * Added MySQLDbType property to Parameter object and added proper conversion code to convert from DbType to MySQLDbType)
183 * Removed unused ObjectToString method from MySQLParameter.cs
184 * Fixed Add(..) method in ParameterCollection so that it doesn't use Add(name, value) instead.
185 * Fixed IndexOf and Contains in ParameterCollection to be aware that parameter names are now stored without @
186 * Fixed Command.ConvertSQLToBytes so it only allows characters that can be in MySQL variable names
187 * Fixed DataReader and Field so that blob fields read their data from Field.cs and GetBytes works right
188 * Added simple query builder editor to CommandText property of MySQLCommand
189 * Fixed CommandBuilder and Parameter serialization to account for Parameters not storing @ in their names
190 * Removed MySQLFieldType enum from Field.cs. Now using MySQLDbType enum
193 * Added Designer attribute to several classes to prevent designer view when using VS.Net
196 * Fixed Initial catalog typo in ConnectionString designer
197 * Removed 3 parameter ctor for MySQLParameter that conflicted with (name, type, value)
198 * changed MySQLParameter so paramName is now stored without leading @ (this fixed null inserts when using designer)
199 * Changed TypeConverter for MySQLParameter to use the ctor with all properties
202 ========================================================================
203 Note that this build has not been checked out with Mono.
206 * Fixed sequence issue in driver
209 * Added DbParametersEditor to make parameter editing more like SqlClient
210 * Fixed Command class so that parameters can be edited using the designer
213 * Update connection string designer to support Use Compression flag
216 * Fixed string encoding so that European characters like รค will work correctly
219 * Creating base classes to aid in building new data providers
220 * Added support for UID key in connection string
223 * Field, parameter, command now using DBNull.Value instead of null
224 * CommandBuilder using DBNull.Value
225 * CommandBuilder now builds insert command correctly when an auto_insert field is not present
226 * Field now uses typeof keyword to return System.Types (performance)
230 * MySQLCommandBuilder now implemented
231 * Transaction support now implemented (not all table types support this)
232 * GetSchemaTable fixed to not use xsd (for Mono)
233 * Driver is now Mono-compatible!!
234 * TIME data type now supported
235 * More work to improve Timestamp data type handling
236 * Changed signatures of all classes to match corresponding SqlClient classes
239 ======================
240 * Protocol compression using SharpZipLib (www.icsharpcode.net)
241 * Named pipes on Windows now working properly
242 * Work done to improve Timestamp data type handling
243 * Implemented IEnumerable on DataReader so DataGrid would work
246 ======================
247 * Speed increased dramatically by removing bugging network sync code
248 * Driver no longer buffers rows of data (more ADO.Net compliant)
249 * Conversion bugs related to TIMESTAMP and DATETIME fields fixed