1. 16 Mar, 2004 15 commits
  2. 15 Mar, 2004 22 commits
    • unknown's avatar
      Fixed memory overrun in spatial init code · 0952bf2d
      unknown authored
      
      sql/spatial.cc:
        Fixed memory overrun
      sql/spatial.h:
        Fixed memory overrun
      0952bf2d
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · 0dbf737a
      unknown authored
      into mysql.com:/home/my/mysql-4.1
      
      
      sql/sql_table.cc:
        Auto merged
      0dbf737a
    • unknown's avatar
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.1/ · 543e84c5
      unknown authored
      into serg.mylan:/usr/home/serg/Abk/mysql-4.1
      
      
      543e84c5
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · a6f89625
      unknown authored
      into mysql.com:/home/my/mysql-4.1
      
      
      a6f89625
    • unknown's avatar
      Intermediate commit of client library (cleanups + fixes of 3 items from · 321422c8
      unknown authored
      flaws list)
      TODO: 
       * verify that no sequence of API calls produces SIGSEGV.
       That is, verify that mysql_stmt_init  -> mysql_stmt_fetch is OK,
       or mysql_stmt_prepare -> mysql_stmt_fetch_column is OK and sets
       meaningful error.
       * remove alloc_stmt_fields call
       * revise stmt->state codes and statement states.
       * there are other items in prepared statements 'to fix' document.
      
      Done:
       - cleanups and comments
       - revision of prepared statement error codes.
       - mysql_stmt_prepare is now can always be called (that is, you can reprepare
         a statement)
       - new implementation of mysql_stmt_close and fetch cancellation
      
      
      include/errmsg.h:
        - CR_NOT_ALL_PARAMS_BOUND - this error code wasn't used until now. 
          Apparently it was added in advance, but then interface of
          mysql_stmt_bind_param changed. Now it's not possible to bind only some
          parameters - either all or none of parameters are bound.
          This error code  is renamed to CR_PARAMS_NOT_BOUND
        - CR_FETCH_CANCELLED - error code set on server side when fetch from 
          MYSQL_RES or MYSQL_STMT (in blocking mode) was cancelled because of
          intercepting call to mysql_stmt_close
        - CR_NO_DATA - this is proposed error code to return from 
          mysql_stmt_fetch_column if no row was fetched (by any type of fetch).
          We always can fall back to CR_COMMANDS_OUT_OF_SYNC though.
          Need reviewer's opinion on this one.
      include/mysql.h:
        - added unbuffered_fetch_owner member to MYSQL to point to MYSQL_RES 
          or MYSQL_STMT which is used to fetch result at the moment.
          This is to be able to set CR_FETCH_CANCELLED error without fantoms.
        - added unbuffered_fetch_cancelled boolean variable to MYSQL_STMT and 
          MYSQL_RES structures
        - rename PREP_STMT_STATE -> enum enum_mysql_stmt_state
        - members of MYSQL_STMT ordered by size.
        - removed members of MYSQL_STMT: current_row, result_buffered,
          last_fetched_column, last_fetched_buffer, query
        - renamed members of MYSQL_STMT: param_buffers -> bind_param_done, 
          res_buffers -> bind_result_done
        - now mysql_stmt_fetch calls stmt->read_row_func to read row either from 
          buffer or from network.
      include/sql_common.h:
        declaration for flush_use_result
      libmysql/client_settings.h:
        stmt_close declaration removed
      libmysql/errmsg.c:
        Error messages for changed and added error codes.
      libmysql/libmysql.c:
        Many changes:
        - some unused variables removed
        - cleanups
        - better error reporting
        - some function calls commented
        - alloc_stmt_fields is now called right after execute, to not read
          mysql->fields of some other statement
        - new implementation of mysql_stmt_fetch - this is also with cursor
          fetch in mind (to implement cursor fetch I'll just need to write
          special read_row function for it, so this change will be local)
        - implementation of fetch cancellation, including complete rewrite of
          mysql_stmt_close
        - now mysql_stmt_free_result doesn't free results of other statements.
      sql-common/client.c:
        - implementation of flush_use_result
        - implementation of fetch cancellation
        - changed behaviour of mysql_close in regard to mysql_stmt_close - now 
          mysql_close just set stmt->mysql to 0
      321422c8
    • unknown's avatar
      Small fix · 4c0d9156
      unknown authored
      
      sql/item_strfunc.cc:
        that's the right fix
      4c0d9156
    • unknown's avatar
      Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1 · 9eff35de
      unknown authored
      into deer.(none):/home/hf/work/mysql-4.1.clean
      
      
      9eff35de
    • unknown's avatar
      Yet another fix for spatial parts · ffad9aef
      unknown authored
      
      sql/spatial.cc:
        should be one step further
      ffad9aef
    • unknown's avatar
      cleanup · 5caff162
      unknown authored
      5caff162
    • unknown's avatar
      Fix of compilation failure of latest 4.1 tree: new constants in mysqld.cc · 2e0d5eac
      unknown authored
      exceed unsigned long limit.
      
      
      include/config-win.h:
        implementation of ULL macro for Windows
      include/my_global.h:
        ULL macro defined: we need this macro because ULL qualifier is not defined 
        on systems withoug unsigned long long
      sql/item_func.cc:
        new ULL macro caused conflict with class for user level lock ULL.
        ULL renamed to User_level_lock
      sql/item_func.h:
        ULL -> User_level_lock
      sql/mysql_priv.h:
        merge error fixed: LL defined in my_global.h
      sql/mysqld.cc:
        ULL macro used for long long constants to fix compilation failure on gcc 3.*
      sql/sql_class.h:
        ULL renamed to User_level_lock
      2e0d5eac
    • unknown's avatar
      actions for bug · 1d3b1633
      unknown authored
      #2709 Affected Rows for ON DUPL. KEY undocumented, perheps illogical 
      1. added COPY_INFO::updated to work with it in
         'insert .. on duplicate' instead of COPY_INFO::deleted
      2. added affected rows to output of "info:" in mysqltest.c
      
      
      client/mysqltest.c:
        added "affected rows" to output of "info : "..
      mysql-test/r/insert_update.result:
        added tests for affected rows with insert .. duplicate (bug #2709)
      mysql-test/t/insert_update.test:
        added tests for affected rows with insert .. duplicate (bug #2709)
      sql/sql_class.h:
        added COPY_INFO::updated
      sql/sql_insert.cc:
        get write_record to work with COPY_INFO::updated instead of 
        COPY_INFO::deleted for 'insert ... duplicate' statement
      1d3b1633
    • unknown's avatar
      Fixes for bugs #2274 "mysqld gets SIGSEGV during processing of malformed · ef44fb9a
      unknown authored
      COM_EXECUTE packet" and #2795 "prepare + execute without bind_param crashes
       server" and #2473 "seg fault running tests/client_test.c": 
      - length checking added to packet parser 
      - default impelemntation of Item_param::set_param_func will work in
      case of malformed packet.
      No test cases are possible in our test suite, as there are no tests 
      operating on protocol layer.
      
      
      sql/item.cc:
        Default set_param function implemented: this is to not sigsegv in case
        of malformed packet with no parameters data.
      sql/item.h:
        - Item_param constructor moved to .cc to be able to assign set_param_func.
        - now embedded and ordinary versions of set_param have the same signature.
      sql/mysql_priv.h:
        mysql_stmt_execute now requires packet_length
      sql/sql_parse.cc:
        mysql_stmt_execute now requires packet length.
      sql/sql_prepare.cc:
        - length checking added to all functions working with network packet.
        - set_param_func's in embedded and ordinary version now have the same 
        signature
      ef44fb9a
    • unknown's avatar
      5148b005
    • unknown's avatar
      Fix for bug#2972 Problem the the CONV() function · 60354533
      unknown authored
      60354533
    • unknown's avatar
      Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1 · 7b13e020
      unknown authored
      into sanja.is.com.ua:/home/bell/mysql/bk/work-fix_fields-4.1
      
      
      7b13e020
    • unknown's avatar
      Task #835: additional changes fot str_to_date · afedd9f8
      unknown authored
      
      include/mysqld_error.h:
        Task #835: additional changes fot str_to_date
        New error message
      mysql-test/r/date_formats.result:
        Task #835: additional changes fot str_to_date
        tests
      mysql-test/r/func_sapdb.result:
        Task #835: additional changes fot str_to_date
        tests
      mysql-test/r/func_time.result:
        Task #835: additional changes fot str_to_date
        tests
      mysql-test/r/type_time.result:
        Task #835: additional changes fot str_to_date
        tests
      mysql-test/t/date_formats.test:
        Task #835: additional changes fot str_to_date
        tests
      mysql-test/t/func_sapdb.test:
        Task #835: additional changes fot str_to_date
        tests
      mysql-test/t/func_time.test:
        Task #835: additional changes fot str_to_date
        tests
      sql/share/czech/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/danish/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/dutch/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/english/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/estonian/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/french/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/german/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/greek/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/hungarian/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/italian/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/japanese/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/korean/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/norwegian-ny/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/norwegian/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/polish/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/portuguese/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/romanian/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/russian/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/serbian/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/slovak/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/spanish/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/swedish/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      sql/share/ukrainian/errmsg.txt:
        Task #835: additional changes fot str_to_date
        New error message
      afedd9f8
    • unknown's avatar
      Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1 · 1b81fcf8
      unknown authored
      into deer.(none):/home/hf/work/mysql-4.1.valg
      
      
      1b81fcf8
    • unknown's avatar
      Fix for valgrind's warning · 9a3fbf0d
      unknown authored
      
      sql/gstream.cc:
        checking for ending \0 changed with m_limit
      sql/gstream.h:
        checking for ending \0 changed with m_limit
      sql/item_geofunc.cc:
        we should check for null value before we use val_str result
      sql/item_strfunc.cc:
        get rid of annoying warnings
      sql/spatial.h:
        error about size_t type fixed
      9a3fbf0d
    • unknown's avatar
      merge & simple cleanup · 4c41b82b
      unknown authored
      4c41b82b
    • unknown's avatar
      Optimizations · 67108bdf
      unknown authored
      
      mysql-test/r/create.result:
        Changed ERROR -> NOTE (for enum/set)
      sql/lock.cc:
        Removed not needed test (table_list->db is always set)
      sql/sql_repl.cc:
        Removed not needed test
      sql/sql_table.cc:
        ERROR -> NOTE
        Removed not needed test
      strings/strtod.c:
        Portabilty fix. (DBL_MAX *10 is not safe)
      67108bdf
    • unknown's avatar
      fixed comments · 50499c6d
      unknown authored
      50499c6d
  3. 14 Mar, 2004 3 commits
    • unknown's avatar
      my_strtod fixes: · 22657f67
      unknown authored
      sigsegv protection (exp overflow)
      don't return inf!
      use errno=EOVERFLOW to signal an overflow (as my_strntod uses errno anyway)
      if errno will be too slow, my_strtod can be changed to return overflow status in a parameter (like my_strntod does)
      
      
      include/m_string.h:
        EOVERFLOW
      mysql-test/r/insert.result:
        updated
      mysql-test/r/mysqldump.result:
        updated
      strings/strtod.c:
        sigsegv protection (exp overflow)
        don't return inf!
        use errno=EOVERFLOW to signal an overflow (as my_strntod uses errno anyway)
        if errno will be too slow, it my_strtod can be changed to return overflow status in a parameter (like my_strntod does)
      22657f67
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.1/ · ad73b5ac
      unknown authored
      into serg.mylan:/usr/home/serg/Abk/mysql-4.1
      
      
      ad73b5ac
    • unknown's avatar
      UUID() bug that manifests itself on low-res (<1 us) timers only · 9dc59e9a
      unknown authored
      (and not critical at all as it does not result in repeated values)
      
      
      9dc59e9a