• unknown's avatar
    Fix for Bug#3035 "Prepared statement integer inserts": now unsigned · d5237fd0
    unknown authored
    flag is sent to server with placeholder types.
    There were no need to extend the protocol as one additional byte
    was reserved for placeholder code, when placeholder code is in range 0-255.
    So this byte is now used for flags. Post-review fixes added.
    
    
    include/config-win.h:
      added floaststore implementation
    include/my_global.h:
      added floatstore implementation
    include/mysql.h:
      Bug#3035:
      added 'is_unsigned' member
      binary_data wasn't used, removed
      null_field wasn't necessary, removed
    include/mysql_com.h:
      Unused defines were removed.
    libmysql/libmysql.c:
      Function store_param_type was removed - too much for a function, especially
      with bug in it.
      New implementation is inline and takes into account signedness of 
      placeholder.
      Fixed store functions to not perform double network-host order conversion
      on high-byte-first systems (should also fix Bug#3578 "Prepared statement 
      integer conversions work wrong in 64-bit Power Mac G5 CPUs").
      null_field removed.
    sql/sql_prepare.cc:
      Placeholder sign is taken into account when reading data from network.
    tests/client_test.c:
      Test for BUG#3035 added: insert and retrieve minimum and maximum of all
      integer types.
    d5237fd0
client_test.c 239 KB