• unknown's avatar
    A fix and test case for Bug#6049 "Loss of sign when using prepared · 50129a20
    unknown authored
    statements and negative time/date values". 
    The bug was in wrong sprintf format used in the client library.
    The fix moves TIME -> string conversion functions to sql-common and
    utilized them in the client library.
    
    
    include/my_time.h:
      Declarations for new functions shared between the client and server.
    libmysql/libmysql.c:
      Fix for Bug#6049 "Loss of sign when using prepared statements and negative
      time/date values": use the same function as the server to convert
      date/time/datetime values to strings.
    sql-common/my_time.c:
      Implementation of my_{time,datetime,date,TIME}_to_str: it's
      needed by the client library, so it should be shared.
    sql/field.cc:
      Don't create String object if it's not needed.
    sql/item.cc:
      Don't create String object if it's not needed: TIME_to_string was
      moved to my_TIME_to_str, with different arguments.
    sql/item_timefunc.cc:
      Don't create String object if it's not needed.
    sql/mysql_priv.h:
      TIME_to_string and MAX_DATE_REP_LENGTH moved to the client library.
      MAX_DATE_REP_LENGTH was renamed to MAX_DATE_STRING_REP_LENGTH to not 
      conflict with the same name in libmysql.c
    sql/protocol.cc:
      Don't create String object if it's not needed.
    sql/time.cc:
      Implementation of my_{time,date,datetime,TIME}_to_str moved to my_time.c
      shared between the client and the server.
    tests/client_test.c:
      A test case for Bug#6049.
    50129a20
my_time.c 23.9 KB