1. 29 Oct, 2003 1 commit
    • unknown's avatar
      Fix for BUG#1686 · 03dbf8cc
      unknown authored
      "If 2 master threads with same-name temp table, slave makes bad binlog"
      and (two birds with one stone) for
      BUG#1240 "slave of slave breaks when STOP SLAVE was issud on parent slave
      and temp tables".
      
      Here is the design change:
      in a slave running with --log-slave-updates, events are now logged with the
      thread id they had on the master. So no more id conflicts between master threads,
      but introduces id conflicts between one master thread and one normal 
      client thread connected to the slave. This is solved by storing the server id
      in the temp table's name.
      
      New test which requires mysql-test-run to be run with --manager,
      otherwise it will be skipped.
      
      Undoing a Monty's change (hum, a chill runs down my spine ;) which was
      "Cleanup temporary tables when slave ends" in ChangeSet 1.1572.1.1.
      
      
      mysql-test/mysql-test-run.sh:
        One new test which needs more than one slave so must be hardcoded in mysql-test-run.sh.
      sql/log_event.cc:
        The event needs to carry a slave_proxy_id (which is set at event's creation
        and used at event's logging).
        This is used for events created by ::exec_event() in the slave SQL thread:
        now we want to log these events with the thread id they had on the master.
        This is so that several same-name temp tables simultaneously created on
        the master end up with not the same thread id in the slave's binlog.
      sql/log_event.h:
        Query and Load need to carry a slave_proxy_id, like they carried a thread_id
        (to replicate temp tables well).
      sql/slave.cc:
        Do not free temp tables in the slave SQL thread. Or they will be lost when
        one does STOP SLAVE / START SLAVE.
        We even save them in rli->save_temporary_tables and set thd->temporary_tables=0
        to prevent them to be freed.
      sql/sql_base.cc:
        Put the server id in the table cache key name for temp tables
        (we already put the slave_proxy_id, but we also need the server id
        in case normal clients (not slave threads) are using temp tables
        on the slave).
      sql/unireg.h:
        4 more bytes, to store the server id.
      03dbf8cc
  2. 21 Oct, 2003 2 commits
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · e0fd80f7
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      
      mysql-test/r/rpl_trunc_binlog.result:
        Auto merged
      e0fd80f7
    • unknown's avatar
      Fix for Bug #1595 "mysqlbinlog can't read a password from the console". · 3e937ef4
      unknown authored
      ** I already fixed it in 3.23; I fix it in 4.0 separately because the
      code is a bit different (so the changeset 1.1422 of 3.23 should not be
      merged here) **
      Make mysqlbinlog prompt for the password if
      mysqlbinlog -p
      instead of printing the usage().
      This makes mysqlbinlog behave like other clients.
      This new code was almost copied from mysqldump.
      Note that before, one could use
        mysqlbinlog -p pass
      and now one must use
        mysqlbinlog -ppass
      (putting a space will ask for the password).
      
      
      client/mysqlbinlog.cc:
        Make mysqlbinlog prompt for the password if
        mysqlbinlog -p
        instead of printing the usage().
        This makes mysqlbinlog behave like other clients.
        This new code was almost copied from mysqldump.
        Note that before, one could use
          mysqlbinlog -p pass
        and now one must use
          mysqlbinlog -ppass
        (putting a space will ask for the password).
      3e937ef4
  3. 19 Oct, 2003 2 commits
    • unknown's avatar
      os0file.c: · a2611f9e
      unknown authored
        Check that writes to data files always happen in to addresses divisible by 16 kB, and the chunk size is also divisible by 16 kB; a user reported 2 corrupt pages from Linux-2.4.20 where an index page seemed displaced
      
      
      innobase/os/os0file.c:
        Check that writes to data files always happen in to addresses divisible by 16 kB, and the chunk size is also divisible by 16 kB; a user reported 2 corrupt pages from Linux-2.4.20 where an index page seemed displaced
      a2611f9e
    • unknown's avatar
      os0file.c: · 931d4fcc
      unknown authored
        Check that writes to data files always happen in to addresses divisible by 16 kB, and the chunk size is also divisible by 16 kB; a user reported 2 corrupt pages from Linux-2.4.20 where an index page seemed displaced
      
      
      innobase/os/os0file.c:
        Check that writes to data files always happen in to addresses divisible by 16 kB, and the chunk size is also divisible by 16 kB; a user reported 2 corrupt pages from Linux-2.4.20 where an index page seemed displaced
      931d4fcc
  4. 17 Oct, 2003 5 commits
  5. 16 Oct, 2003 8 commits
    • unknown's avatar
      A fix for a random test failure rpl_trunc_binlog: don't RESET MASTER · 0b8743c1
      unknown authored
      while the slave is connected.
      
      
      mysql-test/t/rpl_trunc_binlog.test:
        don't RESET MASTER while the slave is connected; this could confuse the master or slave.
        (In replication you don't RESET MASTER while a slave is connected!)
      sql/slave.cc:
        typo
      0b8743c1
    • unknown's avatar
      Merge lgrimmer@build.mysql.com:/home/bk/mysql-4.0 · 1b6cffff
      unknown authored
      into mysql.com:/space/my/mysql-4.0
      
      
      1b6cffff
    • unknown's avatar
      - fixed small typo to resolve "test: argument expected" error on Solaris · de01431b
      unknown authored
         and Tru64 when running "mysql_install_db"
      
      
      de01431b
    • unknown's avatar
      Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.0 · f1fc5c54
      unknown authored
      into sanja.is.com.ua:/home/bell/mysql/bk/work-qc_crash-4.0
      
      
      f1fc5c54
    • unknown's avatar
      Safety fix to detect multiple calls to my_thread_end() · 4f936a69
      unknown authored
      Portability fix (For Mac OS X)
      
      
      configure.in:
        Added detection of malloc / sys/malloc
      include/my_pthread.h:
        Safety fix to detect multiple calls to my_thread_end()
      libmysqld/lib_sql.cc:
        Remove duplicate call to my_thread_end()
      mysys/charset.c:
        Cleanup indentation
        Remove some short variable names
      mysys/my_thr_init.c:
        Safety fix to detect multiple calls to my_thread_end()
      sql/sql_test.cc:
        Portability fix (For Mac OS X)
      4f936a69
    • unknown's avatar
      fix for one of the bugs spotted by #1274 · ca5383cf
      unknown authored
      
      sql/sql_select.cc:
        back to the bug #1274:
        the following query
        EXPLAIN SELECT SQL_CALC_FOUND_ROWS race_name 
        FROM races WHERE race_name LIKE '%Madison%' ORDER BY race_date DESC LIMIT 0,100
        
        +-------+------+---------------+------+---------+------+--------+-----------------------------+
        | table | type | possible_keys | key  | key_len | ref  | rows   | Extra                       |
        +-------+------+---------------+------+---------+------+--------+-----------------------------+
        | races | ALL  | NULL          | NULL |    NULL | NULL | 505821 | Using where; Using filesort |
        +-------+------+---------------+------+---------+------+--------+-----------------------------+
        
        The query returns no rows.
        
        There are two problems with it: 
        - wrong access plan is chosed  (sequential index scan in reverse order,
        which is VERY SLOW in case of MyISAM table + packed keys)
        It's wrong, because it doesn't take into account that SQL_CALC_FOUND_ROWS 
        is present, in other words, is based on assumtion that LIMIT
        clause decrease number of rows to access significantly, which is
        not true as all rows are accessed.
        - the access plan is not shown in the EXPLAIN (bug #1560). I'm not
        fixing it here
      ca5383cf
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · 8ddb4b7c
      unknown authored
      into mashka.mysql.fi:/home/my/mysql-4.0
      
      
      8ddb4b7c
    • unknown's avatar
  6. 15 Oct, 2003 7 commits
    • unknown's avatar
      Created small scripts to manage in-tree diffs for · a49ef9a5
      unknown authored
      NetWare platform, so changes are visible in the tree 
      but cannot affect other platforms.
      
      
      a49ef9a5
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · 0fc97bc9
      unknown authored
      into mashka.mysql.fi:/home/my/mysql-4.0
      
      
      0fc97bc9
    • unknown's avatar
      Better fix for CREATE TABLE IF NOT EXISTS ... SELECT · b06eb4d8
      unknown authored
      Fixed chsize() problem on windows
      Extend default timeout on windows clients to 1 year (to avoid timeout problems)
      
      
      include/mysql.h:
        Added client timeouts (for TCP/IP)
      libmysql/libmysql.c:
        Added client timeouts (for TCP/IP)
      mysql-test/r/create.result:
        More tests for CREATE TABLE IF NOT EXISTS ... SELECT
      mysql-test/t/create.test:
        More tests for CREATE TABLE IF NOT EXISTS ... SELECT
      mysys/my_chsize.c:
        Fix for windows
      sql/handler.h:
        Remove not used field 'if_not_exists'
        Ordered fields to be more optimized for new CPU's
        Added field 'table_existed'
      sql/slave.cc:
        Cleanup temporary tables when slave ends
      sql/sql_class.h:
        Remove not used 'do_not_drop' field
      sql/sql_insert.cc:
        Better fix for CREATE TABLE IF NOT EXISTS ... SELECT
      sql/sql_table.cc:
        Better fix for CREATE TABLE IF NOT EXISTS ... SELECT
      b06eb4d8
    • unknown's avatar
      dummy resize_thr_alarm for Netware · e115c1f4
      unknown authored
      e115c1f4
    • unknown's avatar
      Updated comments · 48446c0f
      unknown authored
      
      mysys/queues.c:
        Comments for new functions (no code change)
      mysys/thr_alarm.c:
        Updated comment
      48446c0f
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · 60fb31dd
      unknown authored
      into mashka.mysql.fi:/home/my/mysql-4.0
      
      
      sql/mysqld.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      60fb31dd
    • unknown's avatar
      Add more information about memory usage to debug log · 4f5887b2
      unknown authored
      
      sql/sql_test.cc:
        Add more information about memory usage
      4f5887b2
  7. 14 Oct, 2003 3 commits
    • unknown's avatar
      Identical mysql.ico and MYSQL.ICO · cad75f4a
      unknown authored
      existed, causing problems on non-case-sensitive OSes.
      Deleted conflicting file.
      
      
      BitKeeper/deleted/.del-MYSQL.ICO~d93519b5f0d6ee1:
        Delete: VC++Files/mysqlshutdown/MYSQL.ICO
      cad75f4a
    • unknown's avatar
      Fixed bug in SET enum_system_variable=NULL · d1ed51db
      unknown authored
      
      BitKeeper/etc/ignore:
        added scripts/make_sharedlib_distribution
      mysql-test/r/variables.result:
        Add test for enum_system_variable=NULL
      mysql-test/t/variables.test:
        Add test for enum_system_variable=NULL
      sql/set_var.cc:
        Fixed bug in SET enum_system_variable=NULL
        Moved some array elements to get result sorted
      d1ed51db
    • unknown's avatar
      make LOCK TABLES to work when Lock_tables_priv is granted on the DB level and... · aa22ba81
      unknown authored
      make LOCK TABLES to work when Lock_tables_priv is granted on the DB level and Select_priv is granted on the table level.
      
      
      
      aa22ba81
  8. 13 Oct, 2003 1 commit
  9. 11 Oct, 2003 1 commit
    • unknown's avatar
      Add new user variables for tuning memory usage: · 74ea4594
      unknown authored
      query_alloc_block_size, query_prealloc_size, range_alloc_block_size,transaction_alloc_block_size and transaction_prealloc_size
      Add more checks for "out of memory" detection in range optimization
      
      
      configure.in:
        Added detection of mallinfo
      mysql-test/r/variables.result:
        Test of new variables
      mysql-test/t/variables.test:
        Test of new variables
      sql/ha_berkeley.cc:
        Use init_sql_alloc instead of init_alloc_root for better OOM detection
      sql/log_event.cc:
        Add new user variables for tuning memory usage
      sql/mysql_priv.h:
        Add new user variables for tuning memory usage
      sql/mysqld.cc:
        Add new user variables for tuning memory usage
      sql/opt_ft.cc:
        Add new user variables for tuning memory usage
      sql/opt_ft.h:
        Add new user variables for tuning memory usage
      sql/opt_range.cc:
        Add new user variables for tuning memory usage
        Add more checks for out of memory conditions
      sql/opt_range.h:
        Add new user variables for tuning memory usage
      sql/set_var.cc:
        Add new user variables for tuning memory usage
      sql/sql_acl.cc:
        Add new user variables for tuning memory usage
      sql/sql_class.h:
        Add new user variables for tuning memory usage
      sql/sql_delete.cc:
        Add new user variables for tuning memory usage
      sql/sql_parse.cc:
        Add new user variables for tuning memory usage
      sql/sql_select.cc:
        Add new user variables for tuning memory usage
      sql/sql_test.cc:
        Add information about memory useage if system supports mallinfo()
      sql/sql_udf.cc:
        Add new user variables for tuning memory usage
      sql/sql_update.cc:
        Add new user variables for tuning memory usage
      sql/table.cc:
        Add new user variables for tuning memory usage
      74ea4594
  10. 10 Oct, 2003 1 commit
  11. 09 Oct, 2003 2 commits
  12. 08 Oct, 2003 5 commits
  13. 07 Oct, 2003 2 commits