• unknown's avatar
    Fix for Bug#4030 "Client side conversion string -> date type doesn't · 9dde4188
    unknown authored
    work (prepared statements)" and after-review fixes:
    - str_to_TIME renamed to str_to_datetime to pair with str_to_time
    - functions str_to_time and str_to_TIME moved to sql-common
    - send_data_str now supports MYSQL_TYPE_TIME, MYSQL_TIME_DATE,
      MYSQL_TIME_DATETIME types of user input buffers.
    - few more comments in the client library
    - a test case added.
    
    
    VC++Files/libmysql/libmysql.dsp:
      new file: my_time.c
    VC++Files/libmysqld/libmysqld.dsp:
      new file: my_time.c
    VC++Files/sql/mysqld.dsp:
      new file: my_time.c
    include/Makefile.am:
      - mysql_time.h added to the list of installed client library headers
    include/mysql.h:
      - declarations for MYSQL_TIME and enum_mysql_timestamp_type moved to 
      mysql_time.h, which is in shared use of client library and mysys.
    libmysql/Makefile.shared:
      - my_time.lo added to the list of libmysql objects
    libmysql/libmysql.c:
      Fix for bug#4030 "Client side conversion string -> date type doesn't work
       (prepared statements)" and cleanup.
      - added case labels for TIME/DATE/DATETIME types to send_data_str
      - comments for read_binary_{date,time,datetime}, fetch_result_*, fetch_results.
    libmysqld/Makefile.am:
      - my_time.c added
    sql-common/Makefile.am:
      - my_time.c added to the list of files included into source distribution.
    sql/Makefile.am:
      my_time.c added to the list of mysqld sources.
    sql/field.cc:
      - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to 
        MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...}
    sql/item.cc:
      - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to 
        MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...}
    sql/item_timefunc.cc:
      - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to 
        MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...}
    sql/mysql_priv.h:
      - added typedefs for TIME and timestamp_type
      - removed declarations for str_to_time and str_to_TIME (now this functions
        reside in mysys)
    sql/mysqld.cc:
      - log_10_int moved to mysys (it's used by str_to_TIME and str_to_time)
      - enum values TIMESTAMP_{TIME,DATE,DATETIME} were renamed to
        MYSQL_TIMESTAMP_{TIME,DATE,DATETIME}
    sql/set_var.cc:
      - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to 
        MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...}
    sql/set_var.h:
      - fixed timestamp_type usage to be compatible with typedef.
    sql/sql_prepare.cc:
      - TIMESTAMP_{TIME,DATE,DATETIME} were renamed to
        MYSQL_TIMESTAMP_{TIME,DATE,DATETIME}
      - embedded library implementation of set_param_{time,date,datetime} is
      much simplier now, as MYSQL_TIME is the same as TIME.
    sql/sql_yacc.yy:
      - s/\<TIMESTAMP_/MYSQL_TIMESTAMP/gc
    sql/structs.h:
      - declarations for TIME and timestamp_type replaced with typedefs
      - str_to_datetime arguments moved to mysys headers
    sql/time.cc:
      - str_to_time and str_to_TIME moved to mysys
      - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to 
        MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...} as these names are now
        exported to client.
      - str_to_TIME renamed to str_to_datetime to pair with str_to_time
      - str_to_TIME_with_warn renamed accordingly
    sql/tztime.cc:
      - TIMESTAMP_{TIME,DATE,DATETIME,...} renamed to 
        MYSQL_TIMESTAMP_{TIME,DATETIME,DATE,...}
    tests/client_test.c:
      - a test case for Bug#4030 "Client side conversion string -> date type 
      doesn't work (prepared statements)"
    9dde4188
client_test.c 263 KB