1. 04 Aug, 2006 1 commit
  2. 03 Aug, 2006 2 commits
    • unknown's avatar
      Fix Bug #18559 "log tables cannot change engine, and · 157c42de
      unknown authored
                      gets deadlocked when dropping w/ log on"
      
      Log tables rely on concurrent insert machinery to add data.
      This means that log tables are always opened and locked by
      special (artificial) logger threads. Because of this, the thread
      which tries to drop a log table starts to wait for the table
      to be unlocked. Which will happen only if the log table is disabled.
      Alike situation happens if one tries to alter a log table.
      However in addition to the problem above, alter table calls
      check_if_locking_is_allowed() routine for the engine. The
      routine does not allow alter for the log tables. So, alter
      doesn't start waiting forever for logs to be disabled, but 
      returns with an error.
      Another problem is that not all engines could be used for
      the log tables. That's because they need concurrent insert.
      
      In this patch we:
      (1) Explicitly disallow to drop/alter a log table if it
          is currently used by the logger.
      (2) Update MyISAM to support log tables
      (3) Allow to drop log tables/alter log tables if log is
          disabled
      At the same time we (4) Disallow to alter log tables to
      unsupported engine (after this patch CSV and MyISAM are 
      alowed)
      Recommit with review fixes.
      
      
      mysql-test/r/log_tables.result:
        Update result file.
        Note: there are warnings in result file. This is because of CSV
        bug (Bug #21328). They should go away after it is fixed.
      mysql-test/t/log_tables.test:
        Add a test for the bug
      sql/ha_myisam.cc:
        Add log table handling to myisam: as log tables
        use concurrent insert, they are typically
        locked with TL_CONCURRERENT_INSERT lock. So,
        disallow other threads to attempt locking of
        the log tables in incompatible modes. Because
        otherwise the threads will wait for the tables
        to be unlocked forever.
      sql/handler.cc:
        Add a function to check if a table we're going to lock
        is a log table and if the lock mode we want allowed
      sql/handler.h:
        Add a new function to check compatibility of the locking
      sql/log.cc:
        we shouldn't close the log table if and only
        if this particular table is already closed
      sql/log.h:
        add new functions to check if a log is enabled
      sql/share/errmsg.txt:
        add new error messages
      sql/sql_table.cc:
        DROP and ALTER TABLE should not work on log
        tables if the log tables are enabled
      storage/csv/ha_tina.cc:
        move function to check if the locking for the log
        tables allowed to handler class, so that we can
        reuse it in other engines.
      storage/myisam/mi_extra.c:
        add new ::extra() flag processing to myisam
      storage/myisam/mi_open.c:
        init log table flag
      storage/myisam/mi_write.c:
        update status after each write if it's a log table
      storage/myisam/myisamdef.h:
        Add new log table flag to myisam share.
        We need it to distinguish between usual
        and log tables, as for the log tables we
        should provide concurrent insert in a
        different way than for usual tables: we
        want new rows to be immediately visible
        to other threads.
      157c42de
    • unknown's avatar
      Fix Bug #20139 Infinite loop after "FLUSH" and "LOCK tabX, general_log" · e1ec4de4
      unknown authored
      Due to incorrect handling of FLUSH TABLES, log tables were marked for flush,
      but not reopened. Later we started to wait for the log table to be closed
      (disabled) after the flush. And as nobody disabled logs in concurrent treads,
      the command lasted forever.
      After internal consultations it was decided to skip logs during FLUSH TABLES.
      The reasoning is that logging is done in the "log device", whatever it is
      which is always active and controlled by FLUSH LOGS. So, to flush logs
      one should use FLUSH LOGS, and not FLUSH TABLES.
      
      
      mysql-test/r/log_tables.result:
        update result file
      mysql-test/t/log_tables.test:
        add a test for the bug
      sql/sql_base.cc:
        Skip log tables during FLUSH TABLES
      e1ec4de4
  3. 02 Aug, 2006 1 commit
  4. 28 Jul, 2006 2 commits
  5. 27 Jul, 2006 5 commits
  6. 26 Jul, 2006 14 commits
    • unknown's avatar
      Merge bodhi.local:/opt/local/work/tmp_merge · 5b6016c1
      unknown authored
      into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
      
      
      BitKeeper/etc/ignore:
        auto-union
      BitKeeper/deleted/.del-libmysqld.dsp~78dc6a589e5a4149:
        Auto merged
      BitKeeper/deleted/.del-libmysqld.vcproj~a75d5b9a5967dea0:
        Auto merged
      BitKeeper/deleted/.del-mysqld.dsp~ffdbf2d234e23e56:
        Auto merged
      BitKeeper/deleted/.del-mysqld.vcproj~6aa7b3f9c3e28fcb:
        Auto merged
      libmysqld/Makefile.am:
        Auto merged
      mysql-test/Makefile.am:
        Auto merged
      mysql-test/r/date_formats.result:
        Auto merged
      mysql-test/r/view_grant.result:
        Auto merged
      mysql-test/t/date_formats.test:
        Auto merged
      mysql-test/t/init_connect.test:
        Auto merged
      mysql-test/t/mysqldump.test:
        Auto merged
      mysql-test/t/view_grant.test:
        Auto merged
      sql/ha_ndbcluster.cc:
        Auto merged
      sql/handler.h:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item_create.cc:
        Auto merged
      sql/item_create.h:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/item_strfunc.cc:
        Auto merged
      sql/item_strfunc.h:
        Auto merged
      sql/item_timefunc.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/opt_range.cc:
        Auto merged
      sql/set_var.h:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_cache.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_delete.cc:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      sql/sql_trigger.cc:
        Auto merged
      sql/sql_udf.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      storage/ndb/include/kernel/GlobalSignalNumbers.h:
        Auto merged
      storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
        Auto merged
      storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
        Auto merged
      storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
        Auto merged
      storage/ndb/src/ndbapi/ndberror.c:
        Auto merged
      support-files/mysql.spec.sh:
        Auto merged
      mysql-test/r/federated.result:
        Use local.
      mysql-test/r/myisam.result:
        Manual merge.
      mysql-test/t/federated.test:
        Manual merge.
      mysql-test/t/myisam.test:
        Manual merge.
      sql/Makefile.am:
        Manual merge.
      sql/set_var.cc:
        Manual merge.
      sql/sql_parse.cc:
        Manual merge.
      sql/sql_update.cc:
        Manual merge.
      storage/myisam/mi_create.c:
        Manual merge.
      5b6016c1
    • unknown's avatar
      Merge orca.ndb.mysql.com:/space/pekka/ndb/version/my51 · a9f0f116
      unknown authored
      into  orca.ndb.mysql.com:/space_old/pekka/ndb/version/my51-bug14935
      
      
      storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
        Auto merged
      storage/ndb/src/kernel/blocks/ERROR_codes.txt:
        manual
      a9f0f116
    • unknown's avatar
      ndb - bug#14935 - post-review · 743c4d99
      unknown authored
      
      storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
        bug#14935 - post-review
      storage/ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp:
        bug#14935 - post-review
      storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp:
        bug#14935 - post-review
      743c4d99
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1 · a920f554
      unknown authored
      into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge
      
      
      sql/sql_table.cc:
        Auto merged
      a920f554
    • unknown's avatar
      Add support for valgrind with callgrind · 1585d76e
      unknown authored
      1585d76e
    • unknown's avatar
      Merge 192.168.0.20:mysql/my51-m-bug21039 · 98e8c0bf
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-5.1-new-maint
      
      
      98e8c0bf
    • unknown's avatar
      Cset exclude: msvensson@neptunus.(none)|ChangeSet|20060721184912|58688 · 35663401
      unknown authored
      
      mysql-test/r/sp.result:
        Exclude
      mysql-test/t/sp.test:
        Exclude
      35663401
    • unknown's avatar
      Disable rpl_insert due to bug#21297 · 0a3d75e5
      unknown authored
      0a3d75e5
    • unknown's avatar
      Bug#21039 Transaction cache not flushed after SELECT CREATE · 8bf8776c
      unknown authored
       - Add prelocking for stored procedures that uses sp or sf
       - Update test result for sp_error(reported as bug#21294)
       - Make note about new error message from sp-error(bug#17244)
      
      
      mysql-test/r/sp-error.result:
        Update test result(reported as bug#21294)
      mysql-test/r/sp_notembedded.result:
        Update test result after disabling test case
      mysql-test/t/sp-error.test:
        Add note about the faulty error message
      mysql-test/t/sp_notembedded.test:
        Disable test case until bug#17244 has been fixed
      sql/sp.cc:
        Add prelocking for all stored procedures that uses another sp or sf
      sql/sp.h:
        Add prelocking for all stored procedures that uses another sp or sf
      sql/sql_base.cc:
        Add prelocking for all stored procedures that uses another sp or sf
      8bf8776c
    • unknown's avatar
      Change mtr_error to mtr_warning allowing processing to continue when mysqld fails to start · 97947a72
      unknown authored
      
      mysql-test/mysql-test-run.pl:
        Report warining when failure to start mysqld was detected, this will allow the testcase to continue executing.
        The failure to start mysqld will be caugt when executing mysqltest
      97947a72
    • unknown's avatar
      Disabled ndb_restore_compat for BUG#21283. · bf1f1ea8
      unknown authored
      bf1f1ea8
    • unknown's avatar
    • unknown's avatar
      Fix problem with detecting wheter im processes has shutdown cleanly · 9229ce4c
      unknown authored
      
      mysql-test/mysql-test-run.pl:
        Fix problem with checking that all im processes has shutdown cleanly
        When it was detected that one of "im mysqlds" didn't shutdown, last was called to break the loop, but it only broke the inner loop.
        Remove the while(0) loop and make this easier by setting $clean_shutdown to 0 if any such problem is detected.
      9229ce4c
    • unknown's avatar
  7. 25 Jul, 2006 3 commits
    • unknown's avatar
      Disabled ndb_binlog_ignore_db for BUG 21279. · e9af03d3
      unknown authored
      e9af03d3
    • unknown's avatar
      Fix for bug#16532 mysql server assert in debug if table definition is removed · 7c9d15af
      unknown authored
      Emit an error instead of doing ASSERT
      
      
      mysql-test/r/create_not_windows.result:
        update result
      mysql-test/t/create_not_windows.test:
        Add test case for bug #16532: mysql server assert in debug if table definition is removed
      sql/sql_table.cc:
        it could happen that an user deletes the frm file on OS level.
        In addition if the table was already opened, the file system level
        check for existance of table.frm will pass but get_cached_table_share()
        will return non-NULL value. In this case we will emit the standard
        error that the table exist. The error case is quite obscure but error
        message is better than a sigabort.
      7c9d15af
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/mysql-5.1 · 8e12b66b
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-5.1-new-maint
      
      
      mysql-test/mysql-test-run.pl:
        Auto merged
      sql/field.cc:
        Auto merged
      sql/field.h:
        Auto merged
      8e12b66b
  8. 24 Jul, 2006 4 commits
    • unknown's avatar
      After merge fix · 87acac5f
      unknown authored
      87acac5f
    • unknown's avatar
      After merge fix · 99a4775c
      unknown authored
      99a4775c
    • unknown's avatar
      After merge fix · 79ebad89
      unknown authored
      79ebad89
    • unknown's avatar
      Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.0 · 93528f28
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.1-amerge
      
      
      mysql-test/r/merge.result:
        Auto merged
      mysql-test/t/merge.test:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      storage/ndb/include/kernel/GlobalSignalNumbers.h:
        Auto merged
      storage/ndb/src/common/debugger/signaldata/SignalNames.cpp:
        Auto merged
      storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
        Auto merged
      storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp:
        Auto merged
      storage/ndb/test/run-test/daily-basic-tests.txt:
        Auto merged
      configure.in:
        Manual merge
      mysql-test/extra/binlog_tests/blackhole.test:
        Manual merge
      mysql-test/r/binlog_stm_blackhole.result:
        Manual merge
      sql/ha_myisammrg.cc:
        Manual merge
      sql/handler.h:
        Manual merge
      storage/blackhole/ha_blackhole.cc:
        Manual merge
      support-files/mysql.spec.sh:
        Manual merge
      93528f28
  9. 23 Jul, 2006 2 commits
    • unknown's avatar
      BUG#20294 Instance manager test im_instance_conf fails randomly · 7b2cabd9
      unknown authored
      (well, im_options in this case, but using existing bug report)
      
      
      mysql-test/t/disabled.def:
        disable im_options test as it's non-deterministic. reopen bug
      7b2cabd9
    • unknown's avatar
      Merge willster.(none):/home/stewart/Documents/MySQL/5.0/main · 299b620d
      unknown authored
      into  willster.(none):/home/stewart/Documents/MySQL/5.1/main
      
      
      BitKeeper/etc/config:
        Auto merged
      sql/opt_range.cc:
        Auto merged
      storage/ndb/src/kernel/blocks/ERROR_codes.txt:
        Auto merged
      storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp:
        Auto merged
      storage/ndb/src/kernel/blocks/dbtup/DbtupTabDesMan.cpp:
        Auto merged
      storage/ndb/test/ndbapi/testDict.cpp:
        Auto merged
      storage/ndb/test/run-test/daily-basic-tests.txt:
        Auto merged
      mysql-test/Makefile.am:
        manual merge
      storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
        manual merge
      299b620d
  10. 22 Jul, 2006 4 commits
  11. 21 Jul, 2006 2 commits
    • unknown's avatar
      Bug#21039 Transaction cache not flushed after SELECT CREATE · 477e0b13
      unknown authored
       - Disable test case until fixed
      
      
      mysql-test/r/sp.result:
        Disable test case until bug#21039 is fixed
      mysql-test/t/sp.test:
        Disable test case until bug#21039 is fixed
      477e0b13
    • unknown's avatar
      Bug#21188 mysqlimport returns random exit code · 163dcd61
      unknown authored
       - Only handle return codes from 'pclose' greater than zero as errors.
       - It appears pclose can return -1 with errno set to ECHILD although the executin
      process completed successfully. 
      
      
      client/mysqltest.c:
        Only handle return codes from 'pclose' greater than zero as errors.
      163dcd61