1. 30 Jul, 2004 1 commit
    • unknown's avatar
      sql_class.h: · b2964167
      unknown authored
        removing safe_mutex_assert_owner, as it would require an include,
        and Konstantin already has cleaned up things with assert.h in 4.1;
        so I'll put the safe_mutex_assert_owner in 4.1 instead.
      
      
      sql/sql_class.h:
        removing safe_mutex_assert_owner, as it would require an include,
        and Konstantin already has cleaned up things with assert.h in 4.1;
        so I'll put the safe_mutex_assert_owner in 4.1 instead.
      b2964167
  2. 29 Jul, 2004 5 commits
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · a5a8cc2f
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      a5a8cc2f
    • unknown's avatar
      Reverting a line I had just added to slave.cc (mutex is already locked · faad9918
      unknown authored
      when we come at this place).
      
      
      sql/slave.cc:
        stupid me; this line is a mistake
      faad9918
    • unknown's avatar
      Avoiding a theoretically possible crash (pthread_mutex_lock(0)) which could... · e62048fa
      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.
      e62048fa
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.0/ · 5c5c7c55
      unknown authored
      into serg.mylan:/usr/home/serg/Abk/mysql-4.0
      
      5c5c7c55
    • unknown's avatar
      language fix · 7abe5254
      unknown authored
      7abe5254
  3. 28 Jul, 2004 2 commits
  4. 27 Jul, 2004 4 commits
    • unknown's avatar
      buf0flu.c, os0file.c: · 72530d14
      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
      72530d14
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.0/ · 7d975e78
      unknown authored
      into serg.mylan:/usr/home/serg/Abk/mysql-4.0
      
      7d975e78
    • unknown's avatar
      avoid functions in configure · aa87582c
      unknown authored
      aa87582c
    • unknown's avatar
      row0sel.c, page0page.ic: · ed22bd4f
      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
      ed22bd4f
  5. 26 Jul, 2004 3 commits
  6. 23 Jul, 2004 4 commits
  7. 22 Jul, 2004 1 commit
    • unknown's avatar
      distclean: · 039957b2
      unknown authored
      	rm -f lex_hash.h
      BUG#4583
      
      039957b2
  8. 21 Jul, 2004 2 commits
  9. 20 Jul, 2004 1 commit
  10. 19 Jul, 2004 2 commits
  11. 18 Jul, 2004 1 commit
    • unknown's avatar
      Fix for BUG#4551 "Temporary InnoDB tables not replicated properly with CREATE TABLE .. SELECT" · fc488787
      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.
      fc488787
  12. 17 Jul, 2004 2 commits
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · 301e972a
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      301e972a
    • unknown's avatar
      Fixes for · fe3e2470
      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.
      fe3e2470
  13. 15 Jul, 2004 2 commits
    • unknown's avatar
      InnoDB: limit the recursion depth for ON (UPDATE|DELETE) CASCADE · 95fb41b2
      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
      95fb41b2
    • unknown's avatar
      btr0cur.c: · 90aa7d70
      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
      90aa7d70
  14. 13 Jul, 2004 5 commits
  15. 12 Jul, 2004 4 commits
    • unknown's avatar
      InnoDB: LOCK TABLES clean-up, part 2 · ed4e47a6
      unknown authored
      
      innobase/lock/lock0lock.c:
        Decrement n_lock_table_exp in lock_table_dequeue(), not elsewhere
      ed4e47a6
    • unknown's avatar
      InnoDB: LOCK TABLE clean-up · 922fbbab
      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()
      922fbbab
    • unknown's avatar
      InnoDB: Increment the lock wait watchdog timeout during CHECK TABLE · 994c762f
      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.
      994c762f
    • unknown's avatar
      srv0start.c: · f9f7608e
      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
      f9f7608e
  16. 10 Jul, 2004 1 commit