1. 29 Jul, 2004 5 commits
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · 4b202233
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      
      4b202233
    • unknown's avatar
      Reverting a line I had just added to slave.cc (mutex is already locked · 1adf793d
      unknown authored
      when we come at this place).
      
      
      sql/slave.cc:
        stupid me; this line is a mistake
      1adf793d
    • unknown's avatar
      Avoiding a theoretically possible crash (pthread_mutex_lock(0)) which could... · d475643d
      unknown authored
      Avoiding a theoretically possible crash (pthread_mutex_lock(0)) which could (at least in POSIX Threads books)
      happen on SMP machines, when a thread is going to wait on a condition and it is KILLed at the
      same time.
      Cleaning code a bit by adding a test in enter_cond() that we have the mutex (was already the case in all places
      where it's called except one which is fixed here).
      
      
      sql/log.cc:
        safe_mutex_assert_owner() is now in THD::enter_cond()
      sql/slave.cc:
        lock mutex before waiting on condition.
      sql/sql_class.cc:
        THD::awake(): before locking the mutex, let's test it's not zero;
        in theory indeed, the killer thread may see current_cond non-zero and current_mutex zero
        (order of assignments is not guaranteed by POSIX).
        A comment noting that there is still a small chance a KILL does not work and needs
        being re-issued.
      sql/sql_class.h:
        Assert in enter_cond() that we have the mutex.
        It is already the case in all places where we call enter_cond(), so better ensure it there.
      d475643d
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.0/ · 7936ec52
      unknown authored
      into serg.mylan:/usr/home/serg/Abk/mysql-4.0
      
      
      7936ec52
    • unknown's avatar
      language fix · 3a72d735
      unknown authored
      3a72d735
  2. 28 Jul, 2004 2 commits
  3. 27 Jul, 2004 4 commits
    • unknown's avatar
      buf0flu.c, os0file.c: · 5e33eb8e
      unknown authored
        Add more diagnostic code to determine when an lsn field gets corrupt; tracks a crash reported from one Itanium computer
      
      
      innobase/os/os0file.c:
        Add more diagnostic code to determine when an lsn field gets corrupt; tracks a crash reported from one Itanium computer
      innobase/buf/buf0flu.c:
        Add more diagnostic code to determine when an lsn field gets corrupt; tracks a crash reported from one Itanium computer
      5e33eb8e
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.0/ · a79b4c32
      unknown authored
      into serg.mylan:/usr/home/serg/Abk/mysql-4.0
      
      
      a79b4c32
    • unknown's avatar
      avoid functions in configure · f072ed1c
      unknown authored
      f072ed1c
    • unknown's avatar
      row0sel.c, page0page.ic: · 660bf876
      unknown authored
        Add diagnostic code to print hex dumps and track corruption of next record offsets in an index page
      
      
      innobase/include/page0page.ic:
        Add diagnostic code to print hex dumps and track corruption of next record offsets in an index page
      innobase/row/row0sel.c:
        Add diagnostic code to print hex dumps and track corruption of next record offsets in an index page
      660bf876
  4. 26 Jul, 2004 3 commits
  5. 23 Jul, 2004 4 commits
  6. 22 Jul, 2004 1 commit
    • unknown's avatar
      distclean: · 473eec23
      unknown authored
      	rm -f lex_hash.h
      BUG#4583
      
      
      473eec23
  7. 21 Jul, 2004 2 commits
  8. 20 Jul, 2004 1 commit
  9. 19 Jul, 2004 2 commits
  10. 18 Jul, 2004 1 commit
    • unknown's avatar
      Fix for BUG#4551 "Temporary InnoDB tables not replicated properly with CREATE TABLE .. SELECT" · 382ff793
      unknown authored
      The problem was that (for any storage engine), the created temporary table was not removed if CREATE SELECT failed (because
      of a constraint violation for example). This was not consistent with the manual and with CREATE SELECT (no TEMPORARY).
      
      
      sql/sql_insert.cc:
        Fix for BUG#4551 "Temporary InnoDB tables not replicated properly with CREATE TABLE .. SELECT"
        The problem was that (for any storage engine), the created temporary table was not removed if CREATE SELECT failed (because
        of a constraint violation for example). This was not consistent with the manual and with CREATE SELECT (no TEMPORARY).
        And it led to the above bug, because the binlogging of CREATE SELECT is done by select_insert::send_eof() (same function
        as INSERT SELECT) and so, if the table is transactional and there is a failure, the statement is considered as rolled
        back and so nothing is written in the binlog. So temp table MUST be deleted.
      382ff793
  11. 17 Jul, 2004 2 commits
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · 474c2578
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      
      474c2578
    • unknown's avatar
      Fixes for · cf8dbcc6
      unknown authored
      BUG#4506 "mysqlbinlog --position --read-from-remote-server has wrong "# at" lines",
      BUG#4553 "Multi-table DROP TABLE replicates improperly for nonexistent table" with a test file.
      It was not possible to add a test for BUG#4506 as in the test suite we must use --short-form
      which does not display the "# at" lines.
      
      
      client/mysqlbinlog.cc:
        Fix for BUG#4506 "mysqlbinlog --position --read-from-remote-server has wrong "# at" lines"
        when reading a remote binlog, the start position is not always BIN_LOG_HEADER_SIZE (4).
      sql/sql_table.cc:
        Fix for BUG#4553 "Multi-table DROP TABLE replicates improperly for nonexistent table"
        we must my_error() _before_ we write to the binlog, so that a meaningful error code is available
        in thd->net.last_errno for storage of the DROP TABLE statement into the binlog.
      cf8dbcc6
  12. 15 Jul, 2004 2 commits
    • unknown's avatar
      InnoDB: limit the recursion depth for ON (UPDATE|DELETE) CASCADE · 13985521
      unknown authored
      (Bug #4446)
      
      
      innobase/row/row0ins.c:
        row_ins_foreign_check_on_constraint(): limit recursion for UPDATE too
      mysql-test/r/innodb.result:
        Add test for recursion depth limit
      mysql-test/t/innodb.test:
        Add test for recursion depth limit
      13985521
    • unknown's avatar
      btr0cur.c: · 9e6f6198
      unknown authored
        Do not add + 1 to the InnoDB index cardinality estimate if the B-tree just contains one page; the fix made in March 2004 caused InnoDB systematically to overestimate the cardinality of empty or small tables by 1
      
      
      innobase/btr/btr0cur.c:
        Do not add + 1 to the InnoDB index cardinality estimate if the B-tree just contains one page; the fix made in March 2004 caused InnoDB systematically to overestimate the cardinality of empty or small tables by 1
      9e6f6198
  13. 13 Jul, 2004 5 commits
  14. 12 Jul, 2004 4 commits
    • unknown's avatar
      InnoDB: LOCK TABLES clean-up, part 2 · 63c915c7
      unknown authored
      
      innobase/lock/lock0lock.c:
        Decrement n_lock_table_exp in lock_table_dequeue(), not elsewhere
      63c915c7
    • unknown's avatar
      InnoDB: LOCK TABLE clean-up · fbc420ba
      unknown authored
      
      innobase/include/lock0lock.h:
        Improve comments regarding LOCK_TABLE_EXP
      innobase/include/row0mysql.h:
        Rename row_unlock_table_for_mysql() to row_unlock_tables_for_mysql()
        and improve its comment
      innobase/include/trx0trx.h:
        Rename n_tables_locked to n_lock_table_exp
      innobase/lock/lock0lock.c:
        Rename n_tables_locked to n_lock_table_exp
        Increment n_lock_table_exp already in lock_table_create()
        Replace some ut_ad() assertions with ut_a()
      innobase/row/row0mysql.c:
        Rename n_tables_locked to n_lock_table_exp
        Rename row_unlock_table_for_mysql() to row_unlock_tables_for_mysql()
        and improve its comment
      innobase/trx/trx0trx.c:
        Rename n_tables_locked to n_lock_table_exp
      sql/ha_innodb.cc:
        Rename n_tables_locked to n_lock_table_exp
        Rename row_unlock_table_for_mysql() to row_unlock_tables_for_mysql()
      fbc420ba
    • unknown's avatar
      InnoDB: Increment the lock wait watchdog timeout during CHECK TABLE · 7b6fc58f
      unknown authored
      (Bug #2694)
      
      
      innobase/include/srv0srv.h:
        Add srv_fatal_semaphore_wait_threshold
      innobase/include/sync0arr.h:
        Improve comment of sync_array_print_long_waits()
      innobase/row/row0mysql.c:
        Lengthen the srv_fatal_semaphore_wait_threshold by 2 hours during
        CHECK TABLE
      innobase/srv/srv0srv.c:
        Add srv_fatal_semaphore_wait_threshold
      innobase/sync/sync0arr.c:
        Improve comment of sync_array_print_long_waits().
        Replace the fixed timeout of 600 seconds with
        srv_fatal_semaphore_wait_threshold.
      7b6fc58f
    • unknown's avatar
      srv0start.c: · 45485da7
      unknown authored
        innobase_start_or_create_for_mysql(): Rename innodb.status.<pid>
        to innodb_status.<pid> to avoid problems on VMS
      
      
      innobase/srv/srv0start.c:
        innobase_start_or_create_for_mysql(): Rename innodb.status.<pid>
        to innodb_status.<pid> to avoid problems on VMS
      45485da7
  15. 10 Jul, 2004 2 commits