1. 28 Apr, 2004 4 commits
  2. 27 Apr, 2004 1 commit
  3. 24 Apr, 2004 2 commits
  4. 21 Apr, 2004 1 commit
  5. 13 Apr, 2004 2 commits
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · 5cad7eb4
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      5cad7eb4
    • unknown's avatar
      Fix for BUG#3461 "multi-table DELETE replicated despite replicate-wild-ignore-table": · 25b5718e
      unknown authored
      In tables_ok(), when there is no table having "updating==TRUE" in the list,
          return that we don't replicate this statement (the slave is supposed to
          replicate *changes* only).
          In practice, the case can only happen for this statement:
          DELETE t FROM t,u WHERE ... ;
          tables_ok(t,u) will now return 0, which (check all_tables_not_ok())
          will give a chance to tables_ok(t) to run.
      
      
      sql/slave.cc:
        In tables_ok(), when there is no table having "updating==TRUE" in the list,
        return that we don't replicate this statement (the slave is supposed to
        replicate *changes* only).
        In practice, the case can only happen for this statement:
        DELETE t FROM t,u WHERE ... ;
        tables_ok(t,u) will now return 0, which (check all_tables_not_ok())
        will give a chance to tables_ok(t) to run.
      25b5718e
  6. 12 Apr, 2004 1 commit
    • unknown's avatar
      Fix typos that resulted in adding names to the global namespace that · 4eee6b1d
      unknown authored
      were never defined.  This potentially caused problems when trying to link
      libmysqld with shared libraries.
      
      
      strings/longlong2str-x86.s:
        typo: longlong10_str -> longlong10_to_str
      strings/strings-x86.s:
        typo: strxmov_end-strxmov -> .strxmov_end-strxmov
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      4eee6b1d
  7. 09 Apr, 2004 4 commits
  8. 08 Apr, 2004 4 commits
    • unknown's avatar
      Fix for BUG#3422 "In 3.23 -> 4.0 replication, slave segfault when replicating LOAD DATA INFILE": · 89fc51ad
      unknown authored
      as we transform the 3.23 Load_log_event into a 4.0 Create_file_log_event which is one
      byte longer, we need to increment event_len. The bug was that we did not increment it,
      so later in code the end 0 was not seen so there was for example a segfault in
      strlen(fname) because fname was not 0-terminated.
      Other problems remain in 3.23->4.0 replication of LOAD DATA INFILE but they are less serious:
      Exec_master_log_pos and Relay_log_space are incorrect. I'll document them.
      They are not fixable without significant code changes (if you fix those problems in 4.0,
      you get assertion failures somewhere else etc), * which are already done in 5.0.0 *.
      
      
      sql/slave.cc:
        In 3.23->4.0 replication of LOAD DATA INFILE:
        as we transform the 3.23 Load_log_event into a 4.0 Create_file_log_event which is one
        byte longer, we need to increment event_len.
        So we need to modify the event_len stored in the event.
        And we need to decrement event_len when we compute the offset in the master's binlog.
      89fc51ad
    • unknown's avatar
      Merge marko@build.mysql.com:/home/bk/mysql-4.0 · c450af3e
      unknown authored
      into hundin.mysql.fi:/home/marko/j/mysql-4.0
      
      c450af3e
    • unknown's avatar
      InnoDB: Fix a preprocessor error introduced in ChangeSet 1.1772 · 4f1efc7e
      unknown authored
      
      innobase/sync/sync0sync.c:
        Fix a preprocessor error introduced in ChangeSet 1.1772
      4f1efc7e
    • unknown's avatar
      sql_select.cc: · 66ce009e
      unknown authored
        Fix a glitch reported by Philippe Lewicki on the general mailing list: do not print a warning to the .err log if read_key fails with a lock wait timeout error 146
      
      
      sql/sql_select.cc:
        Fix a glitch reported by Philippe Lewicki on the general mailing list: do not print a warning to the .err log if read_key fails with a lock wait timeout error 146
      66ce009e
  9. 07 Apr, 2004 3 commits
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · d00abb3b
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      d00abb3b
    • unknown's avatar
      Fix for BUG#3415 "mysqlbinlog loses a USE command when LOAD DATA INFILE is involved": · 9f5bbccb
      unknown authored
      if you are printing LOAD DATA INFILE and its USE as comments, don't update 'last_db' (because you
      have not actually changed the db in the server).
      
      
      sql/log_event.cc:
        if you are printing LOAD DATA INFILE and its USE as comments, don't update 'last_db' (because you
        have not actually changed the db in the server).
      9f5bbccb
    • unknown's avatar
      InnoDB: Remove debug functions unless #ifdef UNIV_DEBUG · 8d730987
      unknown authored
      
      innobase/btr/btr0btr.c:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/buf/buf0buf.c:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/buf/buf0flu.c:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/buf/buf0lru.c:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/buf/buf0rea.c:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/data/data0type.c:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/dict/dict0dict.c:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/fsp/fsp0fsp.c:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/fut/fut0lst.c:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/ibuf/ibuf0ibuf.c:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/include/btr0btr.h:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/include/buf0buf.h:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/include/buf0buf.ic:
        Remove global declaration of buf_dbg_counter
      innobase/include/buf0flu.h:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/include/buf0lru.h:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/include/data0type.h:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/include/dict0dict.h:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/include/fsp0fsp.h:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/include/fut0lst.h:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/include/lock0lock.h:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/include/mem0dbg.h:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/include/mem0dbg.ic:
        Add #ifdef UNIV_MEM_DEBUG around debug code
      innobase/include/mem0pool.h:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/include/mtr0mtr.h:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/include/pars0opt.h:
        Add #ifdef UNIV_SQL_DEBUG around debug code
      innobase/include/sync0rw.h:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/include/sync0sync.h:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/include/trx0sys.h:
        Add #ifdef UNIV_HOTBACKUP around InnoDB Hot Backup specific code
      innobase/lock/lock0lock.c:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/mem/mem0dbg.c:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/mem/mem0pool.c:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/mtr/mtr0mtr.c:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/pars/pars0opt.c:
        Add #ifdef UNIV_SQL_DEBUG around debug code
      innobase/srv/srv0start.c:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/sync/sync0rw.c:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/sync/sync0sync.c:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/trx/trx0roll.c:
        Add #ifdef UNIV_DEBUG around debug code
      innobase/trx/trx0sys.c:
        Add #ifdef UNIV_HOTBACKUP around InnoDB Hot Backup specific code
      8d730987
  10. 06 Apr, 2004 6 commits
    • unknown's avatar
      Fix for BUG#3401 "Rare replication bug which leads to "Binlog has bad magic number" from slave": · 510d230c
      unknown authored
      Backport of a part of this changeset of 4.1:
      ChangeSet@1.1753.1.1, 2004-04-05 13:56:05+03:00, monty@mysql.com
      which fixes the bug.
      
      
      sql/slave.cc:
        even if mi is already inited (replication already run once before),
        we need to seek back to the beginning of the relay log to be able
        to later check the binlog's magic number.
      510d230c
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · 6748a030
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      6748a030
    • unknown's avatar
      This is a fix for a bug in 3.23 -> 4.0 replication: Exec_master_log_pos is always · 66bade03
      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.
      66bade03
    • unknown's avatar
      InnoDB: send diagnostic output to stderr or files · 08ebb924
      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
      08ebb924
    • unknown's avatar
      Merge marko@build.mysql.com:/home/bk/mysql-4.0 · 4f08cfab
      unknown authored
      into hundin.mysql.fi:/home/marko/j/mysql-4.0
      
      4f08cfab
    • unknown's avatar
      Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.0 · 1821bf0b
      unknown authored
      into eagle.mysql.r18.ru:/home/vva/work/BUG_3361/mysql-4.0
      
      1821bf0b
  11. 05 Apr, 2004 6 commits
  12. 02 Apr, 2004 3 commits
    • unknown's avatar
      InnoDB: ignore intra-database foreign key references between tables · a6d2408b
      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
      a6d2408b
    • unknown's avatar
      Merge marko@build.mysql.com:/home/bk/mysql-4.0 · b73dc660
      unknown authored
      into hundin.mysql.fi:/home/marko/j/mysql-4.0
      
      b73dc660
    • unknown's avatar
      InnoDB: Handle quotes properly in the InnoDB SQL parser · f3ef2a97
      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()
      f3ef2a97
  13. 01 Apr, 2004 3 commits