Bug #64268 TIMEDIFF
Submitted: 8 Feb 2012 21:22 Modified: 29 Feb 2012 20:42
Reporter: Henrik Johnson Email Updates:
Status: Closed Impact on me:
None 
Category:Connector / NET Severity:S2 (Serious)
Version:6.3.7 OS:Windows
Assigned to: Roberto Ezequiel Garcia Ballesteros CPU Architecture:Any
Tags: timediff

[8 Feb 2012 21:22] Henrik Johnson
Description:
Executing a simple query that generates a time difference that has a fractional second value the provider blows up with the following exception stack trace.

System.FormatException
Input string was not in a correct format.
Stack Trace:
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
   at MySql.Data.Types.MySqlTimeSpan.ParseMySql(String s)
   at MySql.Data.Types.MySqlTimeSpan.MySql.Data.Types.IMySqlValue.ReadValue(MySqlPacket packet, Int64 length, Boolean nullVal)
   at MySql.Data.MySqlClient.NativeDriver.ReadColumnValue(Int32 index, MySqlField field, IMySqlValue valObject)
   at MySql.Data.MySqlClient.ResultSet.ReadColumnData(Boolean outputParms)
   at MySql.Data.MySqlClient.ResultSet.NextRow(CommandBehavior behavior)
   at MySql.Data.MySqlClient.MySqlDataReader.Read()

How to repeat:
Simply execute the following query and try to read the result using a data reader.

select timediff('1.1', '1.2')
[29 Feb 2012 20:42] John Russell
Added to changelog for 6.5.3: 

Fixed MySqlTime parsing to avoid throwing an exception when handling
milliseconds (as result of a timediff operation).
[12 Apr 2012 1:28] John Russell
Added to 6.3.9 changelog also.