1. 15 Sep, 2006 1 commit
    • unknown's avatar
      Bug#22067 rpl_rbr_to_sbr and some other fail if NDB is default storage · 9c88f37b
      unknown authored
      A query SET @@GLOBAL.binlog_format = ... returns an error when NDB is the
      default storage. This fails some tests invoking the set binlog_format explicitly.
      because the var turns to be read-only.
        
        In the following are files and method to fix if needed.
        
        t/
        ndb_binlog_basic2.test         # here the failure is benign
        rpl_rbr_to_sbr.test            # does not check any ndb features =>           
       
        .                              # => not_ndb_default is enough
        rpl_row_basic_8partition.test  # set binlog_format can be replaced
        rpl_switch_stm_row_mixed.test  # does not check any ndb features =>
        .                              # => not_ndb_default is enough
        
        two more invoking invoke extra/rpl_truncate_helper.test
        
        rpl_truncate_2myisam           # to be fixed with not_ndb_default
        rpl_truncate_3innodb           # same as above
        .                              # because there is a dedicated to ndb .        
       
        .                              # rpl_truncate_7ndb* suit.
      
      Adapting/testing a new implement
      --source include/safe_set_to_maybe_ro_var.inc
      to avoid abort due to the error using binlog_format as application.
      
      
      BitKeeper/etc/ignore:
        Added mysql-test/t/rpl_truncate_4ndb.test to the ignore list
      mysql-test/r/rpl_row_basic_8partition.result:
        new results
      mysql-test/t/rpl_rbr_to_sbr.test:
        # does not check any ndb features => not_ndb_default is enough
      mysql-test/t/rpl_row_basic_8partition.test:
        set binlog_format can be read-only because of e.g default storage ndb.
        adapting/testing a new implement
        --source include/safe_set_to_maybe_ro_var.inc
        to avoid abort due to the error.
        
        Note, that it this particular test we could simply remove SET binlog_format because
        there is have_binlog_format_row require, as the test is about RBR.
        Futhermore utilizing safe_set_to_maybe_ro_var is redundat as well as long as
        we keep non_ndb_default guard.
        The latter is introduced because of ndb partitioning per-key limitation 
        #19259: rpl_ndb_dd_partitions fails on solaris. The page is updated to refer to this
        test's.
      mysql-test/t/rpl_switch_stm_row_mixed.test:
        excluding ndb option, no ndb features
      mysql-test/t/rpl_truncate_2myisam.test:
        ndb checks truncate separately
      mysql-test/t/rpl_truncate_3innodb.test:
        ndb checks truncate separately
      mysql-test/include/safe_set_to_maybe_ro_var.inc:
        pseudo-macro to make read-only global/session vars "settable" in sense that
        SET var= val won't produce any error nor aborts testing.
      9c88f37b
  2. 13 Sep, 2006 1 commit
    • unknown's avatar
      WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES · 63387829
      unknown authored
       tables to INFORMATION_SCHEMA.
      
      
      mysql-test/r/information_schema.result:
        WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
         tables to INFORMATION_SCHEMA.
         Fixed test cases result (changes are due to the new tables added).
      mysql-test/r/information_schema_db.result:
        WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
         tables to INFORMATION_SCHEMA.
         Fixed test cases result (changes are due to the new tables added).
      mysql-test/r/status.result:
        WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
         tables to INFORMATION_SCHEMA.
         Fixed results for added testcases.
      mysql-test/r/variables.result:
        WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
         tables to INFORMATION_SCHEMA.
         Fixed results for added test cases.
      mysql-test/t/status.test:
        WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
         tables to INFORMATION_SCHEMA.
         Added test cases.
      mysql-test/t/variables.test:
        WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
         tables to INFORMATION_SCHEMA.
         Added test cases.
      sql/sql_show.cc:
        WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
         tables to INFORMATION_SCHEMA.
         Implementation of the new I_S tables.
         Also, show_status_array(): argument 'ucase_names' is added (true means that
         all variable names are to be converted to upper case).
      sql/table.h:
        WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
         tables to INFORMATION_SCHEMA.
         Implementation of the new I_S tables.
      63387829
  3. 12 Sep, 2006 1 commit
    • unknown's avatar
      Fixing problems I identified in my auto_increment work pushed in July · 76fa1d43
      unknown authored
      (as part of the auto_increment cleanup of WL#3146; let's not be
      sad, that monster push still removed serious bugs):
      one problem with INSERT DELAYED (unexpected interval releases),
      one with stored functions (wrong auto_inc binlogging).
      These bugs were not released.
      
      
      mysql-test/extra/binlog_tests/binlog_insert_delayed.test:
            more tests of binlogging of INSERT DELAYED: with multi-row INSERTs.
            I identified why sleeps are needed to get a repeatable row-based
            binlogged: because without sleeps rows sometimes get groupped
            and so generate different row based events.
      mysql-test/extra/rpl_tests/rpl_foreign_key.test:
        don't forget to drop tables on slave too, otherwise it leaves
        an orphan innodb table leading to rpl_insert_id failing sometimes
        (like in pushbuild "sapsrv2 -max").
      mysql-test/extra/rpl_tests/rpl_insert_id.test:
            testing that if some statement does not update any row, it does
            not pollute the auto_inc binlog variables of the next statement;
            the test has to use stored procedures because with plain statements,
            mysql_reset_thd_for_next_command() does the resetting (and thus
            there is no problem); mysql_reset_thd_for_next_command() is not
            called inside routines.
      mysql-test/r/binlog_row_binlog.result:
        result additions
      mysql-test/r/binlog_statement_insert_delayed.result:
        result additions
      mysql-test/r/binlog_stm_binlog.result:
        result additions
      mysql-test/r/rpl_insert_id.result:
        result additions
      mysql-test/r/rpl_loaddata.result:
            With the change to log.cc reverted, the result changes and is better:
            the change to log.cc had caused some INSERT_ID events to disappear
            though they were necessary (but testsuite could not catch that because
            it's single-threaded).
      mysql-test/r/rpl_ndb_insert_ignore.result:
        NDB is now like other engines regarding INSERT IGNORE: autoincrement
        values which caused a duplicate key are re-used for next row, not lost.
        rpl_ndb_insert_ignore.result is now identical to rpl_insert_ignore.result.
      sql/log.cc:
            LOAD DATA INFILE is binlogged as several events, and the last of them must
            have the auto_inc id. So it's wrong to reset the auto_inc id after every
            binlog write (because then it's lost after the first event of LOAD
            DATA INFILE and so missing for the last one)/
            Another problem: MYSQL_LOG::write() is not always called (for example
            if no row was updated), so we were missing reset in some cases.
      sql/sp_head.cc:
            SELECT func1(),func2() generates two binlog events, so needs to
            clear auto_increment binlog variables after each binlog event
            (it would be more natural to clear them in the log write code,
            but LOAD DATA INFILE would suffer from this see the cset comment
            for log.cc). Without the clearing, the problem is:
            > exec func1()
            >> call cleanup_after_query() (which does not clear our vars here)
            >> binlog SELECT func1()
            <
            > exec func2()
            and so SELECT func2() is binlogged with the auto_inc of SELECT func1().
      sql/sql_class.cc:
            after every statement we should clear auto_inc variables used for
            binlogging, except if this was a function/trigger (in which case
            it may be "INSERT SELECT func()", where the cleanup_after_query()
            executed in func() should not reset the auto_inc binlog variables
            as they'll be necessary when binlogging the INSERT SELECT later).
      sql/sql_insert.cc:
            - as INSERT DELAYED uses the same TABLE object as the delayed_insert
            system thread, we should not call ha_release_auto_increment()
            from INSERT DELAYED (and btw it's logical as we reserve nothing
            as we don't perform the insert). Calling the function caused us to
            release values being used by the delayed_insert thread.
            So I do the call only if this is a non-DELAYED INSERT.
            - Assuming two INSERT DELAYED which get grouped by the delayed_insert
            thread, the second may use values reserved by the first, which is ok
            per se, but is a problem in statement-based binlogging:
            the 2nd INSERT gets binlogged with the "interval start" value
            of the first INSERT (=> duplicate error in slave).
            - no reason to ha_release_auto_increment() after every inserted row
            in INSERT SELECT; more efficient to do it only when the statement ends
      sql/sql_parse.cc:
        a comment
      76fa1d43
  4. 11 Sep, 2006 9 commits
  5. 09 Sep, 2006 2 commits
  6. 08 Sep, 2006 3 commits
  7. 07 Sep, 2006 10 commits
    • unknown's avatar
      Warning fixes for Windows, and an include fix for Windows for Innodb. · 984983f8
      unknown authored
      
      storage/archive/azio.c:
        Fixed warnings for windows
      storage/federated/ha_federated.cc:
        Warning fixes for Windows
      storage/innobase/CMakeLists.txt:
        Fixed includes for Windows
      984983f8
    • unknown's avatar
      Add support for Falcon, so that partitioning can be tested. · 117ae7cb
      unknown authored
      
      sql/handler.h:
        Adding Falcon
      117ae7cb
    • unknown's avatar
      Fix for a compile problem in Windows. · 0c7b78bb
      unknown authored
      
      sql/CMakeLists.txt:
        Compile problem for Windoows
      storage/innobase/handler/ha_innodb.cc:
        Removed some dead code (Marko approved)
      0c7b78bb
    • unknown's avatar
      Adding in a few more engines to the now defunct (but still used) handler... · 7795b59a
      unknown authored
      Adding in a few more engines to the now defunct (but still used) handler enum's since its the only way to enable for partitioning. 
      
      
      sql/handler.h:
        Extended to add in more DB types for partioning.
      7795b59a
    • unknown's avatar
      Removing sleeps; rpl_row_basic_8partition falls from 2 minutes · a6a1aba2
      unknown authored
      15 seconds to less than a second.
      The sleeps used to be necessary but not anymore as NDB has been fixed
      wrt sync_slave_with_master.
      
      
      mysql-test/include/rpl_multi_engine3.inc:
        Sleeps are not necessary anymore
        because NDB has been fixed wrt sync_slave_with_master.
      a6a1aba2
    • unknown's avatar
      Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1-arch · d17ac133
      unknown authored
      into  zim.(none):/home/brian/mysql/merge-5.1
      
      
      d17ac133
    • unknown's avatar
      Moves Innodb handler to the Innodb storage directory. · b098f25d
      unknown authored
      
      storage/innobase/handler/ha_innodb.h:
        Rename: sql/ha_innodb.h -> storage/innobase/handler/ha_innodb.h
      libmysqld/Makefile.am:
        Removed Innodb specific mention
      sql/Makefile.am:
        Updated to remove innodb
      storage/innobase/CMakeLists.txt:
        Added include directory
      storage/innobase/Makefile.am:
        Updated to add in handler
      storage/innobase/handler/ha_innodb.cc:
        Adjusted include files, also disabled replication code which was not being used.
      storage/innobase/plug.in:
        Added additional Makefile
      storage/innobase/handler/Makefile.am:
        New BitKeeper file ``storage/innobase/handler/Makefile.am''
      b098f25d
    • unknown's avatar
      cleanup of pligin removal code · 5babf500
      unknown authored
      fixed multiple and missing deinitializations, moved all
      deinit/del code in one place
      
      
      5babf500
    • unknown's avatar
      minor plugin api fixes: · 2ae54e3b
      unknown authored
      remove #define __attribute__(A) from plugin.h
      increase API version because placeholders were added
      more robust definition of min_plugin_interface_version
      
      
      include/mysql/plugin.h:
        move #define __attribute__(A) out of plugin.h (not part of the API)
        increase API version because placeholders were added
      plugin/fulltext/plugin_example.c:
        compilation failure on non-GCC compilers
      sql/sql_plugin.cc:
        more robust definition of min_plugin_interface_version
        it should work even when we forget to update it
      2ae54e3b
    • unknown's avatar
      errmsg.txt: · c85e25f2
      unknown authored
        Update of Dutch errmsg translations (not complete yet)
      errmsg.h:
        Fixup of changed error message file path in comment
      authors.h:
        Ego add.
      
      
      include/errmsg.h:
        Fixup of changed error message file path in comment
      sql/authors.h:
        Ego add.
      sql/share/errmsg.txt:
        Update of Dutch errmsg translations (not complete yet)
      c85e25f2
  8. 06 Sep, 2006 5 commits
  9. 05 Sep, 2006 1 commit
  10. 04 Sep, 2006 7 commits