1. 06 Apr, 2004 5 commits
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · aacdf1ee
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      
      aacdf1ee
    • unknown's avatar
      This is a fix for a bug in 3.23 -> 4.0 replication: Exec_master_log_pos is always · e3f0177b
      unknown authored
      too big by 6 bytes. So I add code to substract 6 bytes if the master is 3.23.
      This is not perfect (because it won't work if the slave I/O thread has not
      noticed yet that the master is 3.23), but as long as the slave I/O thread
      starts Exec_master_log_pos will be ok.
      It must be merged to 4.1 but not to 5.0 (or it can be, because of #if MYSQL_VERSION_ID),
      because 5.0 already works if the master is 3.23 (and in a more natural way:
      in 5.0 we store the end_log_pos in the binlog and relay log).
      I had to move functions from slave.h to slave.cc to satisfy gcc.
      
      
      sql/log_event.cc:
        make the event's length 6 bytes shorter if the master is 3.23
      sql/slave.cc:
        Moving several st_relay_log_info methods out of the declaration of the struct,
        because gcc complained that 'mi' was not declared.
        Substracting 6 bytes from the event's length in inc_pos() if the master is 3.23.
      sql/slave.h:
        moving several methods out of the declaration of st_relay_log_info.
        Removing 'inline', let's have the compiler decide.
      e3f0177b
    • unknown's avatar
      InnoDB: send diagnostic output to stderr or files · 80fe399f
      unknown authored
      instead of stdout or fixed-size memory buffers
      
      
      innobase/btr/btr0btr.c:
        Output to stderr; quote table and index names
      innobase/btr/btr0cur.c:
        Output to stderr; quote table and index names
      innobase/btr/btr0sea.c:
        Output to stderr
      innobase/buf/buf0buf.c:
        Output to stderr; quote table and index names
      innobase/buf/buf0flu.c:
        Output to stderr
      innobase/buf/buf0lru.c:
        Output to stderr
      innobase/buf/buf0rea.c:
        Output to stderr
      innobase/data/data0data.c:
        Remove dtuple_validate() unless #ifdef UNIV_DEBUG
        Remove unnecessary sprintf() calls
        Output to stderr
      innobase/data/data0type.c:
        Output to stderr
      innobase/dict/dict0boot.c:
        Remove dummy call to printf()
      innobase/dict/dict0crea.c:
        Output diagnostic information to stream, not to memory
      innobase/dict/dict0dict.c:
        Output diagnostics to a file, not to a memory buffer
      innobase/dict/dict0load.c:
        Output to stderr; quote table and index names
      innobase/eval/eval0eval.c:
        Output to stderr
      innobase/fil/fil0fil.c:
        Output to stderr
      innobase/fsp/fsp0fsp.c:
        Output to stderr
        Avoid sprintf()
      innobase/fut/fut0lst.c:
        Output to stderr
      innobase/ha/ha0ha.c:
        Output to stream, not to memory buffer
      innobase/ibuf/ibuf0ibuf.c:
        Output to stderr
        Avoid sprintf()
      innobase/include/buf0buf.h:
        Output to stream, not to memory buffer
      innobase/include/buf0buf.ic:
        Use %p for displaying pointers
      innobase/include/data0data.h:
        Remove dtuple_sprintf()
      innobase/include/dict0dict.h:
        Output to stream, not to memory buffer
      innobase/include/ha0ha.h:
        Output to stream, not to memory buffer
      innobase/include/ibuf0ibuf.h:
        Output to stream, not to memory buffer
      innobase/include/lock0lock.h:
        Output to stream, not to memory buffer
      innobase/include/log0log.h:
        Output to stream, not to memory buffer
      innobase/include/mtr0log.ic:
        Output to stderr
        Display pointers with %p
      innobase/include/os0file.h:
        Output to stream, not to memory buffer
      innobase/include/rem0rec.h:
        Remove rec_sprintf()
      innobase/include/rem0rec.ic:
        Output to stderr
      innobase/include/row0sel.ic:
        Output to stderr
      innobase/include/row0upd.ic:
        Quote table and index names
      innobase/include/srv0srv.h:
        Remove srv_sprintf_innodb_monitor()
      innobase/include/sync0arr.h:
        Output to stream, not to memory buffer
      innobase/include/sync0sync.h:
        Output to stream, not to memory buffer
      innobase/include/trx0sys.h:
        Output to stderr
      innobase/include/trx0trx.h:
        Output to stream, not to memory buffer
      innobase/include/ut0ut.h:
        Remove ut_sprintf_buf()
        Add ut_print_name(), ut_print_namel() and ut_copy_file()
      innobase/lock/lock0lock.c:
        Output to stream, not to memory buffer
      innobase/log/log0log.c:
        Output to stderr
      innobase/log/log0recv.c:
        Output to stderr
      innobase/mem/mem0dbg.c:
        Output to stderr
      innobase/mtr/mtr0log.c:
        Display pointers with %p
      innobase/mtr/mtr0mtr.c:
        Output to stderr
      innobase/os/os0file.c:
        Output to stream, not to memory buffer
      innobase/os/os0proc.c:
        Output to stderr
      innobase/os/os0thread.c:
        Output to stderr
      innobase/page/page0cur.c:
        Output to stderr
      innobase/page/page0page.c:
        Avoid sprintf()
        Output to stderr instead of stdout
      innobase/pars/pars0opt.c:
        Output to stderr instead of stdout
      innobase/rem/rem0rec.c:
        Remove rec_sprintf()
        Output to stderr instead of stdout
      innobase/row/row0ins.c:
        Output diagnostics to stream instead of memory buffer
      innobase/row/row0mysql.c:
        Output to stderr instead of stdout
        Quote table and index names
      innobase/row/row0purge.c:
        Output to stderr instead of stdout
      innobase/row/row0row.c:
        Quote table and index names
      innobase/row/row0sel.c:
        Output to stderr instead of stdout
        Quote table and index names
      innobase/row/row0umod.c:
        Avoid sprintf()
        Quote table and index names
      innobase/row/row0undo.c:
        Output to stderr instead of stdout
      innobase/row/row0upd.c:
        Avoid sprintf()
      innobase/srv/srv0srv.c:
        Output to stderr instead of stdout
      innobase/srv/srv0start.c:
        Handle srv_monitor_file
        Make some global variables static
      innobase/sync/sync0arr.c:
        Output to stderr instead of stdout
        Output to stream instead of memory buffer
      innobase/sync/sync0rw.c:
        Output to stderr instead of stdout
      innobase/sync/sync0sync.c:
        Output to stderr instead of stdout
        Output to stream instead of memory buffer
      innobase/trx/trx0purge.c:
        Output to stderr instead of stdout
      innobase/trx/trx0rec.c:
        Quote index and table names
        Avoid sprintf()
      innobase/trx/trx0roll.c:
        Quote identifier names
        Output to stderr instead of stdout
      innobase/trx/trx0sys.c:
        Output to stderr instead of stdout
      innobase/trx/trx0trx.c:
        Output to stream instead of memory buffer
      innobase/trx/trx0undo.c:
        Output to stderr instead of stdout
      innobase/ut/ut0ut.c:
        Declare mysql_get_identifier_quote_char()
        Remove ut_sprintf_buf()
        Add ut_print_name() and ut_print_namel()
        Add ut_copy_file()
      sql/ha_innodb.cc:
        innobase_mysql_print_thd(): output to stream, not to memory buffer
        Add mysql_get_identifier_quote_char()
        Remove unused function innobase_print_error()
        Display pointers with %p
        Buffer InnoDB output via files, not via statically allocated memory
      80fe399f
    • unknown's avatar
      Merge marko@build.mysql.com:/home/bk/mysql-4.0 · d809c441
      unknown authored
      into hundin.mysql.fi:/home/marko/j/mysql-4.0
      
      
      d809c441
    • unknown's avatar
      Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.0 · 68ffa06f
      unknown authored
      into eagle.mysql.r18.ru:/home/vva/work/BUG_3361/mysql-4.0
      
      
      68ffa06f
  2. 05 Apr, 2004 6 commits
  3. 02 Apr, 2004 3 commits
    • unknown's avatar
      InnoDB: ignore intra-database foreign key references between tables · fac3642c
      unknown authored
      when dropping database (Bug #3058)
      
      
      innobase/dict/dict0crea.c:
        Add a parameter to row_drop_table_for_mysql()
      innobase/dict/dict0dict.c:
        Make dict_tables_have_same_db() a global function
      innobase/include/dict0dict.h:
        Make dict_tables_have_same_db() a global function
      innobase/include/row0mysql.h:
        Add a parameter to row_drop_table_for_mysql()
      innobase/row/row0mysql.c:
        Add a parameter "drop_db" to row_drop_table_for_mysql()
        to skip foreign constraint checks on tables in same database
      innobase/trx/trx0roll.c:
        Add a parameter to row_drop_table_for_mysql()
      sql/ha_innodb.cc:
        Add a parameter "drop_db" to row_drop_table_for_mysql()
        innobase_drop_database(): allocate namebuf dynamically
      fac3642c
    • unknown's avatar
      Merge marko@build.mysql.com:/home/bk/mysql-4.0 · ca68cb66
      unknown authored
      into hundin.mysql.fi:/home/marko/j/mysql-4.0
      
      
      ca68cb66
    • unknown's avatar
      InnoDB: Handle quotes properly in the InnoDB SQL parser · 5e522f36
      unknown authored
      
      innobase/include/pars0pars.h:
        Remove dummy yywrap() function (use %noyywrap in pars0lex.l)
      innobase/pars/lexyy.c:
        New version corresponding to pars0lex.l
      innobase/pars/pars0lex.l:
        Add %option statements
        Add string_append()
        Allow quotes within quotes
        Simplify the patterns for matching comments
      innobase/pars/pars0pars.c:
        Remove dummy yywrap() function (use %noyywrap in pars0lex.l)
      innobase/pars/pars0sym.c:
        Remove quote handling from sym_tab_add_str_lit()
      5e522f36
  4. 01 Apr, 2004 5 commits
    • unknown's avatar
      Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-4.0 · 43db12f6
      unknown authored
      into eagle.mysql.r18.ru:/home/vva/work/BUG_3200/mysql-4.0
      
      
      43db12f6
    • unknown's avatar
      Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.0 · fc92acf4
      unknown authored
      into eagle.mysql.r18.ru:/home/vva/work/BUG_3200/mysql-4.0
      
      
      fc92acf4
    • unknown's avatar
      Merge marko@build.mysql.com:/home/bk/mysql-4.0 · 41aa345d
      unknown authored
      into hundin.mysql.fi:/home/marko/j/mysql-4.0
      
      
      innobase/fil/fil0fil.c:
        Auto merged
      innobase/srv/srv0srv.c:
        Auto merged
      41aa345d
    • unknown's avatar
      InnoDB cleanup: fixing buffer overflows and quoting of quotes · 025ddfea
      unknown authored
      
      innobase/dict/dict0crea.c:
        Remove unneeded prototypes for static functions
        Remove unused parameters from some functions
        Replace some assertions with compile-time checks
        dict_create_add_foreigns_to_dictionary():
        allocate space dynamically for the SQL, and quote quotes
      innobase/dict/dict0dict.c:
        Remove unnecessary prototypes for static functions
        dict_tables_have_same_db(): Remove length limitation
        dict_remove_db_name(): Use strchr()
        dict_get_db_name_len(): Use strchr()
        Replace mem_heap_alloc()+strlen()+memcpy() with mem_heap_strdup()
        Remove unnecessary strlen() calls
        Allocate space dynamically for generated strings
        dict_scan_id(): allow quotes within quoted strings
      innobase/dict/dict0load.c:
        Remove unnecessary strlen() calls
        Replace mem_heap_alloc()+strlen()+memcpy() with mem_heap_strdup()
      innobase/dict/dict0mem.c:
        Replace mem_heap_alloc()+strlen()+memcpy() with mem_heap_strdup()
      innobase/eval/eval0eval.c:
        Make TO_CHAR() work with any machine word width
      innobase/fil/fil0fil.c:
        Replace mem_alloc()+strlen()+strcpy() with mem_strdup()
      innobase/ibuf/ibuf0ibuf.c:
        Make some global variables static
        Add #ifdef UNIV_IBUF_DEBUG around debug statements
      innobase/include/data0data.h:
        Add #ifdef UNIV_DEBUG around dtuple_validate()
      innobase/include/data0data.ic:
        Replace = with == in ut_ad(tuple->magic_n == DATA_TUPLE_MAGIC_N)
      innobase/include/dict0dict.h:
        Add const qualifiers
      innobase/include/lock0lock.h:
        Add UL suffixes to unsigned long masks
      innobase/include/log0log.h:
        Remove unused parameter "type" of log_group_write_buf()
      innobase/include/mem0mem.h:
        Add mem_strdup(), mem_strdupl(), mem_strdupq(), mem_heap_strdup(),
        and mem_heap_strdupl()
      innobase/include/mem0mem.ic:
        Add mem_strdup(), mem_strdupl(), mem_strdupq(), mem_heap_strdup(),
        and mem_heap_strdupl()
      innobase/include/row0uins.h:
        Remove unused parameter "thr" of row_undo_ins()
      innobase/include/row0undo.h:
        Remvoe unused parameter "thr" of row_undo_search_clust_to_pcur()
      innobase/include/ut0byte.h:
        Add const qualifier to ut_cpy_in_lower_case()
        Remove parameter "len" of ut_cmp_in_lower_case()
      innobase/include/ut0mem.h:
        Add ut_strlenq(), ut_strcpyq() and ut_memcpyq()
      innobase/include/ut0mem.ic:
        Add ut_strlenq()
      innobase/include/ut0ut.h:
        Declare ut_sprintf() as a printf-style function
      innobase/lock/lock0lock.c:
        lock_clust_rec_modify_check_and_lock(): Remove unused variable "trx"
      innobase/log/log0log.c:
        Remove unused parameters
      innobase/log/log0recv.c:
        Remove parameter "type" from log_group_write_buf()
      innobase/mem/mem0mem.c:
        Simplify the initialization of block->init_block
      innobase/mtr/mtr0log.c:
        Add a debug assertion to mlog_parse_initial_log_record()
      innobase/page/page0cur.c:
        Add debug assertion to page_cur_insert_rec_write_log()
        Remove hard-coded buffer size in page_cur_parse_insert_rec()
      innobase/page/page0page.c:
        Remove unneeded variable rec
      innobase/pars/pars0opt.c:
        Correct a potential buffer overflow
      innobase/pars/pars0pars.c:
        Replace mem_heap_alloc()+strlen()+memcpy() with mem_heap_strdup()
      innobase/row/row0ins.c:
        Replace parameter "thr" with "trx" in row_ins_foreign_report_add_err()
        Remove unnecessary strlen() call
        Use strchr()
      innobase/row/row0mysql.c:
        Add row_mysql_is_recovered_tmp_table()
        Add row_mysql_is_system_table()
        Compare reserved table names with exact match
        Use strstr() and strchr() and mem_strdupl()
        Compute space needed for generated SQL, and allocate it dynamically
      innobase/row/row0purge.c:
        Remove unused parameters "thr"
      innobase/row/row0row.c:
        Simplify row_get_clust_rec()
      innobase/row/row0uins.c:
        Remove unused parameters "thr"
      innobase/row/row0umod.c:
        Remove unused variable "index"
        row_undo_mod_del_unmark_sec_and_undo_update():
         Remove parameter "node" and variable "rec"
        Remove unused parameters "thr"
      innobase/row/row0undo.c:
        Remove unused parameters "thr"
      innobase/srv/srv0srv.c:
        Replace UT_NOT_USED() with __attribute__((unused))
      innobase/srv/srv0start.c:
        Remove unnecessary strlen() calls
        Remove unused parameter "create_new_db" of open_or_create_log_file()
      innobase/trx/trx0roll.c:
        Replace mem_alloc()+strlen()+memcpy() with mem_strdup()
      innobase/trx/trx0sys.c:
        Remove unnecessary strlen() call
      innobase/ut/ut0byte.c:
        Add const qualifier to ut_cpy_in_lower_case()
        Remove parameter "len" of ut_cmp_in_lower_case()
      innobase/ut/ut0mem.c:
        Add ut_strlenq() and ut_memcpyq()
      sql/ha_innodb.cc:
        Remove parameter "len" of ut_cmp_in_lower_case()
      025ddfea
    • unknown's avatar
      fil0fil.c, os0file.c, srv0srv.h, srv0srv.c: · a9fb96b2
      unknown authored
        Add an accessor function to set srv_io_thread_op_info, change the type to const char*, also change the type of srv_io_thread_function to const char*
      
      
      innobase/srv/srv0srv.c:
        Add an accessor function to set srv_io_thread_op_info, change the type to const char*, also change the type of srv_io_thread_function to const char*
      innobase/include/srv0srv.h:
        Add an accessor function to set srv_io_thread_op_info, change the type to const char*, also change the type of srv_io_thread_function to const char*
      innobase/os/os0file.c:
        Add an accessor function to set srv_io_thread_op_info, change the type to const char*, also change the type of srv_io_thread_function to const char*
      innobase/fil/fil0fil.c:
        Add an accessor function to set srv_io_thread_op_info, change the type to const char*, also change the type of srv_io_thread_function to const char*
      a9fb96b2
  5. 31 Mar, 2004 7 commits
    • unknown's avatar
      fil0fil.c: · f4b6dab2
      unknown authored
        Add assertions to check that we do not go out of bounds of io thread status array
      os0file.c:
        Fix memory corruption (assertion failure on line 244 of sync0sync.c) reported by Miguel in a Windows build of MySQL-4.1.2. The bug is present in all InnoDB versions in Windows, but it depends on how the linker places a static array in srv0srv.c, whether the bug shows itself. 4 bytes were overwritten with a pointer to a statically allocated string: 'get windows aio return value'.
      
      
      innobase/os/os0file.c:
        Fix memory corruption (assertion failure on line 244 of sync0sync.c) reported by Miguel in a Windows build of MySQL-4.1.2. The bug is present in all InnoDB versions in Windows, but it depends on how the linker places a static array in srv0srv.c, whether the bug shows itself. 4 bytes were overwritten with a pointer to a statically allocated string: 'get windows aio return value'.
      innobase/fil/fil0fil.c:
        Add assertions to check that we do not go out of bounds of io thread status array
      f4b6dab2
    • unknown's avatar
      Merge marko@build.mysql.com:/home/bk/mysql-4.0 · 95367941
      unknown authored
      into hundin.mysql.fi:/home/marko/j/mysql-4.0
      
      
      95367941
    • unknown's avatar
      InnoDB: cleanup of B-tree cursor operations · dbffc480
      unknown authored
      
      innobase/btr/btr0cur.c:
        Remove unused parameter of btr_cur_latch_leaves()
        Simplify logic and add debug assertion in btr_cur_search_to_nth_level()
      dbffc480
    • unknown's avatar
      Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.0 · bdb370c8
      unknown authored
      into gluh.mysql.r18.ru:/home/gluh/Bugs/mysql-4.0
      
      
      bdb370c8
    • unknown's avatar
      InnoDB: Remove ut_str_contains() and replace it with strchr() · 7c9dba22
      unknown authored
      
      innobase/dict/dict0dict.c:
        Replace ut_str_contains() with strchr()
      innobase/include/ut0mem.h:
        Remove ut_str_contains(), a reinvented strchr()
      innobase/row/row0mysql.c:
        Replace ut_str_contains() with strchr()
      innobase/ut/ut0mem.c:
        Remove ut_str_contains(), a reinvented strchr()
      7c9dba22
    • unknown's avatar
      InnoDB: Remove unused hash table code and parameters · 19b727ad
      unknown authored
      
      innobase/ha/ha0ha.c:
        Remove unused first parameter of ha_chain_get_next()
      innobase/include/ha0ha.ic:
        Remove unused first parameter of ha_chain_get_next()
        Remove unused function ha_next()
      19b727ad
    • unknown's avatar
      InnoDB: Remove unnecessary code, mostly related to stored procedures · 4050e916
      unknown authored
      
      innobase/data/data0data.c:
        Remove unused global variables
      innobase/dict/dict0dict.c:
        Remove unused code
      innobase/dict/dict0mem.c:
        Remove unnecessary function dict_mem_procedure_create()
      innobase/include/dict0dict.h:
        Remove unused code related to stored procedures
      innobase/include/dict0dict.ic:
        Remove unnecessary function dict_procedure_get()
      innobase/include/dict0mem.h:
        Remove unnecessary code related to stored procedures
      innobase/include/dict0types.h:
        Remove dict_proc_t, as procedures are not stored into database
      innobase/include/pars0pars.h:
        Remove call_node_struct and references to dict_proc_t,
        as procedures are not stored into database or called by name
      innobase/include/pars0sym.h:
        Remove procedure_def, as procedures are not stored into database
      innobase/include/pars0types.h:
        Remove call_node_t, as procedures are not called by name
      4050e916
  6. 30 Mar, 2004 3 commits
  7. 29 Mar, 2004 4 commits
  8. 26 Mar, 2004 7 commits
    • unknown's avatar
      some cleanup of last patch for BUG #2342 · 04e879e7
      unknown authored
      
      mysql-test/t/bdb-crash.test:
        added newline
      sql/ha_berkeley.cc:
        added a commet
      04e879e7
    • unknown's avatar
      Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-4.0 · 2e3950b2
      unknown authored
      into eagle.mysql.r18.ru:/home/vva/work/BUG_2342/mysql-4.0
      
      
      2e3950b2
    • unknown's avatar
      fixed bug #2342 · aab1e50e
      unknown authored
      "Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
      
      1. added new status HA_ADMIN_REJECT and processing of it in mysql_admin_table
      2. got ha_berkley::analyze to return HA_ADMIN_REJECT if there are any 
       transactions with the table.. 
      
      
      mysql-test/r/bdb-crash.result:
        added test for bug #2342 
        "Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
      mysql-test/t/bdb-crash.test:
        added test for bug #2342 
        "Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
      sql/ha_berkeley.cc:
        fixed bug #2342 
        "Running ANALYZE TABLE on bdb table inside a transaction hangs server thread"
        
        we have to return new status "HA_ADMIN_REJECT" for ha_berkley::analyze 
        if there are any transaction for this table 
        so as bdb documentation says:
        "The DB->stat method cannot be transaction protected"
      sql/handler.h:
        added new status of table info "HA_ADMIN_REJECT"
        
        We have to return this status for bdb tables which 
        have any active transactions so as bdb-documentation says:
        "The DB->stat method cannot be transaction-protected"
      sql/sql_table.cc:
        added processing of the new status HA_ADMIN_REJECT in mysql_admin_table
        (reason to add this status is explained in comment 
        for commit on sql/handler.h)
      aab1e50e
    • unknown's avatar
      Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0 · 10d80288
      unknown authored
      into sinisa.nasamreza.org:/mnt/work/mysql-4.0
      
      
      10d80288
    • unknown's avatar
      Merge heikki@build.mysql.com:/home/bk/mysql-4.0 · 185c68d9
      unknown authored
      into hundin.mysql.fi:/home/heikki/mysql-4.0
      
      
      185c68d9
    • unknown's avatar
      mem0dbg.c: · 08d31b97
      unknown authored
        Backport from 4.1: make mem_current_allocated_memory global variable
      
      
      innobase/mem/mem0dbg.c:
        Backport from 4.1: make mem_current_allocated_memory global variable
      08d31b97
    • unknown's avatar
      Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0 · 13e6d008
      unknown authored
      into sinisa.nasamreza.org:/mnt/work/mysql-4.0
      
      
      13e6d008