• unknown's avatar
    Cleanup in libmysql. · f47a0b9f
    unknown authored
    
    libmysql/libmysql.c:
      Cleanup of conversion part of libmysql (prepared statements protocol):
      - now we have basic support for any conversion sequence:
        when we don't implement direct conversion of given value to requested 
        buffer type (i.e. time -> double, or the other way around) we
        first convert i.e. time -> string and then call string -> double 
        conversion.
        param->offset is now handled only in one place.
      - conversion functions renamed from send_data_{string, long, double}
        to fetch_{string,long,double}_with_conversion. Don't be confused
        with strange diff for send_data_long: I had to move send_data_string
        before all other sends as it's used inside thesm. (Shall we have
        a forward declaration instead?-)
      - a little cleanup in read_binary_{date,time,datetime} - now type of
        date value is set inside these functions, so we can be sure
        that we always return fully filled MYSQL_TIME structure to the user
      - float -> string conversion is fixed to honor param->precision. 
        This is a step forward in fixing bug#4172
    tests/client_test.c:
      test fix: now libmysql always sets MYSQL_TIME::time_type field.
      We need to set these fields in the test as later _in values are compared
      with canonical by plain memcmp.
    f47a0b9f
libmysql.c 114 KB