1. 17 Apr, 2009 2 commits
    • Anurag Shekhar's avatar
      merging with local bugfix branch. · bd251400
      Anurag Shekhar authored
      bd251400
    • Anurag Shekhar's avatar
      Bug#44040 MySQL allows creating a MERGE table upon VIEWs but crashes when · 0501328a
      Anurag Shekhar authored
              using it.
      The crash was due to a null pointer present for select_lex while 
      processing the view.
      Adding a check while opening the view to see if its a child of a 
      merge table fixed this problem.
      
      mysql-test/r/merge.result:
        Updated result for the new test case.
      mysql-test/t/merge.test:
        Added test case based on the bug description.
      sql/sql_base.cc:
        Added a check to check if the view being opened is a child table of a
        merge table and return error if it is.
      0501328a
  2. 16 Apr, 2009 4 commits
  3. 15 Apr, 2009 5 commits
    • Alfranio Correia's avatar
      c90a869c
    • Satya B's avatar
      Applying InnoDB snashot 5.1-ss4699, part 3. Fixes BUG#43660 · c470d5e4
      Satya B authored
      1) BUG#43660 - SHOW INDEXES/ANALYZE does NOT update cardinality 
                     for indexes of InnoDB table
      
      Detailed revision comments:
      
      r4699 | vasil | 2009-04-09 14:01:52 +0300 (Thu, 09 Apr 2009) | 15 lines
      branches/5.1:
      
      Fix Bug#43660 SHOW INDEXES/ANALYZE does NOT update cardinality for indexes
      of InnoDB table
      
      by replacing the PRNG that is used to pick random pages with a better
      one.
      
      This is based on r4670 but also adds a new configuration option and
      enables the fix only if this option is changed. Please skip the present
      revision when merging.
      
      Approved by:	Heikki (via email)
      
      c470d5e4
    • Satya B's avatar
      Applying InnoDB snashot 5.1-ss4699, part 2. Fixes BUG#43309 · 16c74505
      Satya B authored
      1) BUG#43309 - Test main.innodb can't be run twice
      
      2) Follow up fix for BUG#43309, adds explanatory comments.
      
      Detailed revision comments:
      
      r4575 | vasil | 2009-03-30 15:55:31 +0300 (Mon, 30 Mar 2009) | 8 lines
      branches/5.1:
      
      Fix Bug#43309 Test main.innodb can't be run twice
      
      Make the innodb mysql-test more flexible by inspecting how much a
      variable of interest has changed since the start of the test. Do not
      assume the variables have zero values at the start of the test.
      
      r4659 | vasil | 2009-04-06 15:34:51 +0300 (Mon, 06 Apr 2009) | 6 lines
      branches/5.1:
      
      Followup to r4575 and the fix of Bug#43309 Test main.innodb can't be run twice:
      
      Add an explanatory comment, as suggested by Patrick Crews in the bug report.
      
      16c74505
    • Satya B's avatar
      Applying InnoDB snashot 5.1-ss4699, part 1. Fixes BUG#39320 and other · 58c33f55
      Satya B authored
      problems
      
      1) BUG#39320 - innodb crash in file btr/btr0pcur.c line 217 with 
                     innodb_locks_unsafe_for_binlog
      
      2) Fixes bug in multi-table semi consistent reads.
      
      3) Fixes email address from dev@innodb.com to innodb_dev_ww@oracle.com
      
      4) Fixes warning message generated by main.innodb test
      
      
      Detailed revision comments:
      
      r4399 | marko | 2009-03-12 09:38:05 +0200 (Thu, 12 Mar 2009) | 5 lines
      branches/5.1: row_sel_get_clust_rec_for_mysql(): Store the cursor position
      also for unlock_row().  (Bug #39320)
      
      rb://96 approved by Heikki Tuuri.
      
      r4400 | marko | 2009-03-12 10:06:44 +0200 (Thu, 12 Mar 2009) | 8 lines
      branches/5.1: Fix a bug in multi-table semi-consistent reads.
      Remember the acquired record locks per table handle (row_prebuilt_t)
      rather than per transaction (trx_t), so that unlock_row should successfully
      unlock all non-matching rows in multi-table operations.
      This deficiency was found while investigating Bug #39320.
      
      rb://94 approved by Heikki Tuuri.
      
      r4481 | marko | 2009-03-19 15:01:48 +0200 (Thu, 19 Mar 2009) | 6 lines
      branches/5.1: row_unlock_for_mysql(): Do not unlock records that were
      modified by the current transaction.  This bug was introduced or unmasked
      in r4400.
      
      rb://97 approved by Heikki Tuuri
      
      r4573 | vasil | 2009-03-30 14:17:13 +0300 (Mon, 30 Mar 2009) | 4 lines
      branches/5.1:
      
      Fix email address from dev@innodb.com to innodb_dev_ww@oracle.com
      
      r4574 | vasil | 2009-03-30 14:27:08 +0300 (Mon, 30 Mar 2009) | 38 lines
      branches/5.1:
      
      Restore the state of INNODB_THREAD_CONCURRENCY to silence this warning:
      
        TEST                                      RESULT   TIME (ms)
        ------------------------------------------------------------
        
        worker[1] Using MTR_BUILD_THREAD 250, with reserved ports 12500..12509
        main.innodb                              [ pass ]   8803
        
        MTR's internal check of the test case 'main.innodb' failed.
        This means that the test case does not preserve the state that existed
        before the test case was executed.  Most likely the test case did not
        do a proper clean-up.
        This is the diff of the states of the servers before and after the
        test case was executed:
        mysqltest: Logging to '/tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.log'.
        mysqltest: Results saved in '/tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result'.
        mysqltest: Connecting to server localhost:12500 (socket /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/mysqld.1.sock) as 'root', connection 'default', attempt 0 ...
        mysqltest: ... Connected.
        mysqltest: Start processing test commands from './include/check-testcase.test' ...
        mysqltest: ... Done processing test commands.
        --- /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.result	2009-03-30 14:12:31.000000000 +0300
        +++ /tmp/autotest.sh-20090330_033000-5.1.5Hg8CY/mysql-5.1/mysql-test/var/tmp/check-mysqld_1.reject	2009-03-30 14:12:41.000000000 +0300
        @@ -99,7 +99,7 @@
         INNODB_SUPPORT_XA	ON
         INNODB_SYNC_SPIN_LOOPS	20
         INNODB_TABLE_LOCKS	ON
        -INNODB_THREAD_CONCURRENCY	8
        +INNODB_THREAD_CONCURRENCY	16
         INNODB_THREAD_SLEEP_DELAY	10000
         INSERT_ID	0
         INTERACTIVE_TIMEOUT	28800
        
        mysqltest: Result content mismatch
        
        not ok
      
      r4576 | vasil | 2009-03-30 16:25:10 +0300 (Mon, 30 Mar 2009) | 4 lines
      branches/5.1:
      
      Revert a change to Makefile.am that I committed accidentally in c4574.
      58c33f55
    • Alfranio Correia's avatar
      BUG#41793 rpl_binlog_corruption disabled in main (needs new mtr) · 6736e520
      Alfranio Correia authored
      The test case was missing "let $slave_sql_errno= 1594;".
      6736e520
  4. 14 Apr, 2009 7 commits
    • Sergey Glukhov's avatar
      Bug#41268 Help Text for \c is misleading in client command line interface(addon) · 3819daf0
      Sergey Glukhov authored
      fixed message for 'help' command
      
      
      client/mysql.cc:
        fixed message for 'help' command
      3819daf0
    • Davi Arnaut's avatar
      Bug#44164: TL_WRITE has no description in lock_descriptions[] · b27261a6
      Davi Arnaut authored
      The problem was that new lock types were being added without a
      corresponding description. Since the lock types (enum values)
      are used as indices to the description array, the descriptions
      could be shifted depending on the lock type. The solution is to
      ensure that every lock type has a correspondent description.
      
      include/thr_lock.h:
        Add warning.
      sql/sql_test.cc:
        Update lock descriptions.
      b27261a6
    • Sergey Glukhov's avatar
      5.0-bugteam->5.1-bugteam merge · f7393499
      Sergey Glukhov authored
      f7393499
    • Tatiana A. Nurnberg's avatar
      auto-merge · 200865eb
      Tatiana A. Nurnberg authored
      200865eb
    • Tatiana A. Nurnberg's avatar
      auto-merge · 5d277dc9
      Tatiana A. Nurnberg authored
      5d277dc9
    • Gleb Shchepa's avatar
      Bug #42563: Message tells me to repair table though Storage · 5156c2d2
      Gleb Shchepa authored
                  Engine doesn't allow me to.
      
      In case of incompatible changes between old and new table
      versions, the mysqlcheck program prints error messages like
      this:
        error: Table upgrade required. Please do
               "REPAIR TABLE `table_name`" to fix it!
      
      However, InnoDB doesn't support REPAIR TABLE query, so the
      message is confusing.
      
      
      Error message text has been changed to:
      
        Table upgrade required. Please do "REPAIR TABLE `table_name`"
        or dump/reload to fix it!"
      
      
      mysql-test/r/repair.result:
        Updated test case for bug #42563.
      mysql-test/r/varbinary.result:
        Updated test case for bug #42563.
      sql/share/errmsg.txt:
        Bug #42563: Message tells me to repair table though Storage
                    Engine doesn't allow me to.
        
        The ER_TABLE_NEEDS_UPGRADE error message has been changed to:
        
          Table upgrade required. Please do "REPAIR TABLE ``%-.32s`"
          or dump/reload to fix it!"
      5156c2d2
    • Narayanan V's avatar
      Importing test cases for IBMDB2I · 0141da04
      Narayanan V authored
      The current patch
      
      -- Adds the ibmdb2i suite
      -- related include(.inc) files
      -- tests for Bug#44020 and Bug#44025
      0141da04
  5. 13 Apr, 2009 4 commits
    • Sergey Glukhov's avatar
      Bug#43385 Cannot ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME when Views exist(addon) · 19854c6d
      Sergey Glukhov authored
      mysql_rename_view can not rename view if database is not the same.
      The fix is to add new argument 'new_db' to mysql_rename_view() and
      allow rename with different databases
      (only for ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME).
      
      
      mysql-test/t/upgrade.test:
        test fix
      sql/parse_file.cc:
        mysql_rename_view can not rename view if database is not the same.
        The fix is to add new argument 'new_db' to mysql_rename_view() and
        allow rename with different databases
        (only for ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME).
      sql/parse_file.h:
        mysql_rename_view can not rename view if database is not the same.
        The fix is to add new argument 'new_db' to mysql_rename_view() and
        allow rename with different databases
        (only for ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME).
      sql/sql_rename.cc:
        mysql_rename_view can not rename view if database is not the same.
        The fix is to add new argument 'new_db' to mysql_rename_view() and
        allow rename with different databases
        (only for ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME).
      sql/sql_view.cc:
        mysql_rename_view can not rename view if database is not the same.
        The fix is to add new argument 'new_db' to mysql_rename_view() and
        allow rename with different databases
        (only for ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME).
      sql/sql_view.h:
        mysql_rename_view can not rename view if database is not the same.
        The fix is to add new argument 'new_db' to mysql_rename_view() and
        allow rename with different databases
        (only for ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME).
      19854c6d
    • Narayanan V's avatar
      merging with mysql-5.1-bugteam · 2187c60b
      Narayanan V authored
      2187c60b
    • Narayanan V's avatar
      merging with mysql-5.1-bugteam tree · 097262a8
      Narayanan V authored
      097262a8
    • Narayanan V's avatar
      merging with mysql-5.1-bugteam tree · af639a90
      Narayanan V authored
      af639a90
  6. 10 Apr, 2009 6 commits
    • Chad MILLER's avatar
      Merge fix for bug 39559 and bugteam trunk. · ebd4f43e
      Chad MILLER authored
      ebd4f43e
    • Sergey Glukhov's avatar
      Bug#43385 Cannot ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME when Views exist · bb08984f
      Sergey Glukhov authored
      allow 'rename view' for ALTER ...UPGRADE DATA DIRECTORY NAME command.
      it's safe because a view has valid internal db&table names in this case.
      
      
      mysql-test/r/upgrade.result:
        test result
      mysql-test/t/upgrade.test:
        test case
      sql/sql_rename.cc:
        allow 'rename view' for ALTER ...UPGRADE DATA DIRECTORY NAME command.
        it's safe because a view has valid internal db&table names in this case.
      bb08984f
    • Narayanan V's avatar
      Bug#44025 Some schema names longer than 8 characters not supported by IBMDB2I · f286444b
      Narayanan V authored
      On IBM i 5.4, schemas with names that are longer 
      than 8 characters and contain digits or an underscore
      cannot contain IBMDB2I tables, even though this should
      theoritically be possible if all alpha characters
      are uppercase.
      
      THe current patch fixes the IBMDB2I engine to
      allow digits and the underscore(_) to be used in
      schema names longer than 8 characters on IBM i 5.4.
      
      storage/ibmdb2i/db2i_misc.h:
        The function which detected whether the
        operating system would treat a schema as an "ordinary identifier" (allowing 10 characters in the name instead of 8) did not cover all possible cases.Function was
        renamed and enhanced to detect all
        possible cases of "ordinary identifiers".
      storage/ibmdb2i/ha_ibmdb2i.cc:
        use the renamed function to cover all
        possible cases of ordinary identifiers.
      f286444b
    • Narayanan V's avatar
      Bug#44022 CREATE TABLE sometimes fails silently for IBMDB2I engine · 63e2b7dd
      Narayanan V authored
      In some circumstances, when a table is created with
      the IBMDB2I engine, the CREATE TABLE statement will
      return successfully but the table will not exist.
      
      The current patch addresses the above issue and causes
      CREATE to fail and report and error to the user.
      
      storage/ibmdb2i/ha_ibmdb2i.cc:
        Locally declared return code hid function-
        scoped declaration and went out of scope
        before being returned. Removed inner
        declaration.
      63e2b7dd
    • Narayanan V's avatar
      Bug#44020 Unicode Swedish collations not working with IBMDB2I · ee64a8d4
      Narayanan V authored
      The utf8_swedish_ci and ucs2_swedish_ci
      collations do not work with indexes on 
      IBMDB2I tables.
      
      The current patch adds the mapping for
      ucs2_swedish collation and removes the 
      ucs2_spanish2 mapping which is not
      supported by any version of the operating
      system.
      
      storage/ibmdb2i/db2i_collationSupport.cc:
        Removed mapping for ucs2_spanish2 collation
        since it is not supported by any version of the operating system. Added mapping for ucs2_swedish
        collation which had been overlooked but is
        supported by the IBM i 6.1.
      ee64a8d4
    • Chad MILLER's avatar
      Bug#39559: dump of stored procedures / functions with C-style \ · 8c828507
      Chad MILLER authored
      	comment can't be read back
      
      A change to the lexer in 5.1 caused slash-asterisk-bang-version
      sections to be terminated early if there exists a slash-asterisk-
      style comment inside it.  Nesting comments is usually illegal,
      but we rely on versioned comment blocks in mysqldump, and the
      contents of those sections must be allowed to have comments.
      
      The problem was that when encountering open-comment tokens and
      consuming -or- passing through the contents, the "in_comment"
      state at the end was clobbered with the not-in-a-comment value,
      regardless of whether we were in a comment before this or not.  
      
      So, """/*!VER one /* two */ three */""" would lose its in-comment
      state between "two" and "three".  Save the echo and in-comment
      state, and restore it at the end of the comment if we consume a 
      comment.
      8c828507
  7. 09 Apr, 2009 12 commits
    • Davi Arnaut's avatar
      Bug#43706: libmysqld segfaults when re-intialised · 214bd5a1
      Davi Arnaut authored
      Bug#44091: libmysqld gets stuck waiting on mutex on initialization
      
      The problem was that libmysqld wasn't enforcing a certain
      initialization and deinitialization order for the mysys
      library. Another problem was that the global object used
      for management of log event handlers (aka LOGGER) wasn't
      being prepared for a possible reutilization.
      
      What leads to the hang/crash reported is that a failure
      to load the language file triggers a double call of the
      cleanup functions, causing an already destroyed mutex to
      be used.
      
      The solution is enforce a order on the initialization and
      deinitialization of the mysys library within the libmysqld
      library and to ensure that the global LOGGER object reset
      it's internal state during cleanup.
      
      mysys/my_init.c:
        Deinitialize only if initialized already.
      sql/log.cc:
        Reset state.
      214bd5a1
    • Luis Soares's avatar
      manual merge: 5.0-bugteam --> 5.1-bugteam · 8a41a0ba
      Luis Soares authored
      Note: empty changeset.
      8a41a0ba
    • Luis Soares's avatar
      BUG#13684: SP: DROP PROCEDURE|FUNCTION IF EXISTS not binlogged if · 84ae9eca
      Luis Soares authored
      routine does not exist 
            
      There is an inconsistency with DROP DATABASE IF EXISTS, DROP TABLE IF
      EXISTS and DROP VIEW IF EXISTS: those are binlogged even if the DB or
      TABLE does not exist, whereas DROP PROCEDURE IF EXISTS does not. It
      would be nice or at least consistent if DROP PROCEDURE/STATEMENT
      worked the same too.
            
      Fixed DROP PROCEDURE|FUNCTION IF EXISTS by adding a call to
      mysql_bin_log.write in mysql_execute_command. Checked also if all 
      documented "DROP (...) IF EXISTS" get binlogged.
            
      NOTE: This is a 5.0 backport patch as requested by support.
      
      mysql-test/r/rpl_drop_if_exists.result:
        Result file for test case added.
      mysql-test/r/rpl_sp.result:
        Updated result file for existing test case that has now extra events in
        binary log (the ones from drop if exists procedure/function).
      mysql-test/t/rpl_drop_if_exists.test:
        Added test case for asserting validity of proposed patch.
      sql/sql_parse.cc:
        Added call mysql_bin_log.write when lex has drop_if_exists enabled for 
        stored procedures.
      84ae9eca
    • Narayanan V's avatar
      merging with mysql-5.1-bugteam · d0bc4e26
      Narayanan V authored
      d0bc4e26
    • Sergey Glukhov's avatar
      null merge · 2711e1fa
      Sergey Glukhov authored
      2711e1fa
    • Sergey Glukhov's avatar
      null merge · 16d805c1
      Sergey Glukhov authored
      16d805c1
    • Sergey Glukhov's avatar
      auotmerge · 1db674f5
      Sergey Glukhov authored
      1db674f5
    • Sergey Glukhov's avatar
      5.0-bugteam->5.1-bugteam merge · d2e6c462
      Sergey Glukhov authored
      d2e6c462
    • He Zhenxing's avatar
      Null merge the fix only for 5.0-bugteam · ae439728
      He Zhenxing authored
      ae439728
    • Sergey Glukhov's avatar
      Bug#43833 Simple INSERT crashes the server · 920abd58
      Sergey Glukhov authored
      The crash happens due to wrong 'digits' variable value(0),
      'digits' can not be 0, so the fix is use 1 as min allowed value.
      
      
      mysql-test/r/insert.result:
        test result
      mysql-test/t/insert.test:
        test case
      sql/field.cc:
        The crash happens due to wrong 'digits' variable value(0),
        'digits' can not be 0, so the fix is use 1 as min allowed value.
      920abd58
    • He Zhenxing's avatar
      3b4ec32d
    • Narayanan V's avatar
      merging with mysql-5.1-bugteam tree · cce39fe8
      Narayanan V authored
      cce39fe8