1. 15 Sep, 2006 4 commits
    • unknown's avatar
      WL#3504 "plugin actions for engines' and plugins' unit tests" · 6e10407c
      unknown authored
      for push in 5.1 (I will inform Trudy).
      Storage engines and plugins can now have unit tests to test their components; such
      test must be an executable C/C++ program which name ends with '-t' and which is
      obeys the mytap protocol, it must be stored in the storage engine's or plugin's
      source directory (storage/<engine> or plugin/<plugin>) or any subdirectories of
      this.
      The top-level Makefile target "test-unit" will run all unit tests: it will scan
      the engines' and plugins' directories, recursively, and execute all executable
      files which name ends with '-t'."
      
      
      Makefile.am:
        "unittest" directory must be built before "storage" and "plugin"
        because the unit tests in these directories may need libmytap.a
        which is in unittest/mytap.
      config/ac-macros/plugins.m4:
        When enabling engine "X", we add "../storage/X" to the unit tests
        directories which unittest/unit.pl should traverse looking for
        tests to execute. Same for plugins.
      unittest/Makefile.am:
        Those variables contain all enabled engines and plugins.
      6e10407c
    • unknown's avatar
      Merge mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge · aa856526
      unknown authored
      into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.1-merge
      
      
      sql/ha_ndbcluster.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
        Auto merged
      client/mysqldump.c:
        Merge rpl 5.0->5.1
      mysql-test/r/mysqldump.result:
        Merge rpl 5.0->5.1
      mysql-test/t/mysqldump.test:
        Merge rpl 5.0->5.1
      aa856526
    • unknown's avatar
      Merge main->rpl · 01bec9b5
      unknown authored
      01bec9b5
    • unknown's avatar
      Merge fixes, added printout to result file · 370f8ec1
      unknown authored
      370f8ec1
  2. 14 Sep, 2006 4 commits
    • unknown's avatar
      Merge mysql.com:/users/lthalmann/bkroot/mysql-5.1-new-rpl · f2783c92
      unknown authored
      into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.1-merge
      
      
      mysql-test/r/mysqldump.result:
        Auto merged
      mysql-test/t/variables.test:
        Auto merged
      sql/field.cc:
        Auto merged
      sql/log.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_show.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      storage/innobase/handler/ha_innodb.cc:
        Auto merged
      client/mysqldump.c:
        Merge main->rpl
      mysql-test/r/variables.result:
        Merge main->rpl
      mysql-test/t/disabled.def:
        Merge main->rpl
      mysql-test/t/mysqldump.test:
        Merge main->rpl
      f2783c92
    • unknown's avatar
      Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0-rpl · 2c168ec5
      unknown authored
      into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge
      
      
      ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
        Auto merged
      sql/ha_ndbcluster.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      client/mysqldump.c:
        Merge main->rpl
      mysql-test/r/mysqldump.result:
        Merge main->rpl
      mysql-test/t/mysqldump.test:
        Merge main->rpl
      2c168ec5
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-5.1-rpl · dbf1feb1
      unknown authored
      into  gbichot3.local:/home/mysql_src/mysql-5.1-rpl-clean
      
      
      dbf1feb1
    • unknown's avatar
      WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES · 5db3eedc
      unknown authored
       tables to INFORMATION_SCHEMA.
      
      
      mysql-test/r/mysqlshow.result:
        WL#3247,#3248: Adding [GLOBAL|SESSION]_STATUS and [GLOBAL|SESSION]_VARIABLES
         tables to INFORMATION_SCHEMA.
         Fixed test cases result (changes are due to addition of new tables).
      5db3eedc
  3. 13 Sep, 2006 3 commits
    • unknown's avatar
      fixes for the my_atomic-t unit test: · 336bbb52
      unknown authored
      - compiler warning
      - detection of pthread_create failure (you will see this message
      only if you run with "make test-verbose" in unittest; otherwise
      unit.pl masks all messages from the test but "ok" ones.
      - the test fails randomly on some machines (I filed it as BUG#22320),
      on one host it looks like a crash at exit() which a sleep(2) makes
      disappear. So I add the sleep(2), which can be removed
      when BUG#22320 is fixed. 
      
      
      unittest/mysys/my_atomic-t.c:
        - fix for compiler warning on 64-bit "cast from pointer to integer of
        different size". Casting to long and then to int. We'll use intptr
        instead later.
        - detect if pthread_create fails.
        - sleep(2) until BUG#22320 is fixed
      336bbb52
    • 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
    • unknown's avatar
      Merge lamia.home:/home/timka/mysql/src/5.0-bug-21774-sm · 6a490444
      unknown authored
      into  lamia.home:/home/timka/mysql/src/5.1-dbg
      
      
      mysql-test/r/insert_select.result:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      6a490444
  4. 12 Sep, 2006 12 commits
    • unknown's avatar
      Merge maint2.mysql.com:/data/localhome/tsmith/bk/mrg/g51 · bc053aa0
      unknown authored
      into  maint2.mysql.com:/data/localhome/tsmith/bk/mrg/51
      
      
      libmysqld/libmysqld.def:
        Auto merged
      mysql-test/t/handler.test:
        Auto merged
      sql/log.cc:
        Auto merged
      sql-common/client.c:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      bc053aa0
    • unknown's avatar
      Fix for BUG#21774: Column count doesn't match value count at row x · 900e66f8
      unknown authored
      The cause of the bug was an incomplete fix for bug 18080.
      The problem was that setup_tables() unconditionally reset the
      name resolution context to its 'tables' argument, which pointed
      to the first table of an SQL statement.
      
      The bug fix limits resetting of the name resolution context in
      setup_tables() only in the cases when the context was not set
      by earlier parser/optimizer phases.
      
      
      mysql-test/r/insert_select.result:
        Test for BUG#21774.
      mysql-test/t/insert_select.test:
        Test for BUG#21774.
      sql/sql_base.cc:
        Do not reset the name resolution contect unconditionally.
        Instead set the context to 'tables' only if it was not
        set before calling setup_tables().
      sql/sql_insert.cc:
        Added asserts to make sure that in the case of INSERT ... VALUES ...
        statements it is not necessary to reset the name resolution context
        to the first table, because there is only one table in the list of
        tables anyway. The actual code is not removed in order not to
        confuse it with the actual bug fix.
      sql/sql_parse.cc:
        Removed unnecessary reset of the name resolution context.
        The context is anyway unconditionally reset in mysql_insert()
        and mysql_prepare_insert().
      900e66f8
    • unknown's avatar
      Correct faulty merge, "mysql_priv.h" must be included for the ifdef... · f320b01a
      unknown authored
      Correct faulty merge, "mysql_priv.h" must be included for the ifdef WITH_INNOBASE_STORAGE_ENGINE to work
      
      
      
      f320b01a
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.1-new-maint · 22ce97e3
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-5.1-new-maint
      
      
      22ce97e3
    • 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
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/tmp_merge · 1fff863a
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-5.1-new-maint
      
      
      client/mysqldump.c:
        Auto merged
      1fff863a
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/tmp_merge · 2fb56652
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-5.1-new-maint
      
      
      2fb56652
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/mysql-5.1 · bba3a1be
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-5.1-new-maint
      
      
      sql/share/errmsg.txt:
        Auto merged
      storage/innobase/Makefile.am:
        Auto merged
      storage/innobase/handler/ha_innodb.cc:
        SCCS merged
      bba3a1be
    • unknown's avatar
      Merge naruto.:C:/cpp/bug20789/my50-bug20789 · 381f3967
      unknown authored
      into  naruto.:C:/cpp/mysql-5.1-maint
      
      
      storage/myisam/mi_locking.c:
        Auto merged
      381f3967
    • unknown's avatar
      Bug#20789 Merge Subtable Rename Causes Crash · 3ca91645
      unknown authored
       - When an ALTER TABLE RENAME is performed on windows, the files are closed and their cached file 
         descriptors are marked invalid. Performing INSERT, UPDATE or SELECT on the associated merge
         table causes a server crash on windows. This patch adds a test for bad file descriptors when a 
         table attempts a lock. If a bad descriptor is found an error is thrown. An additional FLUSH TABLES
         will be necessary to further operate on the associated merge table.
      
      
      myisam/mi_locking.c:
        This patch prevents the windows built to crash if the file is closed.
      mysql-test/r/windows.result:
        Added test case for the windows built.
      mysql-test/t/windows.test:
        Added test case for the windows built.
      3ca91645
    • unknown's avatar
      log.cc: · 9e89ea6f
      unknown authored
        Fixing failed merge
      
      
      sql/log.cc:
        Fixing failed merge
      9e89ea6f
    • unknown's avatar
      Change stolen from the -win tree. · 3f77f0dd
      unknown authored
      More specifically, the scripts/Makefile isn't created and it doesn't
      translate mysql_fix_privilege_tables ".sh" .  So, 
      mysql-test/mysql-test-run.pl doesn't find the binary and substitutes 
      /bin/false instead.  That obviously doesn't "fix" anything and the 
      test fails because of it.
      
      
      mysql-test/t/system_mysql_db_fix.test:
        Change stolen from the -win tree.
      3f77f0dd
  5. 11 Sep, 2006 11 commits
  6. 09 Sep, 2006 2 commits
  7. 08 Sep, 2006 4 commits