Click or drag to resize

Version 2.5.0

Release date: February 2, 2011

Changes
  • SphinxQL: The type used for representing signed and unsigned 64bit integers has been changed from SystemInt64 to SystemDecimal. This is to avoid potential integer overflows with very large 64bit document ids. Please note that this is a potentially breaking change, and you should check your code before deploying the new version to production. We're sorry for any inconvience this causes.

    This change does not break any calls to the GetXXX methods of the SphinxQLDataReader class except GetValue(), depending on how the result is used.

    It may break existing code in case a DataTable is used and column values are casted to their target types instead of being converted. The latter is also true if you use the GetField<T> extension methods introduced with .NET 3.5.

    Examples of method calls that will not break:
    C#
    long value = SphinxQLDataReader.GetInt64("my_big_int_column");
    
    long value = Convert.ToInt64(DataTable.Rows[0].Columns["my_big_int_column"]);
    
    long value = Convert.ToInt64(SphinxQLDataReader.GetValue("my_big_int_column"));
    Examples of method calls that will break:
    C#
    long value = (long) SphinxQLDataReader.GetValue("my_big_int_column"); 
    
    Change to:
    
    long value = SphinxQLDataReader.GetInt64("my_big_int_column");
    or 
    decimal value = (decimal) SphinxQLDataReader.GetValue("my_big_int_column");
    or 
    long value = Convert.ToInt64(SphinxQLDataReader.GetValue("my_big_int_column"); 
    
    /*---------------------------------------------------------------------------*/
    
    long value = (long) DataTable.Rows[0].Columns["my_big_int_column"];
    and 
    long value = DataTable.Rows[0].GetValue<long>("my_big_int_column"); 
    
    Change to:
    
    long value = Convert.ToInt64(DataTable.Rows[0].Columns["my_big_int_column"]);
    or    
    decimal value = (decimal) DataTable.Rows[0].Columns["my_big_int_column"]
    or    
    decimal value = DataTable.Rows[0].GetValue<decimal>("my_big_int_column");
  • SphinxQL: Added GetUInt64() method to SphinxQLDataReader.
  • SphinxQL: Added UBigInt to the SphinxType enumeration.
  • Native API: The indexers of SphinxAttributeMatchCollection and SphinxStatusInfoCollection are now case-insentive.
  • The documentation can now be installed into the Visual Studio 2010 Help Library.
  • Small corrections to logging messages.
  • Small updates and corrections to the documentation.
  • The installer will now detect and automatically remove earlier versions.