An error occurred fetching the project authors.
  1. 04 Dec, 2009 1 commit
    • Konstantin Osipov's avatar
      Backport of revno ## 2617.31.1, 2617.31.3, 2617.31.4, 2617.31.5, · a14bbee5
      Konstantin Osipov authored
      2617.31.12, 2617.31.15, 2617.31.15, 2617.31.16, 2617.43.1
      - initial changeset that introduced the fix for 
      Bug#989 and follow up fixes for all test suite failures
      introduced in the initial changeset. 
      ------------------------------------------------------------
      revno: 2617.31.1
      committer: Davi Arnaut <Davi.Arnaut@Sun.COM>
      branch nick: 4284-6.0
      timestamp: Fri 2009-03-06 19:17:00 -0300
      message:
      Bug#989: If DROP TABLE while there's an active transaction, wrong binlog order
      WL#4284: Transactional DDL locking
      
      Currently the MySQL server does not keep metadata locks on
      schema objects for the duration of a transaction, thus failing
      to guarantee the integrity of the schema objects being used
      during the transaction and to protect then from concurrent
      DDL operations. This also poses a problem for replication as
      a DDL operation might be replicated even thought there are
      active transactions using the object being modified.
      
      The solution is to defer the release of metadata locks until
      a active transaction is either committed or rolled back. This
      prevents other statements from modifying the table for the
      entire duration of the transaction. This provides commitment
      ordering for guaranteeing serializability across multiple
      transactions.
      
      - Incompatible change:
      
      If MySQL's metadata locking system encounters a lock conflict,
      the usual schema is to use the try and back-off technique to
      avoid deadlocks -- this schema consists in releasing all locks
      and trying to acquire them all in one go.
      
      But in a transactional context this algorithm can't be utilized
      as its not possible to release locks acquired during the course
      of the transaction without breaking the transaction commitments.
      To avoid deadlocks in this case, the ER_LOCK_DEADLOCK will be
      returned if a lock conflict is encountered during a transaction.
      
      Let's consider an example:
      
      A transaction has two statements that modify table t1, then table
      t2, and then commits. The first statement of the transaction will
      acquire a shared metadata lock on table t1, and it will be kept
      utill COMMIT to ensure serializability.
      
      At the moment when the second statement attempts to acquire a
      shared metadata lock on t2, a concurrent ALTER or DROP statement
      might have locked t2 exclusively. The prescription of the current
      locking protocol is that the acquirer of the shared lock backs off
      -- gives up all his current locks and retries. This implies that
      the entire multi-statement transaction has to be rolled back.
      
      - Incompatible change:
      
      FLUSH commands such as FLUSH PRIVILEGES and FLUSH TABLES WITH READ
      LOCK won't cause locked tables to be implicitly unlocked anymore.
      
      
      mysql-test/extra/binlog_tests/drop_table.test:
        Add test case for Bug#989.
      mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
        Fix test case to reflect the fact that transactions now hold
        metadata locks for the duration of a transaction.
      mysql-test/include/mix1.inc:
        Fix test case to reflect the fact that transactions now hold
        metadata locks for the duration of a transaction.
      mysql-test/include/mix2.inc:
        Fix test case to reflect the fact that transactions now hold
        metadata locks for the duration of a transaction.
      mysql-test/r/flush_block_commit.result:
        Update test case result (WL#4284).
      mysql-test/r/flush_block_commit_notembedded.result:
        Update test case result (WL#4284).
      mysql-test/r/innodb.result:
        Update test case result (WL#4284).
      mysql-test/r/innodb_mysql.result:
        Update test case result (WL#4284).
      mysql-test/r/lock.result:
        Add test case result for an effect of WL#4284/Bug#989
        (all locks should be released when a connection terminates).
      mysql-test/r/mix2_myisam.result:
        Update test case result (effects of WL#4284/Bug#989).
      mysql-test/r/not_embedded_server.result:
        Update test case result (effects of WL#4284/Bug#989).
        Add a test case for interaction of WL#4284 and FLUSH PRIVILEGES.
      mysql-test/r/partition_innodb_semi_consistent.result:
        Update test case result (effects of WL#4284/Bug#989).
      mysql-test/r/partition_sync.result:
        Temporarily disable the test case for Bug#43867,
        which will be fixed by a subsequent backport.
      mysql-test/r/ps.result:
        Add a test case for effect of PREPARE on transactional
        locks: we take a savepoint at beginning of PREAPRE
        and release it at the end. Thus PREPARE does not 
        accumulate metadata locks (Bug#989/WL#4284).
      mysql-test/r/read_only_innodb.result:
        Update test case result (effects of WL#4284/Bug#989).
      mysql-test/suite/binlog/r/binlog_row_drop_tbl.result:
        Add a test case result (WL#4284/Bug#989).
      mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
        Update test case result (effects of WL#4284/Bug#989).
      mysql-test/suite/binlog/r/binlog_stm_drop_tbl.result:
        Add a test case result (WL#4284/Bug#989).
      mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
        Update test case result (effects of WL#4284/Bug#989).
      mysql-test/suite/binlog/r/binlog_unsafe.result:
        A side effect of Bug#989 -- slightly different table map ids.
      mysql-test/suite/binlog/t/binlog_row_drop_tbl.test:
        Add a test case for WL#4284/Bug#989.
      mysql-test/suite/binlog/t/binlog_stm_drop_tbl.test:
        Add a test case for WL#4284/Bug#989.
      mysql-test/suite/binlog/t/binlog_stm_row.test:
        Update to the new state name. This
        is actually a follow up to another patch for WL#4284, 
        that changes Locked thread state to Table lock.
      mysql-test/suite/ndb/r/ndb_index_ordered.result:
        Remove result for disabled part of the test case.
      mysql-test/suite/ndb/t/disabled.def:
        Temporarily disable a test case (Bug#45621).
      mysql-test/suite/ndb/t/ndb_index_ordered.test:
        Disable a part of a test case (needs update to
        reflect semantics of Bug#989).
      mysql-test/suite/rpl/t/disabled.def:
        Disable tests made meaningless by transactional metadata
        locking.
      mysql-test/suite/sys_vars/r/autocommit_func.result:
        Add a commit (Bug#989).
      mysql-test/suite/sys_vars/t/autocommit_func.test:
        Add a commit (Bug#989).
      mysql-test/t/flush_block_commit.test:
        Fix test case to reflect the fact that transactions now hold
        metadata locks for the duration of a transaction.
      mysql-test/t/flush_block_commit_notembedded.test:
        Fix test case to reflect the fact that transactions now hold
        metadata locks for the duration of a transaction.
        Add a test case for transaction-scope locks and the global
        read lock (Bug#989/WL#4284).
      mysql-test/t/innodb.test:
        Fix test case to reflect the fact that transactions now hold
        metadata locks for the duration of a transaction
        (effects of Bug#989/WL#4284).
      mysql-test/t/lock.test:
        Add a test case for Bug#989/WL#4284.
      mysql-test/t/not_embedded_server.test:
        Add a test case for Bug#989/WL#4284.
      mysql-test/t/partition_innodb_semi_consistent.test:
        Replace TRUNCATE with DELETE, to not issue
        an implicit commit of a transaction, and not depend
        on metadata locks.
      mysql-test/t/partition_sync.test:
        Temporarily disable the test case for Bug#43867,
        which needs a fix to be backported from 6.0.
      mysql-test/t/ps.test:
        Add a test case for semantics of PREPARE and transaction-scope
        locks: metadata locks on tables used in PREPARE are enclosed into a
        temporary savepoint, taken at the beginning of PREPARE,
        and released at the end. Thus PREPARE does not effect
        what locks a transaction owns.
      mysql-test/t/read_only_innodb.test:
        Fix test case to reflect the fact that transactions now hold
        metadata locks for the duration of a transaction 
        (Bug#989/WL#4284).
        
        Wait for the read_only statement to actually flush tables before
        sending other concurrent statements that depend on its state.
      mysql-test/t/xa.test:
        Fix test case to reflect the fact that transactions now hold
        metadata locks for the duration of a transaction 
        (Bug#989/WL#4284).
      sql/ha_ndbcluster_binlog.cc:
        Backport bits of changes of ha_ndbcluster_binlog.cc
        from 6.0, to fix the failing binlog test suite with
        WL#4284. WL#4284 implementation does not work
        with 5.1 implementation of ndbcluster binlog index.
      sql/log_event.cc:
        Release metadata locks after issuing a commit.
      sql/mdl.cc:
        Style changes (WL#4284).
      sql/mysql_priv.h:
        Rename parameter to match the name used in the definition (WL#4284).
      sql/rpl_injector.cc:
        Release metadata locks on commit (WL#4284).
      sql/rpl_rli.cc:
        Remove assert made meaningless, metadata locks are released
        at the end of the transaction.
      sql/set_var.cc:
        Close tables and release locks if autocommit mode is set.
      sql/slave.cc:
        Release metadata locks after a rollback.
      sql/sql_acl.cc:
        Don't implicitly unlock locked tables. Issue a implicit commit
        at the end and unlock tables.
      sql/sql_base.cc:
        Defer the release of metadata locks when closing tables
        if not required to.
        Issue a deadlock error if the locking protocol requires
        that a transaction re-acquire its locks.
        
        Release metadata locks when closing tables for reopen.
      sql/sql_class.cc:
        Release metadata locks if the thread is killed.
      sql/sql_parse.cc:
        Release metadata locks after implicitly committing a active
        transaction, or after explicit commits or rollbacks.
      sql/sql_plugin.cc:
        
        Allocate MDL request on the stack as the use of the table
        is contained within the function. It will be removed from
        the context once close_thread_tables is called at the end
        of the function.
      sql/sql_prepare.cc:
        The problem is that the prepare phase of the CREATE TABLE
        statement takes a exclusive metadata lock lock and this can
        cause a self-deadlock the thread already holds a shared lock
        on the table being that should be created.
        
        The solution is to make the prepare phase take a shared
        metadata lock when preparing a CREATE TABLE statement. The
        execution of the statement will still acquire a exclusive
        lock, but won't cause any problem as it issues a implicit
        commit.
        
        After some discussions with stakeholders it has been decided that
        metadata locks acquired during a PREPARE statement must be released
        once the statement is prepared even if it is prepared within a multi
        statement transaction.
      sql/sql_servers.cc:
        Don't implicitly unlock locked tables. Issue a implicit commit
        at the end and unlock tables.
      sql/sql_table.cc:
        Close table and release metadata locks after a admin operation.
      sql/table.h:
        The problem is that the prepare phase of the CREATE TABLE
        statement takes a exclusive metadata lock lock and this can
        cause a self-deadlock the thread already holds a shared lock
        on the table being that should be created.
        
        The solution is to make the prepare phase take a shared
        metadata lock when preparing a CREATE TABLE statement. The
        execution of the statement will still acquire a exclusive
        lock, but won't cause any problem as it issues a implicit
        commit.
      sql/transaction.cc:
        Release metadata locks after the implicitly committed due
        to a new transaction being started. Also, release metadata
        locks acquired after a savepoint if the transaction is rolled
        back to the save point.
        
        The problem is that in some cases transaction-long metadata locks
        could be released before the transaction was committed. This could
        happen when a active transaction was ended by a "START TRANSACTION"
        or "BEGIN" statement, in which case the metadata locks would be
        released before the actual commit of the active transaction.
        
        The solution is to defer the release of metadata locks to after the
        transaction has been implicitly committed. No test case is provided
        as the effort to provide one is too disproportional to the size of
        the fix.
      a14bbee5
  2. 14 May, 2008 1 commit
    • unknown's avatar
      revert the following CS on grounds of "right patch, wrong time": · 2c91699e
      unknown authored
        
       "Apply InnoDB snapshot innodb-5.1-ss2438.
      
        Addresses the following bugs:
      
        Change the fix for Bug#32440 to show bytes instead of kilobytes in
        INFORMATION_SCHEMA.TABLES.DATA_FREE.
      
        branches/5.1: Fix bug#29507 TRUNCATE shows to many rows effected
        In InnoDB, the row count is only a rough estimate used by SQL
        optimization. InnoDB is now return row count 0 for TRUNCATE operation.
      
        branches/5.1: Fix bug#35537 - Innodb doesn't increment handler_update
        and handler_delete
        Add the calls to ha_statistic_increment() in ha_innobase::delete_row()
        and ha_innobase::update_row().
      
        Fix Bug#36169 create innodb compressed table with too large row size crash
        Sometimes it is possible that
        row_drop_table_for_mysql(index->table_name, trx, FALSE); is invoked in
        row_create_index_for_mysql() when the index object is freed so copy the
        table name to a safe place beforehand and use the copy.
      
        Fix Bug#36434 ha_innodb.so is installed in the wrong directory
        Change pkglib_LTLIBRARIES with pkgplugin_LTLIBRARIES which has been
        forgotten in this commit: http://lists.mysql.com/commits/40206"
      
      
      mysql-test/r/innodb.result:
        revert InnoDB snapshot innodb-5.1-ss2438
      mysql-test/r/mix2_myisam.result:
        merge-fixes: undoing previous unspecified post-merge fixes
        by kaa a/o 2008/2/13 (1.7)
      mysql-test/t/innodb.test:
        revert InnoDB snapshot innodb-5.1-ss2438
      storage/innobase/Makefile.am:
        revert InnoDB snapshot innodb-5.1-ss2438
      storage/innobase/handler/ha_innodb.cc:
        revert InnoDB snapshot innodb-5.1-ss2438
      storage/innobase/plug.in:
        revert InnoDB snapshot innodb-5.1-ss2438
      storage/innobase/row/row0mysql.c:
        revert InnoDB snapshot innodb-5.1-ss2438
      storage/innobase/row/row0sel.c:
        revert InnoDB snapshot innodb-5.1-ss2438
      2c91699e
  3. 13 May, 2008 1 commit
    • unknown's avatar
      mix2_myisam.result: · 295d15f4
      unknown authored
        Post-push test case update (bug #30059).
      
      
      mysql-test/r/mix2_myisam.result:
        Post-push test case update (bug #30059).
      295d15f4
  4. 13 Feb, 2008 1 commit
  5. 26 Feb, 2007 1 commit
  6. 19 Feb, 2007 1 commit
    • unknown's avatar
      5.1-specific fix for bug #18743. · dc3d2886
      unknown authored
      Moved tests requiring ucs2 from mix2_myisam.test to a separate unit.
      
      
      mysql-test/include/mix2.inc:
        Moved tests requiring ucs2 to a separate unit
      mysql-test/r/mix2_myisam.result:
        Moved tests requiring ucs2 to a separate unit
      mysql-test/r/mix2_myisam_ucs2.result:
        Moved tests requiring ucs2 to a separate unit
      mysql-test/include/mix2_ucs2.inc:
        Moved tests requiring ucs2 to a separate unit
      mysql-test/t/mix2_myisam_ucs2.test:
        Moved tests requiring ucs2 to a separate unit
      dc3d2886
  7. 20 Oct, 2006 1 commit
  8. 16 Aug, 2006 2 commits
    • unknown's avatar
      This changeset belongs to · 27990803
      unknown authored
              WL#3397 Refactoring storage engine test cases (for falcon)
            It contains fixes according to second code review.
      - Remove any occurence of hardcoded assignments of storage engines
      - Use variable names exact telling what it is used for
      - Updated comments
      - remove trailing spaces
      
      
      mysql-test/include/handler.inc:
        - Replace hardcoded MyISAM with assignments via variable
      mysql-test/include/mix1.inc:
        - Replace hardcoded MyISAM with assignments via variable
        - Remove hardcoded InnoDB assignments (They were introduced by late push)
        - Remove trailing spaces
      mysql-test/include/mix2.inc:
        - Replace hardcode MyISAM assignments
        - Remove trailing spaces
        - Engine assignments via variable refers to the use of the storage engine
          $other_non_trans_engine_type, $other_live_chcks_engine_type ...
      mysql-test/include/read_many_rows.inc:
        Replace hardcoded MyISAM assignment
      mysql-test/include/rowid_order.inc:
        remove trailing spaces
      mysql-test/r/handler_innodb.result:
        Updated result
      mysql-test/r/handler_myisam.result:
        Updated result
      mysql-test/r/innodb_mysql.result:
        Updated result
      mysql-test/r/mix2_myisam.result:
        Updated result
      mysql-test/r/read_many_rows_innodb.result:
        Updated result
      mysql-test/r/rowid_order_innodb.result:
        Updated result
      mysql-test/t/handler_innodb.test:
        Introduce $variables
      mysql-test/t/handler_myisam.test:
        Introduce $variables
      mysql-test/t/mix2_myisam.test:
        Introduce $variables
      mysql-test/t/read_many_rows_innodb.test:
        Introduce $variables
      27990803
    • unknown's avatar
      This changeset belongs to · 808237b0
      unknown authored
            WL#3397 Refactoring storage engine test cases (for falcon)
          It contains also fixes according to code review.
          Contents: Testcases which were in history dedicated to InnoDB or MyISAM only.
          Modifications:
          1. Shift the main testing code into include/<testing field>.inc
             Introduce $variables which can be used to omit tests for features which are not supported by
             certain storage engines.
          2. The storage engine to be tested is assigned within the toplevel script (t/<whatever>_<engine>.test)
             via variable $engine_type and the the main testing code is sourced from 
             include/<testing field>.inc
          3. Some toplevel testscripts have to be renamed to
             - avoid immediate or future namespace clashes
             - show via filename which storage engine is tested
          4. Minor code cleanup like remove trailing spaces, some additional comments ....
      
      
      mysql-test/t/unsafe_binlog_innodb-master.opt:
        Rename: mysql-test/t/innodb_unsafe_binlog-master.opt -> mysql-test/t/unsafe_binlog_innodb-master.opt
      mysql-test/r/read_many_rows_innodb.result:
        Rename: mysql-test/r/innodb-big.result -> mysql-test/r/read_many_rows_innodb.result
      mysql-test/t/cache_innodb-master.opt:
        Rename: mysql-test/t/innodb_cache-master.opt -> mysql-test/t/cache_innodb-master.opt
      mysql-test/t/concurrent_innodb-master.opt:
        Rename: mysql-test/t/innodb_concurrent-master.opt -> mysql-test/t/concurrent_innodb-master.opt
      BitKeeper/deleted/.del-index_merge.result:
        Delete: mysql-test/r/index_merge.result
      BitKeeper/deleted/.del-index_merge_innodb.result:
        Delete: mysql-test/r/index_merge_innodb.result
      BitKeeper/deleted/.del-index_merge_innodb2.result:
        Delete: mysql-test/r/index_merge_innodb2.result
      BitKeeper/deleted/.del-index_merge_ror.result:
        Delete: mysql-test/r/index_merge_ror.result
      BitKeeper/deleted/.del-index_merge_ror_cpk.result:
        Delete: mysql-test/r/index_merge_ror_cpk.result
      mysql-test/r/index_merge_innodb.result:
        BitKeeper file /home/matthias/Arbeit/mysql-5.1-engines/src-1/mysql-test/r/index_merge_innodb.result
      mysql-test/t/index_merge_innodb.test:
        BitKeeper file /home/matthias/Arbeit/mysql-5.1-engines/src-1/mysql-test/t/index_merge_innodb.test
      mysql-test/t/index_merge_myisam.test:
        BitKeeper file /home/matthias/Arbeit/mysql-5.1-engines/src-1/mysql-test/t/index_merge_myisam.test
      mysql-test/include/concurrent.inc:
        1. This file contains now the main testing code of the former t/innodb_concurrent.test.
        2. It is now sourced by t/concurrent_innodb.test.
      mysql-test/include/deadlock.inc:
        1. This file contains now the main testing code of the former t/innodb-deadlock.test
        2. It is now sourced by t/deadlock_innodb.test.
      mysql-test/include/handler.inc:
        1. This file contains now the main testing code of the former t/innodb_handler.test + t/handler.test.
        2. It is now sourced by t/handler_myisam.test and t/handler_innodb.test.
      mysql-test/include/index_merge1.inc:
        1. This file contains now the main testing code of the former t/index_merge.test.
        2. It is now sourced by t/index_merge_myisam.test.
      mysql-test/include/index_merge2.inc:
        1. This file contains now the main code of t/index_merge_innodb.test.
        2. It is sourced by t/index_merge_myisam.test and t/index_merge_innodb.test.
      mysql-test/include/index_merge_2sweeps.inc:
        1. This file contains now the main code of the former t/index_merge_innodb2.test.
        2. It is sourced by t/index_merge_myisam.test and t/index_merge_innodb.test.
      mysql-test/include/index_merge_ror.inc:
        1. This file contains now the main code of the former t/index_merge_ror.test.
        2. It is sourced by t/index_merge_myisam.test.
      mysql-test/include/index_merge_ror_cpk.inc:
        1. This file contains now the main testing code of the former t/index_merge_ror_cpk.test.
        2. It is now sourced by t/index_merge_myisam.test and t/index_merge_innodb.test.
      mysql-test/include/mix1.inc:
        1. This file contains now the main testing code of the t/innodb_mysql.test
        2. The name mix1.inc was used because the test contains subtests for different fields.
        3. It is sourced by t/innodb_mysql.test.
        4. Fixes:
            - Assign $other_engine_type instead of hardcoded MyISAM.
            - improve comment
            - remove redundant subtest
            - analyze table t4 instead of wrong table t1
            - remove not needed "eval set storage_engine = $engine_type;"
      mysql-test/include/mix2.inc:
        1. This file is a copy of the main testing code of the t/innodb.test
           A copy has to be used, because t/innodb.test is to be maintained by INNOBASE only.
        2. The name mix2.inc was used because the test contains subtests for different fields.
        3. It is sourced by t/mix2_myisam.test.
        4. Fixes:
            - improved comment
            - additional "eval SET SESSION STORAGE_ENGINE = $other_engine_type;" at beginning of tests
            - assign $other_engine_type instead of hardcoded MyISAM or HEAP
            - assign $other_engine_type where it is needed to preserve test logics
            - correct logical bugs
            - improve(extend) "checksum table" test
      mysql-test/include/query_cache.inc:
        1. This file contains now the main testing code of the former t/innodb_cache.test.
        2. It is now sourced by t/cache_innodb.test
      mysql-test/include/read_many_rows.inc:
        1. This file contains now the main testing code of the former t/innodb_big.test.
        2. It is now sourced by t/read_many_rows_innodb.test.
      mysql-test/include/rowid_order.inc:
        1. This file contains now the main testing code of t/rowid_order_innodb.test.
        2. It is now sourced by t/rowid_order_innodb.test.
      mysql-test/include/unsafe_binlog.inc:
        1. This file contains now the main testing code of the former t/innodb_unsafe_binlog.test.
        2. It is now sourced by t/unsafe_binlog_innodb.test.
      mysql-test/r/cache_innodb.result:
        Updated result
      mysql-test/r/concurrent_innodb.result:
        Updated result
      mysql-test/r/deadlock_innodb.result:
        Updated result
      mysql-test/r/handler_innodb.result:
        Updated result
      mysql-test/r/handler_myisam.result:
        Updated result
      mysql-test/r/index_merge_myisam.result:
        Updated result
      mysql-test/r/innodb_mysql.result:
        Updated result
      mysql-test/r/mix2_myisam.result:
        Updated result
      mysql-test/r/rowid_order_innodb.result:
        Updated result
      mysql-test/r/unsafe_binlog_innodb.result:
        Updated result
      mysql-test/t/cache_innodb.test:
        1. Renaming of t/innodb_cache.test to t/cache_innodb.test
        2. Main code is now sourced from include/query_cache.inc.
      mysql-test/t/concurrent_innodb.test:
        1. Renaming of t/innodb_concurrent.test to t/concurrent_innodb.test
        2. Main code is now sourced from include/concurrent.inc.
           Attention: This test fails even in the old version. (BUG#21579).
                      --> added to t/disabled.def
      mysql-test/t/deadlock_innodb.test:
        1. Renaming of t/innodb_deadlock.test to t/deadlock_innodb.test
        2. Main code is now sourced from include/deadlock.inc.
      mysql-test/t/disabled.def:
        Add the test concurrent_innodb because of 
        BUG#21579 2006-08-11 mleich innodb_concurrent random failures with varying differences
      mysql-test/t/handler_innodb.test:
        1. Renaming of t/innodb_handler.test to t/handler_innodb.test
        2. Main code is now sourced from include/handler.inc.
           include/handler.inc = united code of former t/handler.test and t/innodb_handler.test
      mysql-test/t/handler_myisam.test:
        1. Renaming of t/handler.test to t/handler_myisam.test
        2. Main code is now sourced from include/handler.inc.
           include/handler.inc = united code of former t/handler.test and t/handler_innodb.test.
      mysql-test/t/innodb_mysql.test:
        1. Main code is now sourced from include/mix1.inc.
        2. Test was not renamed because t/innodb.test refers to it.
      mysql-test/t/mix2_myisam.test:
        New test: MyISAM variant of mix2 ( = t/innodb.test)
      mysql-test/t/read_many_rows_innodb.test:
        1. Renaming of t/innodb_big.test to t/read_many_rows_innodb.test
        2. Main code is now sourced from include/read_many_rows.inc.
      mysql-test/t/rowid_order_innodb.test:
        Main code is now sourced from t/rowid_order.inc.
      mysql-test/t/unsafe_binlog_innodb.test:
        1. Renaming of t/innodb_unsafe_binlog.test to t/unsafe_binlog_innodb.test
        2. Main code is now sourced from include/unsafe_binlog.inc.
      808237b0
  9. 14 Aug, 2006 1 commit
    • unknown's avatar
      Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots. · 2606cb93
      unknown authored
      All but ss677 are against the mysql-5.1 tree only.
      
      Fixes the following bugs:
      - Bug #19834: Using cursors when running in READ-COMMITTED can cause InnoDB to crash
      - Bug #20213: DBT2 testing cause mysqld to core using Innodb
      - Bug #20493: on partition tables, select and show command casue server crash
      - Bug #21113: Duplicate printout in SHOW INNODB STATUS
      - Bug #21313: rsql_..._recover_innodb_tmp_table is redundant and broken
      - Bug #21467: Manual URL wrong in InnoDB "page corrupted" error report
      
      
      mysql-test/r/innodb.result:
        Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
        All but ss677 are against the mysql-5.1 tree only.
        
        innodb.result: Adjust Innodb_rows_inserted and Innodb_rows_updated
        to reflect the deleted statements in r420, which somehow reappeared
        in the MySQL tree.
      mysql-test/t/innodb.test:
        Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
        All but ss677 are against the mysql-5.1 tree only.
      sql/ha_innodb.cc:
        Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
        All but ss677 are against the mysql-5.1 tree only.
        
        ha_innobase::start_stmt(): patch from Heikki:
        Do not call read_view_close_for_mysql().  (Bug #19834)
        
        Fix Bug#20213 and its duplicates: stress test crashes of InnoDB-5.1
        
        Fix Bug #20493 : we must prepare prebuilt->trx to point to the trx of this thd before using it
        
        Add update_thd() to several places in ha_innodb.cc to make sure prebuilt->trx points to the right trx object; in other functions add assertions that prebuilt->trx is for this thd; when 5.1 stabilizes, we can change these assertions to ut_ad() debug version assertions
        
        Remove redundant check_trx_exists() and ut_a() from r701,
        as suggested by Marko
        
        Correct all URLs pointing to the MySQL manual. (Bug #21467)
      storage/innobase/btr/btr0btr.c:
        Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
        All but ss677 are against the mysql-5.1 tree only.
        
        Correct all URLs pointing to the MySQL manual. (Bug #21467)
      storage/innobase/buf/buf0buf.c:
        Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
        All but ss677 are against the mysql-5.1 tree only.
        
        Correct all URLs pointing to the MySQL manual. (Bug #21467)
      storage/innobase/dict/dict0dict.c:
        Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
        All but ss677 are against the mysql-5.1 tree only.
        
        Correct all URLs pointing to the MySQL manual. (Bug #21467)
      storage/innobase/fil/fil0fil.c:
        Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
        All but ss677 are against the mysql-5.1 tree only.
        
        Make the tablespace cache hash size 100 or 1000 times bigger. Fixes bug
        #21112.
        
        After ut_print_timestamp(), always display "  InnoDB:" (note two spaces).
        
        Correct all URLs pointing to the MySQL manual. (Bug #21467)
      storage/innobase/fsp/fsp0fsp.c:
        Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
        All but ss677 are against the mysql-5.1 tree only.
        
        Correct all URLs pointing to the MySQL manual. (Bug #21467)
      storage/innobase/ibuf/ibuf0ibuf.c:
        Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
        All but ss677 are against the mysql-5.1 tree only.
        
        ibuf_print(): Don't print redundant information. Fixes bug #21113.
        
        Remove non-varying variable ibuf->meter and related constant IBUF_THRESHOLD.
      storage/innobase/include/btr0cur.ic:
        Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
        All but ss677 are against the mysql-5.1 tree only.
        
        btr_cur_get_page(): Remove buggy assertion.
      storage/innobase/include/buf0buf.ic:
        Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
        All but ss677 are against the mysql-5.1 tree only.
        
        Correct all URLs pointing to the MySQL manual. (Bug #21467)
      storage/innobase/include/ibuf0ibuf.ic:
        Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
        All but ss677 are against the mysql-5.1 tree only.
        
        Remove non-varying variable ibuf->meter and related constant IBUF_THRESHOLD.
      storage/innobase/log/log0log.c:
        Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
        All but ss677 are against the mysql-5.1 tree only.
        
        Correct all URLs pointing to the MySQL manual. (Bug #21467)
      storage/innobase/log/log0recv.c:
        Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
        All but ss677 are against the mysql-5.1 tree only.
        
        Correct all URLs pointing to the MySQL manual. (Bug #21467)
      storage/innobase/os/os0file.c:
        Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
        All but ss677 are against the mysql-5.1 tree only.
        
        Correct all URLs pointing to the MySQL manual. (Bug #21467)
      storage/innobase/row/row0mysql.c:
        Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
        All but ss677 are against the mysql-5.1 tree only.
        
        Remove the special treatment of tables
        rsql_IDENTIFIER_recover_innodb_tmp_table, which is redundant and
        was broken with the introduction of the "safe" file name encoding of
        identifiers.  (Bug #21313)
        
        ChangeSet@1.2181.173.1  2006-08-02 17:57:06+02:00  ingo@local
        Bug#18775 - Temporary table from alter table visible to other threads
        Continued implementation of WL#1324 (table name to filename encoding)
        Changed back the encoded temp file prefix to #sql.
        
        After ut_print_timestamp(), always display "  InnoDB:" (note two spaces).
        
        Correct all URLs pointing to the MySQL manual. (Bug #21467)
      storage/innobase/row/row0sel.c:
        Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
        All but ss677 are against the mysql-5.1 tree only.
        
        Correct all URLs pointing to the MySQL manual. (Bug #21467)
      storage/innobase/row/row0vers.c:
        Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
        All but ss677 are against the mysql-5.1 tree only.
        
        row_vers_build_for_semi_consistent_read(): rec_trx_id was uninitialized
        in a comparison.  Initialize it.
      storage/innobase/srv/srv0start.c:
        Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
        All but ss677 are against the mysql-5.1 tree only.
        
        Correct all URLs pointing to the MySQL manual. (Bug #21467)
      storage/innobase/ut/ut0dbg.c:
        Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
        All but ss677 are against the mysql-5.1 tree only.
        
        ut_dbg_assertion_failed(): Print space between timestamp and start of error
        message.
        
        After ut_print_timestamp(), always display "  InnoDB:" (note two spaces).
        
        Correct all URLs pointing to the MySQL manual. (Bug #21467)
      storage/innobase/Makefile.am:
        Applied innodb-5.1-ss677, -ss680, -ss713, and -ss720 snapshots.
        All but ss677 are against the mysql-5.1 tree only.
      2606cb93
  10. 30 Jul, 2006 1 commit
  11. 21 Jul, 2006 1 commit
    • unknown's avatar
      Fixed bug#12185: Data type aggregation may produce wrong result · 35209c68
      unknown authored
      The Item::tmp_table_field_from_field_type() function creates Field_datetime
      object instead of Field_timestamp object for timestamp field thus always
      changing data type is a tmp table is used.
      
      The Field_blob object constructor which is used in the 
      Item::tmp_table_field_from_field_type() is always setting packlength field of
      newly created blob to 4. This leads to changing fields data type for example
      from the blob to the longblob if a temporary table is used.
      
      The Item::make_string_field() function always converts Field_string objects 
      to Field_varstring objects. This leads to changing data type from the 
      char/binary to varchar/varbinary.
      
      Added appropriate Field_timestamp object constructor for using in the 
      Item::tmp_table_field_from_field_type() function.
      
      Added Field_blob object constructor which sets pack length according to
      max_length argument.
      
      The Item::tmp_table_field_from_field_type() function now creates
      Field_timestamp object for a timestamp field.
      
      The Item_type_holder::display_length() now returns correct NULL length NULL
      length. 
      
      The Item::make_string_field() function now doesn't change Field_string to
      Field_varstring in the case of Item_type_holder. 
      
      The Item::tmp_table_field_from_field_type() function now uses the Field_blob
      constructor which sets packlength according to max_length.
      
      
      mysql-test/t/union.test:
        Added test case for bug#12185: Data type aggregation may produce wrong result
        Corrected test case after fix for bug#12185
      mysql-test/t/innodb.test:
        Corrected test case after fix for bug#12185
      mysql-test/r/union.result:
        Added test case for bug#12185: Data type aggregation may produce wrong result
         Corrected test case after fix for bug#12185
      mysql-test/r/innodb.result:
        Corrected test case after fix for bug#12185
      mysql-test/r/create.result:
        Corrected the test case after fixing bug#12185
      sql/field.h:
        Fixed bug#12185: Data type aggregation may produce wrong result
        Added Field_blob object constructor which sets packlength according to
        max_length argument.
      sql/item.cc:
        Fixed bug#12185: Data type aggregation may produce wrong result
        The Item::make_string_field() function now doesn't change Field_string to
        Field_varstring in the case of Item_type_holder.
        The Item::tmp_table_field_from_field_type() function now creates
        Field_timestamp object for a timestamp field.
        The Item::tmp_table_field_from_field_type() function now uses the Field_blob
        constructor which sets packlength according to max_length.
        The Item_type_holder::display_length() now returns correct NULL length NULL
        length.
      sql/field.cc:
        Fixed bug#12185: Data type aggregation may produce wrong result
        Added appropriate Field_timestamp object constructor for using in the 
        Item::tmp_table_field_from_field_type() function.
      35209c68
  12. 01 Jun, 2006 1 commit
    • unknown's avatar
      Applied innodb-5.1-ss594 snapshot. · 2dca2a1a
      unknown authored
       Fixed BUG#19542 "InnoDB doesn't increase the Handler_read_prev couter".
       Fixed BUG#19609 "Case sensitivity of innodb_data_file_path gives stupid error".
       Fixed BUG#19727 "InnoDB crashed server and crashed tables are ot recoverable".
       Also:
       * Remove remnants of the obsolete concept of memoryfixing tables and indexes.
       * Remove unused dict_table_LRU_trim().
       * Remove unused 'trx' parameter from dict_table_get_on_id_low(),
         dict_table_get(), dict_table_get_and_increment_handle_count().
       * Add a normal linked list implementation.
       * Add a work queue implementation.
       * Add 'level' parameter to mutex_create() and rw_lock_create().
         Remove mutex_set_level() and rw_lock_set_level().
       * Rename SYNC_LEVEL_NONE to SYNC_LEVEL_VARYING.
       * Add support for bound ids in InnoDB's parser.
       * Define UNIV_BTR_DEBUG for enabling consistency checks of
         FIL_PAGE_NEXT and FIL_PAGE_PREV when accessing sibling
         pages of B-tree indexes.
         btr_validate_level(): Check the validity of the doubly linked
         list formed by FIL_PAGE_NEXT and FIL_PAGE_PREV.
       * Adapt InnoDB to the new tablename to filename encoding in MySQL 5.1.
         ut_print_name(), ut_print_name1(): Add parameter 'table_id' for
         distinguishing names of tables from other identifiers.
         New: innobase_convert_from_table_id(), innobase_convert_from_id(),
              innobase_convert_from_filename(), innobase_get_charset.
         dict_accept(), dict_scan_id(), dict_scan_col(), dict_scan_table_name(),
         dict_skip_word(), dict_create_foreign_constraints_low(): Add
         parameter 'cs' so that isspace() can be replaced with my_isspace(),
         whose operation depends on the connection character set.
         dict_scan_id(): Convert identifier to UTF-8.
         dict_str_starts_with_keyword(): New extern function, to replace
         dict_accept() in row_search_for_mysql().
         mysql_get_identifier_quote_char(): Replaced with innobase_print_identifier().
         ha_innobase::create(): Remove the thd->convert_strin() call. Pass the
         statement to InnoDB in the connection character set and let InnoDB
         convert the identifier to UTF-8.
       * Add max_row_size to dict_table_t.
       * btr0cur.c
         btr_copy_externally_stored_field(): Only set the 'offset' variable
         when needed.
       * buf0buf.c
         buf_page_io_complete(): Write to the error log if the page number or
         the space id o the disk do not match those in memory. Also write to
         the error log if a page was read from the doublewrite buffer. The
         doublewrite buffer should be only read by the lower-level function
         fil_io() at database startup.
       * dict0dict.c
         dict_scan_table_name(): Remove fallback to differently encoded name
         when the table is not found. The encoding is handled at a higher level.
       * ha_innodb.cc
         Increment statistic counter in ha_innobase::index_prev() (bug 19542).
         Add innobase_convert_string wrapper function and a new file
         ha_prototypes.h.
         innobase_print_identifier(): Remove TODO comment before calling
         get_quote_char_for_identifier(). That function apparently assumes
         the identifier to be encoded in UTF-8.
       * ibuf0ibuf.c|h
         ibuf_count_get(), ibuf_counts[], ibuf_count_inited(): Define these
         only #ifdef UNIV_IBUF_DEBUG. Previously, when compiled without
         UNIV_IBUF_DEBUG, invoking ibuf_count_get() would crash InnoDB.
         The function is only being called #ifdef UNIV_IBUF_DEBUG.
       * innodb.result
         Adjust the results for changes in the foreign key error messages.
       * mem0mem.c|h
         New: mem_heap_dup(), mem_heap_printf(), mem_heap_cat().
       * os0file.c
         Check the page trailers also after writing to disk. This improves
         chances of diagnosing bug 18886.
         os_file_check_page_trailers(): New function for checking that the
         two copies of the LSN stamped on the page match.
         os_aio_simulated_handle(): Call os_file_check_page_trailers()
         before and after os_file_write().
       * row0mysql.c
         Move trx_commit_for_mysql(trx) calls before calls to
         row_mysql_unlock_data_dictionary(trx) (bug 19727).
       * row0sel.c
         row_fetch_print(): Handle SQL NULL values without crashing.
         row_sel_store_mysql_rec(): Remove useless call to rec_get_nth_field
         when handling an externally stored column.
         Fetch externally stored fields when using InnoDB's internal SQL
         parser.
         Optimize BLOB selects by using prebuilt->blob_heap directly instead
         of first reading BLOB data to a temporary heap and then copying it
         to prebuilt->blob_heap.
       * srv0srv.c
         srv_master_thread(): Remove unreachable code.
       * srv0start.c
         srv_parse_data_file_paths_and_sizes(): Accept lower-case 'm' and
         'g' as abbreviations of megabyte and gigabyte (bug 19609).
         srv_parse_megabytes(): New fuction.
       * ut0dbg.c|h
         Implement InnoDB assertions (ut_a and ut_error) with abort() when
         the code is compiled with GCC 3 or later on other platforms than
         Windows or Netware. Also disable the variable ut_dbg_stop_threads
         and the function ut_dbg_stop_thread() i this case, unless
         UNIV_SYC_DEBUG is defined. This should allow the compiler to
         generate more compact code for assertions.
       * ut0list.c|h
         Add ib_list_create_heap().
      
      
      mysql-test/r/innodb.result:
        Applied innodb-5.1-ss594 snapshot.
      mysql-test/t/innodb.test:
        Copy the comment from the beginning of the file
         to the end because MySQL developers continue
         adding test cases to this file.
      sql/ha_innodb.cc:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/CMakeLists.txt:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/Makefile.am:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/btr/btr0btr.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/btr/btr0cur.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/btr/btr0pcur.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/btr/btr0sea.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/buf/buf0buf.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/buf/buf0flu.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/data/data0type.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/dict/dict0crea.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/dict/dict0dict.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/dict/dict0load.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/dict/dict0mem.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/fil/fil0fil.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/ha/hash0hash.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/ibuf/ibuf0ibuf.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/data0type.h:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/dict0dict.h:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/dict0dict.ic:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/dict0mem.h:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/fil0fil.h:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/fsp0fsp.h:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/ibuf0ibuf.h:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/mem0mem.h:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/pars0pars.h:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/pars0sym.h:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/pars0types.h:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/rem0rec.h:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/row0purge.h:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/row0undo.h:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/srv0srv.h:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/sync0rw.h:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/sync0sync.h:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/univ.i:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/ut0dbg.h:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/ut0ut.h:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/lock/lock0lock.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/log/log0log.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/log/log0recv.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/mem/mem0dbg.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/mem/mem0mem.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/mem/mem0pool.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/os/os0file.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/os/os0thread.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/pars/lexyy.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/pars/pars0lex.l:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/pars/pars0pars.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/pars/pars0sym.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/row/row0ins.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/row/row0mysql.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/row/row0purge.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/row/row0row.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/row/row0sel.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/row/row0upd.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/srv/srv0srv.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/srv/srv0start.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/sync/sync0arr.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/sync/sync0rw.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/sync/sync0sync.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/thr/thr0loc.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/trx/trx0purge.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/trx/trx0rec.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/trx/trx0roll.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/trx/trx0rseg.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/trx/trx0sys.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/trx/trx0trx.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/ut/Makefile.am:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/ut/ut0dbg.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/ut/ut0ut.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/ha_prototypes.h:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/ut0list.h:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/ut0list.ic:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/include/ut0wqueue.h:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/ut/ut0list.c:
        Applied innodb-5.1-ss594 snapshot.
      storage/innobase/ut/ut0wqueue.c:
        Applied innodb-5.1-ss594 snapshot.
      2dca2a1a
  13. 26 May, 2006 1 commit
    • unknown's avatar
      BUG#15868 InnoDB thread thrashing · 81467f2b
      unknown authored
      Restoring default innodb_thread_concurrency to 8
      This default now matches 5.0
      
      
      mysql-test/r/innodb.result:
        BUG#15868 InnoDB thread thrashing
        Restoring default innodb_thread_concurrency to 8
      sql/mysqld.cc:
        BUG#15868 InnoDB thread thrashing
        Restoring default innodb_thread_concurrency to 8
      81467f2b
  14. 05 May, 2006 1 commit
    • unknown's avatar
      Don't use row level logging on optimize or repair table. · 3995b06b
      unknown authored
      (Fixes core dump in rpl_failed_optimize.test)
      Ensure we end active transcations if we do an admin command (like optimize, repair etc)
      
      
      mysql-test/extra/rpl_tests/rpl_failed_optimize.test:
        Added extra test + drop of table at end of test
      mysql-test/lib/mtr_report.pl:
        Fail if mysqld asserts or prints stack
      mysql-test/mysql-test-run.sh:
        Fail if mysqld asserts or prints stack
      mysql-test/r/exampledb.result:
        Cleanup of events_tests (as this caused a lot of problems if it didn't work)
      mysql-test/r/innodb.result:
        Extra test to see that we can do an optimize table on an active transaction
      mysql-test/r/rpl_failed_optimize.result:
        Added extra test + drop of table at end of test
      mysql-test/t/exampledb.test:
        Cleanup of events_tests (as this caused a lot of problems if it didn't work)
      mysql-test/t/innodb.test:
        Extra test to see that we can do an optimize table on an active transaction
      sql/handler.cc:
        Don't use row level logging on optimize or repair table.
      sql/log.cc:
        Simplify code (no logic changes)
      sql/mysql_priv.h:
        Added prototype
      sql/sql_base.cc:
        Better name for define
      sql/sql_class.cc:
        Indentation fix
      sql/sql_parse.cc:
        Make end_active_trans() global
      sql/sql_table.cc:
        Ensure we end active transcations if we do an admin command (like optimize, repair etc)
      3995b06b
  15. 24 Apr, 2006 1 commit
    • unknown's avatar
      Manual merge fix. · aa19a8f2
      unknown authored
      mysql-test/r/innodb.result:
        Corrected from manual merge.  I know the numbers are right (it's a 
        7,7-seeded fibbonaci sequence), but I don't know how I missed the latter 
        line.
      aa19a8f2
  16. 23 Apr, 2006 1 commit
    • unknown's avatar
      Applied innodb-5.1-ss475 snapshot. · ca9b46f7
      unknown authored
      * Fix BUG#15650: "DELETE with LEFT JOIN crashes server with innodb_locks_unsafe_for binlog"
      * Fix BUG#17134: "Partitions: uncommitted changes are visible"
      * Fix BUG#17992: "Partitions: InnoDB, somehow rotten table after UPDATE"
        row0ins.c: MySQL's partitioned table code does not set preduilt->sql_stat_start right
        if it does an insert in the same statement after doing a search first in the same
        partition table. We now write trx id always to the buffer, not just when flag
        sql_stat_start is on. This will waste CPU time very sightly.
      * Fix BUG#18077: "InnoDB uses full explicit table locks in stored FUNCTION"
      * Fix BUG#18238: "When locks exhaust the buffer pool, InnoDB does not roll back the trx"
      * Fix BUG#18252" "Disk space leak in updates of InnoDB BLOB rows in 5.0 and 5.1"
      * Fix BUG#18283: "When InnoDB returns error 'lock table full', MySQL can write to binlog too much"
      * Fix BUG#18350: "Use consistent read in CREATE ... SELECT ... if innodb_locks_unsafe_for_binlog"
      * Fix BUG#18384: "InnoDB memory leak on duplicate key errors in 5.0 if row has many columns"
      * Fix BUG#18934: "InnoDB crashes when table uses column names like DB_ROW_ID"
        Refuse tables that use reserved column names.
      * InnoDB's SQL parser:
        - Add support for UNSIGNED types, EXIT keyword, quoted identifiers, user-function callbacks
          for processing results of FETCH statements, bound literals, DATA_VARCHAR for bound literals.
        - Allow bound literals of type non-INTEGER to be of length 0.
        - Add make_flex.sh and update lexer/parser generation documentation.
        - Add comment clarifying the difference between 'alias' and 'indirection' fields in sym_node_t.
        - Remove never reached duplicate code in pars_set_dfield_type().
        - Rewrite pars_info datatypes and APIs, add a few helper functions.
        - Since the functions definitions in pars_info_t are accessed after pars_sql() returns
          in the query graph execution stage, we can't free pars_info_t in pars_sql(). Instead,
          make pars_sql() transfer ownership of pars_info_t to the created query graph, and
          make que_graph_free() free it if needed.
        - Allow access to system columns like DB_ROW_ID.
      * Use bound literals in row_truncate_table_for_mysql, row_drop_table_for_mysql,
        row_discard_tablespace_for_mysql, and row_rename_table_for_mysql.
      * Setting an isolation level of the transaction to read committed weakens the locks for
        this session similarly like the option innodb_locks_unsafe_for binlog. This patch removes
        alnost all gap locking (used in next-key locking) and makes MySQL to release the row locks
        on the rows which does not belong to result set. Additionally, nonlocking selects on
        INSERT INTO SELECT, UPDATE ... (SELECT ...), and CREATE ... SELECT ... use a nonlocking
        consistent read. If a binlog is used, then binlog format should be set to row based
        binloging to make the execution of the complex SQL statements.
      * Disable the statistic variables btr_search_n_hash_fail and n_hash_succ, n_hash_fail,
        n_patt_succ, and n_searches of btr_search_t in builds without #ifdef UNIV_SEARCH_PERF_STAT.
      * Make innodb.test faster. Group all consistent read test cases to a one test case and
        wait their lock timeout after all have been send to the server. Decrease amount of rows
        inserted in a certain test - this has no effect on the effectiveness of the test and
        reduces the running time by ~10 sec. Remove temporary work-arounds from innodb.result
        now that ALTER TABLE DROP FOREIGN KEY works once again.
      * Make innodb_unsafe_binlog.test faster. Grout all consistent read test cases to a one
        test case amd wait their lock timeout after all have been sent to the server. Remove
        unnecessary option --loose_innodb_lock_wait_timeout.
      * Print dictionary memory size in SHOW INNODB STATUS.
      * Fix memory leaks in row_create_table_for_mysql() in rare corner cases.
      * Remove code related to clustered tables. They were never implemented, and the
        implementation would be challenging with ROW_FORMAT=COMPACT. Remove the table types
        DICT_TABLE_CLUSTER_MEMBER and DICT_TABLE_CLUSTER and all related tests and functions.
        dict_table_t: Remove mix_id, mix_len, mix_id_len, mix_id_buf, and cluster_name.
        plan_t: Remove mixed_index.
        dict_create_sys_tables_tuple(): Set MIX_ID=0, MIX_LEN=0, CLUSTER_NAME=NULL when
        inserting into SYS_TABLES.
        dict_tree_check_search_tuple(): Enclose in #ifdef UNIV_DEBUG.
      * Move calling of thr_local_free() from trx_free_for_mysql() to
        innobase_close_connection().
      
      
      mysql-test/r/innodb.result:
        Applied innodb-5.1-ss475 snapshot.
      mysql-test/r/innodb_unsafe_binlog.result:
        Applied innodb-5.1-ss475 snapshot.
      mysql-test/t/innodb-master.opt:
        Applied innodb-5.1-ss475 snapshot.
      mysql-test/t/innodb.test:
        Applied innodb-5.1-ss475 snapshot.
      mysql-test/t/innodb_unsafe_binlog-master.opt:
        Applied innodb-5.1-ss475 snapshot.
      mysql-test/t/innodb_unsafe_binlog.test:
        Applied innodb-5.1-ss475 snapshot.
      sql/ha_innodb.cc:
        Applied innodb-5.1-ss475 snapshot.
         Do not use inlined functions in ha_innodb.cc.
         Remove assertion ut_error which crashes the mysqld server
         if it prints a warning about the adaptive latch.
      storage/innobase/Makefile.am:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/btr/btr0btr.c:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/btr/btr0cur.c:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/btr/btr0pcur.c:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/btr/btr0sea.c:
        Applied innodb-5.1-ss475 snapshot.
         Fix compilation problem with non-C99 compilers.
      storage/innobase/buf/buf0lru.c:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/cmakelists.txt:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/configure.in:
        Applied innodb-5.1-ss475 snapshot.
         Add disabled-by-default logic to switch GCC to a strict C89-mode.
         Add -Werror-implicit-function_declaration to CFLAGS when using gcc.
      storage/innobase/data/data0type.c:
        Applied innodb-5.1-ss475 snapshot.
         dtype_print(): Recognize DATA_FIXBINARY and DATA_BLOB types.
         Print known flags from prtype. Use a switch statement instead
         of else-if chain.
      storage/innobase/dict/dict0crea.c:
        Applied innodb-5.1-ss475 snapshot.
         Use bound literals in all SQL statements instead of elaborately
         constructing correctly allocated and quoted strings to pass the
         data in ASCII form.
      storage/innobase/dict/dict0dict.c:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/dict/dict0load.c:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/dict/dict0mem.c:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/eval/eval0proc.c:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/ibuf/ibuf0ibuf.c:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/btr0cur.h:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/btr0cur.ic:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/btr0sea.h:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/buf0lru.h:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/dict0dict.h:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/dict0dict.ic:
        Applied innodb-5.1-ss475 snapshot.
         Remove too strict assertions from some dict_table_t
         accessor functions.
      storage/innobase/include/dict0mem.h:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/eval0proc.h:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/hash0hash.h:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/lock0lock.h:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/mem0mem.h:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/page0page.ic:
        Applied innodb-5.1-ss475 snapshot.
         Remove UNIV_RELEASE_NOT_YET_STABLE and related checks.
      storage/innobase/include/pars0grm.h:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/pars0pars.h:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/pars0sym.h:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/pars0types.h:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/que0que.h:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/row0mysql.h:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/row0sel.h:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/row0upd.h:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/trx0trx.h:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/univ.i:
        Applied innodb-5.1-ss475 snapshot.
         Remove UNIV_RELEASE_NOT_YET_STABLE and related checks.
         When using GCC, use __inline__ instead of inline.
      storage/innobase/include/ut0mem.h:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/lock/lock0lock.c:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/log/log0recv.c:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/mem/mem0dbg.c:
        Applied innodb-5.1-ss475 snapshot.
         Add (void*) cast when using the %p printf format specifier.
      storage/innobase/mem/mem0mem.c:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/os/os0sync.c:
        Applied innodb-5.1-ss475 snapshot.
         Add (void*) cast when using the %p printf format specifier.
      storage/innobase/pars/lexyy.c:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/pars/make_bison.sh:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/pars/pars0grm.c:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/pars/pars0grm.h:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/pars/pars0grm.y:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/pars/pars0lex.l:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/pars/pars0opt.c:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/pars/pars0pars.c:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/pars/pars0sym.c:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/que/que0que.c:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/row/row0ins.c:
        Applied innodb-5.1-ss475 snapshot.
         Remove a memory leak when trying to insert a duplicate record to a
         clustered inedx comprising more than about 90 columns (Bug#18384).
         row_ins_duplicate_error_in_clust(): Call mem_heap_free(heap) at
         func_exit if needed.
      storage/innobase/row/row0mysql.c:
        Applied innodb-5.1-ss475 snapshot.
         row_mysql_is_system_table(): Use strncmp, not memcmp, since we
         don't know how long the input string is.
      storage/innobase/row/row0sel.c:
        Applied innodb-5.1-ss475 snapshot.
         Remove UNIV_RELEASE_NOT_YET_STABLE and related checks.
         row_sel_field_store_in_mysql_format(): Turn the assertions on
         mbminlen, mbmaxlen, and templ->type into debug assertions.
         fetch_step(): Print a more usefull error message when the cursor is closed.
      storage/innobase/row/row0upd.c:
        Applied innodb-5.1-ss475 snapshot.
         row_upd_index_replace_new_col_vals_index_pos(): Add a parameter
         order_only for limiting the replacement to the ordering fields
         of the index.
      storage/innobase/srv/srv0srv.c:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/sync/sync0arr.c:
        Applied innodb-5.1-ss475 snapshot.
         Add (void*) cast when using the %p printf format specifier.
      storage/innobase/sync/sync0rw.c:
        Applied innodb-5.1-ss475 snapshot.
         Add (void*) cast when using the %p printf format specifier.
      storage/innobase/sync/sync0sync.c:
        Applied innodb-5.1-ss475 snapshot.
         Add (void*) cast when using the %p printf format specifier.
      storage/innobase/trx/trx0trx.c:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/ut/Makefile.am:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/ut/ut0mem.c:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/ut0vec.h:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/include/ut0vec.ic:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/pars/make_flex.sh:
        Applied innodb-5.1-ss475 snapshot.
      storage/innobase/ut/ut0vec.c:
        Applied innodb-5.1-ss475 snapshot.
      ca9b46f7
  17. 20 Apr, 2006 2 commits
    • unknown's avatar
      Restoring changes erroneously removed by applying · 43690501
      unknown authored
       the innodb-5.0-ss476 snapshot.
      
      
      43690501
    • unknown's avatar
      Applied innodb-5.0-ss476 snapshot. · 7ee05d7c
      unknown authored
       Fix BUG#18934: "InnoDB crashes when table uses column like DB_ROW_ID".
       Also, fix memory leaks in row_create_table_for_mysql() in rare
       corner cases.
      
      
      innobase/dict/dict0dict.c:
        Applied innodb-5.0-ss476 snapshot.
         Refuse tables that use reserved column names (Bug#18934).
      innobase/dict/dict0load.c:
        Applied innodb-5.0-ss476 snapshot.
         dict_load_table(): Refuse to load tables with other TYPE
         than DICT_TABLE_ORDINARY.
      innobase/dict/dict0mem.c:
        Applied innodb-5.0-ss476 snapshot.
         Add dict_mem_table_free(), use it instead of duplicating
         the code everywhere.
      innobase/ibuf/ibuf0ibuf.c:
        Applied innodb-5.0-ss476 snapshot.
      innobase/include/dict0dict.h:
        Applied innodb-5.0-ss476 snapshot.
         Refuse tables that use reserved column name (Bug#18934).
      innobase/include/dict0mem.h:
        Applied innodb-5.0-ss476 snapshot.
         Add dict_mem_table_free(), use it instead of duplicating
         the code everywhere.
      innobase/include/univ.i:
        Applied innodb-5.0-ss476 snapshot.
      innobase/log/log0recv.c:
        Applied innodb-5.0-ss476 snapshot.
      innobase/row/row0mysql.c:
        Applied innodb-5.0-ss476 snapshot.
         Refuse tables that use reserved column names (Bug#18934).
      mysql-test/r/innodb.result:
        Applied innodb-5.0-ss476 snapshot.
         Fix result for test case for Bug#18934.
         (Other changes are to be restored by the next cset).
      mysql-test/t/innodb.test:
        Applied innodb-5.0-ss476 snapshot.
         Fix result for test case for Bug#18934.
         (Removed test case for Bug#14360 is to be restored by the next cset).
      7ee05d7c
  18. 17 Apr, 2006 2 commits
  19. 14 Apr, 2006 1 commit
  20. 13 Apr, 2006 1 commit
  21. 12 Apr, 2006 1 commit
    • unknown's avatar
      bug #15860 (SPATIAL keys in INNODB) · f01b0ac2
      unknown authored
      mysql-test/r/innodb.result:
        result added
      mysql-test/t/innodb.test:
        testcase
      sql/ha_myisam.cc:
        HA_CAN_RTREEKEYS added to ha_myisam
      sql/handler.h:
        HA_CAN_RTREEKEYS defined
      sql/share/errmsg.txt:
        error message added
      sql/sql_table.cc:
        check that the handler allows SPATIAL keys
      f01b0ac2
  22. 11 Apr, 2006 1 commit
    • unknown's avatar
      Fix for bug #14360: Date Between Interval Broken. · 1ef73963
      unknown authored
                                         
      
      
      mysql-test/r/innodb.result:
        Fix for bug #14360: Date Between Interval Broken.                               
          - test case.
      mysql-test/t/innodb.test:
        Fix for bug #14360: Date Between Interval Broken.                               
          - test case.
      sql/item_timefunc.cc:
        Fix for bug #14360: Date Between Interval Broken.                               
          - Item_date_add_interval::eq() introduced.
      sql/item_timefunc.h:
        Fix for bug #14360: Date Between Interval Broken.                               
          - Item_date_add_interval::eq() introduced.
      1ef73963
  23. 10 Apr, 2006 1 commit
  24. 30 Mar, 2006 1 commit
    • unknown's avatar
      Bug#18477 - MySQL/InnoDB Ignoring Foreign Keys in ALTER TABLE · 5569a87e
      unknown authored
      InnoDB requires a full table rebuild for foreign key changes.
      It was not possible in compare_tables() to detect such changes.
      
      On Heikkis proposal I added a new flag to the syntax parser
      where foreign key definition changes are done. I test for
      this flag in compare_tables() now.
      
      
      mysql-test/r/innodb.result:
        Bug#18477 - MySQL/InnoDB Ignoring Foreign Keys in ALTER TABLE
        Fixed an old test result.
        Added the new test result.
      mysql-test/t/innodb.test:
        Bug#18477 - MySQL/InnoDB Ignoring Foreign Keys in ALTER TABLE
        Added the new test case.
      sql/sql_lex.h:
        Bug#18477 - MySQL/InnoDB Ignoring Foreign Keys in ALTER TABLE
        Added a flag for foreign key definition changes.
      sql/sql_table.cc:
        Bug#18477 - MySQL/InnoDB Ignoring Foreign Keys in ALTER TABLE
        Check for foreign key definition changes in 
        compare_tables(). If present, a table rebuild is required.
      sql/sql_yacc.yy:
        Bug#18477 - MySQL/InnoDB Ignoring Foreign Keys in ALTER TABLE
        Marked foreign key definitions with the new flag.
        This flag is tested in ALTER TABLE only. It is
        ignored otherwise.
      5569a87e
  25. 10 Mar, 2006 1 commit
    • unknown's avatar
      Applied innodb-5.1-ss269 snapshot. · 050f14ac
      unknown authored
        Fixed BUGS:
        #3300: "UPDATE statement with no index column in where condition locks
          all rows"
          Implement semi-consistent read to reduce lock conflicts at the cost
          of breaking serializability.
          ha_innobase::unlock_row(): reset the "did semi consistent read" flag
          ha_innobase::was_semi_consistent_read(),
          ha_innobase::try_semi_consistent_read(): new methods
          row_prebuilt_t, row_create_prebuilt(): add field row_read_type for
          keeping track of semi-consistent reads
          row_vers_build_for_semi_consistent_read(),
          row_sel_build_committed_vers_for_mysql(): new functions
          row_search_for_mysql(): implement semi-consistent reads
      
        #9802: "Foreign key checks disallow alter table".
          Added test cases.
      
        #12456: "Cursor shows incorrect data - DML does not affect,
          probably caching"
          This patch implements a high-granularity read view to be used with
          cursors. In this high-granularity consistent read view modifications 
          done by the creating transaction after the cursor is created or 
         future transactions are not visible. But those modifications that 
         transaction did before the cursor was created are visible.
      
        #12701: "Support >4GB buffer pool and log files on 64-bit Windows"
          Do not call os_file_create_tmpfile() at runtime. Instead, create all
          tempfiles at startup and guard access to them with mutexes.
      
        #13778: "If FOREIGN_KEY_CHECKS=0, one can create inconsistent FOREIGN KEYs".
          When FOREIGN_KEY_CHECKS=0 we still need to check that datatypes between
          foreign key references are compatible.
      
        #14189: "VARBINARY and BINARY variables: trailing space ignored with InnoDB"
          innobase_init(): Assert that
          DATA_MYSQL_BINARY_CHARSET_COLL == my_charset_bin.number.
          dtype_get_pad_char(): Do not pad VARBINARY or BINARY columns.
          row_ins_cascade_calc_update_vec(): Refuse ON UPDATE CASCADE when trying
          to change the length of a VARBINARY column that refers to or is referenced
          by a BINARY column. BINARY columns are no longer padded on comparison,
          and thus they cannot be padded on storage either.
      
        #14747: "Race condition can cause btr_search_drop_page_hash_index() to crash"
          Note that buf_block_t::index should be protected by btr_search_latch
          or an s-latch or x-latch on the index page.
          btr_search_drop_page_hash_index(): Read block->index while holding
          btr_search_latch and use the cached value in the loop.  Remove some
          redundant assertions.
      
        #15108: "mysqld crashes when innodb_log_file_size is set > 4G"
      
        #15308: "Problem of Order with Enum Column in Primary Key"
      
        #15550: "mysqld crashes in printing a FOREIGN KEY error in InnoDB"
          row_ins_foreign_report_add_err(): When printing the parent record,
          use the index in the parent table rather than the index in the child table.
      
        #15653: "Slow inserts to InnoDB if many thousands of .ibd files"
          Keep track on unflushed modifications to file spaces.  When there are tens
          of thousands of file spaces, flushing all files in fil_flush_file_spaces()
          would be very slow.
          fil_flush_file_spaces(): Only flush unflushed file spaces.
          fil_space_t, fil_system_t: Add a list of unflushed spaces.
      
        #15991: "innodb-file-per-table + symlink database + rename = cr"
         os_file_handle_error(): Map the error codes EXDEV, ENOTDIR, and EISDIR
         to the new code OS_FILE_PATH_ERROR. Treat this code as OS_FILE_PATH_ERROR.
         This fixes the crash on RENAME TABLE when the .ibd file is a symbolic link
         to a different file system.
      
        #16157: "InnoDB crashes when main location settings are empty"
          This patch is from Heikki.
      
        #16298: "InnoDB segfaults in INSERTs in upgrade of 4.0 -> 5.0 tables
          with VARCHAR BINARY"
          dict_load_columns(): Set the charset-collation code
          DATA_MYSQL_BINARY_CHARSET_COLL for those binary string columns
          that lack a charset-collation code, i.e., the tables were created
          with an older version of MySQL/InnoDB than 4.1.2.
      
        #16229: "MySQL/InnoDB uses full explicit table locks in trigger processing"
          Take a InnoDB table lock only if user has explicitly requested a table
          lock. Added some additional comments to store_lock() and external_lock().
      
        #16387: "InnoDB crash when dropping a foreign key <table>_ibfk_0"
          Do not mistake TABLENAME_ibfk_0 for auto-generated id.
          dict_table_get_highest_foreign_id(): Ignore foreign constraint
          identifiers starting with the pattern TABLENAME_ibfk_0.
      
        #16582: "InnoDB: Error in an adaptive hash index pointer to page"
          Account for a race condition when dropping the adaptive hash index
          for a B-tree page.
          btr_search_drop_page_hash_index(): Retry the operation if a hash index
          with different parameters was built meanwhile.  Add diagnostics for the
          case that hash node pointers to the page remain.
          btr_search_info_update_hash(), btr_search_info_update_slow():
          Document the parameter "info" as in/out.
      
        #16814: "SHOW INNODB STATUS format error in LATEST FOREIGN KEY ERROR
          section"
          Add a missing newline to the LAST FOREIGN KEY ERROR section in SHOW
          INNODB STATUS output.
          dict_foreign_error_report(): Always print a newline after invoking
          dict_print_info_on_foreign_key_in_create_format().
      
        #16827: "Better InnoDB error message if ibdata files omitted from my.cnf"
      
        #17126: "CHECK TABLE on InnoDB causes a short hang during check of adaptive
          hash"
          CHECK TABLE blocking other queries, by releasing the btr_search_latch
          periodically during the adaptive hash table validation.
      
        #17405: "Valgrind: conditional jump or move depends on unititialised values"
          buf_block_init(): Reset magic_n, buf_fix_count and io_fix to avoid
          testing uninitialized variables.
      
      
      
      mysql-test/r/innodb.result:
        Applied innodb-5.1-ss269 snapshot.
      mysql-test/t/innodb.test:
        Applied innodb-5.1-ss269 snapshot.
      sql/ha_innodb.cc:
        Applied innodb-5.1-ss269 snapshot.
      sql/ha_innodb.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/btr/btr0btr.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/btr/btr0cur.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/btr/btr0pcur.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/btr/btr0sea.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/buf/buf0buf.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/buf/buf0flu.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/buf/buf0lru.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/buf/buf0rea.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/data/data0data.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/data/data0type.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/dict/dict0boot.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/dict/dict0crea.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/dict/dict0dict.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/dict/dict0load.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/dict/dict0mem.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/dyn/dyn0dyn.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/eval/eval0eval.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/eval/eval0proc.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/fil/fil0fil.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/fsp/fsp0fsp.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/fut/fut0lst.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/ha/ha0ha.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/ha/hash0hash.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/ibuf/ibuf0ibuf.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/btr0btr.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/btr0btr.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/btr0cur.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/btr0cur.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/btr0pcur.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/btr0pcur.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/btr0sea.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/btr0sea.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/btr0types.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/buf0buf.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/buf0buf.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/buf0flu.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/buf0flu.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/buf0lru.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/data0data.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/data0data.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/data0type.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/data0type.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/db0err.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/dict0boot.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/dict0boot.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/dict0crea.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/dict0dict.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/dict0dict.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/dict0load.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/dict0mem.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/dyn0dyn.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/dyn0dyn.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/eval0eval.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/eval0eval.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/eval0proc.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/eval0proc.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/fil0fil.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/fsp0fsp.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/fut0lst.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/ha0ha.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/hash0hash.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/hash0hash.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/ibuf0ibuf.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/ibuf0ibuf.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/lock0lock.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/lock0types.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/log0log.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/log0log.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/log0recv.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/mach0data.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/mach0data.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/mem0dbg.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/mem0dbg.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/mem0mem.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/mem0mem.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/mem0pool.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/mtr0log.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/mtr0mtr.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/mtr0mtr.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/os0file.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/os0proc.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/os0sync.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/os0sync.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/os0thread.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/page0cur.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/page0cur.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/page0page.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/page0page.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/page0types.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/pars0grm.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/pars0opt.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/pars0pars.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/pars0sym.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/pars0types.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/que0que.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/que0que.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/que0types.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/read0read.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/read0read.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/rem0cmp.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/rem0cmp.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/rem0rec.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/rem0rec.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/row0ins.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/row0mysql.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/row0purge.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/row0row.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/row0row.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/row0sel.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/row0sel.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/row0types.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/row0uins.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/row0umod.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/row0undo.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/row0upd.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/row0upd.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/row0vers.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/srv0srv.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/srv0start.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/sync0arr.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/sync0rw.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/sync0rw.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/sync0sync.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/sync0sync.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/trx0purge.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/trx0purge.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/trx0rec.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/trx0roll.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/trx0rseg.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/trx0rseg.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/trx0sys.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/trx0sys.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/trx0trx.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/trx0trx.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/trx0types.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/trx0undo.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/trx0undo.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/trx0xa.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/univ.i:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/usr0sess.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/usr0types.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/ut0byte.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/ut0byte.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/ut0dbg.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/ut0lst.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/ut0mem.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/ut0mem.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/ut0rnd.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/ut0rnd.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/ut0sort.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/ut0ut.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/include/ut0ut.ic:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/lock/lock0lock.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/log/log0log.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/log/log0recv.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/mach/mach0data.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/mem/mem0dbg.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/mem/mem0mem.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/mem/mem0pool.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/mtr/mtr0log.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/mtr/mtr0mtr.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/os/os0file.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/os/os0proc.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/os/os0sync.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/os/os0thread.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/page/page0cur.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/page/page0page.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/pars/lexyy.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/pars/pars0grm.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/pars/pars0grm.h:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/pars/pars0grm.y:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/pars/pars0lex.l:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/pars/pars0opt.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/pars/pars0pars.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/pars/pars0sym.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/que/que0que.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/read/read0read.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/rem/rem0cmp.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/rem/rem0rec.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/row/row0ins.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/row/row0mysql.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/row/row0purge.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/row/row0row.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/row/row0sel.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/row/row0uins.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/row/row0umod.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/row/row0undo.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/row/row0upd.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/row/row0vers.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/srv/srv0que.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/srv/srv0srv.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/srv/srv0start.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/sync/sync0arr.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/sync/sync0rw.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/sync/sync0sync.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/thr/thr0loc.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/trx/trx0purge.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/trx/trx0rec.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/trx/trx0roll.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/trx/trx0rseg.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/trx/trx0sys.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/trx/trx0trx.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/trx/trx0undo.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/usr/usr0sess.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/ut/ut0byte.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/ut/ut0dbg.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/ut/ut0mem.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/ut/ut0rnd.c:
        Applied innodb-5.1-ss269 snapshot.
      storage/innobase/ut/ut0ut.c:
        Applied innodb-5.1-ss269 snapshot.
      mysql-test/r/innodb_unsafe_binlog.result:
        New BitKeeper file ``mysql-test/r/innodb_unsafe_binlog.result''
      mysql-test/t/innodb_unsafe_binlog-master.opt:
        New BitKeeper file ``mysql-test/t/innodb_unsafe_binlog-master.opt''
      mysql-test/t/innodb_unsafe_binlog.test:
        New BitKeeper file ``mysql-test/t/innodb_unsafe_binlog.test''
      storage/innobase/pars/make_bison.sh:
        New BitKeeper file ``storage/innobase/pars/make_bison.sh''
      050f14ac
  26. 24 Feb, 2006 1 commit
    • unknown's avatar
      Fixes to embedded server to be able to run tests with it · 0afb6ff6
      unknown authored
      (Needed for "list of pushes" web page and autopush)
      
      
      include/mysql.h:
        Fix to embedded server to be able to run tests on it
      libmysql/libmysql.c:
        Fix to embedded server to be able to run tests on it
      libmysqld/emb_qcache.cc:
        Fix to embedded server to be able to run tests on it
      libmysqld/embedded_priv.h:
        Fix to embedded server to be able to run tests on it
      libmysqld/lib_sql.cc:
        Fix to embedded server to be able to run tests on it
      libmysqld/libmysqld.c:
        Fix to embedded server to be able to run tests on it
      mysql-test/mysql-test-run.sh:
        Fix to embedded server to be able to run tests on it
      mysql-test/r/binlog.result:
        Updated test for embedded server
      mysql-test/r/ctype_cp932.result:
        Updated test for embedded server
      mysql-test/r/innodb.result:
        Updated test for embedded server
      mysql-test/r/mysqltest.result:
        Updated test for embedded server
      mysql-test/r/query_cache.result:
        Updated test for embedded server
      mysql-test/r/query_cache_notembedded.result:
        Updated test for embedded server
      mysql-test/r/sp-error.result:
        Updated test for embedded server
      mysql-test/r/sp.result:
        Updated test for embedded server
      mysql-test/r/subselect.result:
        Updated test for embedded server
      mysql-test/r/view.result:
        Updated test for embedded server
      mysql-test/r/view_grant.result:
        Updated test for embedded server
      mysql-test/t/backup.test:
        Updated test for embedded server
      mysql-test/t/binlog.test:
        Updated test for embedded server
      mysql-test/t/blackhole.test:
        Updated test for embedded server
      mysql-test/t/compress.test:
        Updated test for embedded server
      mysql-test/t/ctype_cp932.test:
        Updated test for embedded server
      mysql-test/t/delayed.test:
        Updated test for embedded server
      mysql-test/t/handler.test:
        Updated test for embedded server
      mysql-test/t/innodb.test:
        Updated test for embedded server
      mysql-test/t/mysql.test:
        Updated test for embedded server
      mysql-test/t/mysql_client_test.test:
        Updated test for embedded server
      mysql-test/t/mysqltest.test:
        Updated test for embedded server
      mysql-test/t/query_cache.test:
        Updated test for embedded server
      mysql-test/t/query_cache_notembedded.test:
        Updated test for embedded server
      mysql-test/t/read_only.test:
        Updated test for embedded server
      mysql-test/t/skip_grants.test:
        Updated test for embedded server
      mysql-test/t/sp-destruct.test:
        Updated test for embedded server
      mysql-test/t/sp-error.test:
        Updated test for embedded server
      mysql-test/t/sp-threads.test:
        Updated test for embedded server
      mysql-test/t/sp.test:
        Updated test for embedded server
      mysql-test/t/subselect.test:
        Updated test for embedded server
      mysql-test/t/temp_table.test:
        Updated test for embedded server
      mysql-test/t/view.test:
        Updated test for embedded server
      mysql-test/t/view_grant.test:
        Updated test for embedded server
      mysql-test/t/wait_timeout.test:
        Updated test for embedded server
      mysys/mf_dirname.c:
        Review fix: Don't access data outside of array
      mysys/my_bitmap.c:
        Remove compiler warnings
      scripts/mysql_fix_privilege_tables.sql:
        Add flush privileges to .sql script so that one doesn't have to reboot mysqld when one runs the mysql_fix_privilege_script
      sql-common/client.c:
        Updated test for embedded server
      sql/item.cc:
        Remove DBUG_PRINT statement that can cause crashes when running with --debug
      sql/mysqld.cc:
        Fix to embedded server to be able to run tests on it
      sql/protocol.cc:
        Fix to embedded server to be able to run tests on it
        (Trivial reconstruction of code)
      sql/protocol.h:
        Fix to embedded server to be able to run tests on it
      sql/sql_base.cc:
        Better comment
      sql/sql_class.cc:
        Fix to embedded server to be able to run tests on it
      sql/sql_class.h:
        Fix to embedded server to be able to run tests on it
      sql/sql_cursor.cc:
        Fix to embedded server to be able to run tests on it
      sql/sql_parse.cc:
        Fix to embedded server to be able to run tests on it
        Don't crash for disabled commands when using embedded server
      sql/sql_prepare.cc:
        Fix to embedded server to be able to run tests on it
      mysql-test/r/ctype_cp932_notembedded.result:
        New BitKeeper file ``mysql-test/r/ctype_cp932_notembedded.result''
      mysql-test/r/innodb_notembedded.result:
        New BitKeeper file ``mysql-test/r/innodb_notembedded.result''
      mysql-test/r/sp.result.orig:
        New BitKeeper file ``mysql-test/r/sp.result.orig''
      mysql-test/r/sp_notembedded.result:
        New BitKeeper file ``mysql-test/r/sp_notembedded.result''
      mysql-test/r/subselect_notembedded.result:
        New BitKeeper file ``mysql-test/r/subselect_notembedded.result''
      mysql-test/t/ctype_cp932_notembedded.test:
        New BitKeeper file ``mysql-test/t/ctype_cp932_notembedded.test''
      mysql-test/t/innodb_notembedded.test:
        New BitKeeper file ``mysql-test/t/innodb_notembedded.test''
      mysql-test/t/sp.test.orig:
        New BitKeeper file ``mysql-test/t/sp.test.orig''
      mysql-test/t/sp_notembedded.test:
        New BitKeeper file ``mysql-test/t/sp_notembedded.test''
      mysql-test/t/subselect_notembedded.test:
        New BitKeeper file ``mysql-test/t/subselect_notembedded.test''
      0afb6ff6
  27. 22 Feb, 2006 1 commit
    • unknown's avatar
      Bug#10460 SHOW CREATE TABLE uses inconsistent upper/lower case · 31a7a0d6
      unknown authored
      mysql-test/r/alter_table.result:
        Update test result
      mysql-test/r/analyse.result:
        Update test result
      mysql-test/r/archive.result:
        Update test result
      mysql-test/r/archive_bitfield.result:
        Update test result
      mysql-test/r/archive_gis.result:
        Update test result
      mysql-test/r/bdb.result:
        Update test result
      mysql-test/r/bdb_gis.result:
        Update test result
      mysql-test/r/bigint.result:
        Update test result
      mysql-test/r/binary.result:
        Update test result
      mysql-test/r/case.result:
        Update test result
      mysql-test/r/cast.result:
        Update test result
      mysql-test/r/constraints.result:
        Update test result
      mysql-test/r/create.result:
        Update test result
      mysql-test/r/ctype_collate.result:
        Update test result
      mysql-test/r/ctype_create.result:
        Update test result
      mysql-test/r/ctype_latin1_de.result:
        Update test result
      mysql-test/r/ctype_many.result:
        Update test result
      mysql-test/r/ctype_mb.result:
        Update test result
      mysql-test/r/ctype_recoding.result:
        Update test result
      mysql-test/r/ctype_sjis.result:
        Update test result
      mysql-test/r/ctype_tis620.result:
        Update test result
      mysql-test/r/ctype_ucs.result:
        Update test result
      mysql-test/r/ctype_ujis.result:
        Update test result
      mysql-test/r/ctype_utf8.result:
        Update test result
      mysql-test/r/default.result:
        Update test result
      mysql-test/r/events.result:
        Update test result
      mysql-test/r/federated.result:
        Update test result
      mysql-test/r/fulltext.result:
        Update test result
      mysql-test/r/func_gconcat.result:
        Update test result
      mysql-test/r/func_group.result:
        Update test result
      mysql-test/r/func_math.result:
        Update test result
      mysql-test/r/func_misc.result:
        Update test result
      mysql-test/r/func_str.result:
        Update test result
      mysql-test/r/func_system.result:
        Update test result
      mysql-test/r/gis-rtree.result:
        Update test result
      mysql-test/r/heap.result:
        Update test result
      mysql-test/r/index_merge_innodb.result:
        Update test result
      mysql-test/r/information_schema.result:
        Update test result
      mysql-test/r/innodb.result:
        Update test result
      mysql-test/r/innodb_gis.result:
        Update test result
      mysql-test/r/key.result:
        Update test result
      mysql-test/r/merge.result:
        Update test result
      mysql-test/r/myisam.result:
        Update test result
      mysql-test/r/mysqldump-max.result:
        Update test result
      mysql-test/r/mysqldump.result:
        Update test result
      mysql-test/r/ndb_bitfield.result:
        Update test result
      mysql-test/r/ndb_gis.result:
        Update test result
      mysql-test/r/ndb_partition_key.result:
        Update test result
      mysql-test/r/null.result:
        Update test result
      mysql-test/r/partition.result:
        Update test result
      mysql-test/r/partition_02myisam.result:
        Update test result
      mysql-test/r/partition_mgm_err.result:
        Update test result
      mysql-test/r/partition_range.result:
        Update test result
      mysql-test/r/ps_2myisam.result:
        Update test result
      mysql-test/r/ps_3innodb.result:
        Update test result
      mysql-test/r/ps_4heap.result:
        Update test result
      mysql-test/r/ps_5merge.result:
        Update test result
      mysql-test/r/ps_6bdb.result:
        Update test result
      mysql-test/r/rpl_mixed_ddl_dml.result:
        Update test result
      mysql-test/r/rpl_multi_engine.result:
        Update test result
      mysql-test/r/rpl_ndb_UUID.result:
        Update test result
      mysql-test/r/show_check.result:
        Update test result
      mysql-test/r/sp-vars.result:
        Update test result
      mysql-test/r/sp.result:
        Update test result
      mysql-test/r/sql_mode.result:
        Update test result
      mysql-test/r/strict.result:
        Update test result
      mysql-test/r/subselect.result:
        Update test result
      mysql-test/r/symlink.result:
        Update test result
      mysql-test/r/synchronization.result:
        Update test result
      mysql-test/r/system_mysql_db.result:
        Update test result
      mysql-test/r/temp_table.result:
        Update test result
      mysql-test/r/trigger.result:
        Update test result
      mysql-test/r/type_binary.result:
        Update test result
      mysql-test/r/type_bit.result:
        Update test result
      mysql-test/r/type_bit_innodb.result:
        Update test result
      mysql-test/r/type_blob.result:
        Update test result
      mysql-test/r/type_decimal.result:
        Update test result
      mysql-test/r/type_enum.result:
        Update test result
      mysql-test/r/type_float.result:
        Update test result
      mysql-test/r/type_nchar.result:
        Update test result
      mysql-test/r/type_newdecimal.result:
        Update test result
      mysql-test/r/type_set.result:
        Update test result
      mysql-test/r/type_timestamp.result:
        Update test result
      mysql-test/r/type_varchar.result:
        Update test result
      mysql-test/r/union.result:
        Update test result
      mysql-test/r/user_var.result:
        Update test result
      mysql-test/r/variables.result:
        Update test result
      sql/sql_show.cc:
        Make ouput from SHOW CREATE TABLE use uppercase for "CHARACTER SET", "COLLATE", "DEFAULT", "ON UPDATE" and "AUTO_INCREMENT"
      31a7a0d6
  28. 09 Feb, 2006 1 commit
  29. 02 Feb, 2006 1 commit
    • unknown's avatar
      Remove extra space in SHOW CREATE TABLE output. (Bug #13883) · 80abbcd0
      unknown authored
      mysql-test/r/alter_table.result:
        Update test results
      mysql-test/r/archive_bitfield.result:
        Update test results
      mysql-test/r/create.result:
        Update test results
      mysql-test/r/ctype_tis620.result:
        Update test results
      mysql-test/r/gis-rtree.result:
        Update test results
      mysql-test/r/index_merge_innodb.result:
        Update test results
      mysql-test/r/information_schema.result:
        Update test results
      mysql-test/r/innodb.result:
        Update test results
      mysql-test/r/key.result:
        Update test results
      mysql-test/r/merge.result:
        Update test results
      mysql-test/r/partition.result:
        Update test results
      mysql-test/r/partition_range.result:
        Update test results
      mysql-test/r/rpl000002.result:
        Update test results
      mysql-test/r/rpl_multi_engine.result:
        Update test results
      mysql-test/r/show_check.result:
        Update test results
      mysql-test/r/sql_mode.result:
        Update test results
      mysql-test/r/strict.result:
        Update test results
      mysql-test/r/symlink.result:
        Update test results
      mysql-test/r/system_mysql_db.result:
        Update test results
      mysql-test/r/type_blob.result:
        Update test results
      sql/sql_show.cc:
        Avoid adding extra space between 'PRIMARY KEY' and key fields in
        SHOW CREATE TABLE output.
      80abbcd0
  30. 01 Feb, 2006 1 commit
    • unknown's avatar
      Bug#8841 - CHECKSUM TABLE is broken in MyISAM · 08394605
      unknown authored
      There are (at least) two implementations of the checksum
      computation. One is in MyISAM for the quick checksum. It
      is executed on every row change. The other is in the
      SQL layer for the extended checksum. It retrieves all rows
      of a table via the respective storage engine.
      
      In former MySQL versions varchars were stored with their 
      maximum length, but now with their real length similar to
      blobs.
      
      This change had been forgotten to take care of in the
      extended checksum calculation. Hence too much data was
      checksumed. In MyISAM this change had been taken care of 
      already. Only the real data is included in the checksum.
      
      I changed mysql_checksum_table() so that it uses the
      length information of true varchar fields instead
      of the field length like in former varchar 
      implementations.
      
      
      mysql-test/r/innodb.result:
        Bug#8841 - CHECKSUM TABLE is broken in MyISAM
        Fixed test results.
      mysql-test/r/myisam.result:
        Bug#8841 - CHECKSUM TABLE is broken in MyISAM
        Fixed test results.
      sql/sql_table.cc:
        Bug#8841 - CHECKSUM TABLE is broken in MyISAM
        Changed mysql_checksum_table() so that it uses the
        length information of true varchar fields instead
        of the field length like in former varchar 
        implementations.
      08394605
  31. 31 Jan, 2006 1 commit
    • unknown's avatar
      Fixed: BUG#15653, BUG#16157, BUG#16229, BUG#16298, BUG#16387, BUG#16582. · 6a9a96dc
      unknown authored
        Applied innodb-5.0-ss149/162 snapshots.
      
      
      innobase/btr/btr0sea.c:
        Applied innodb-5.0-149/162 snapshots.
          Account for a race condition when dropping the adaptive hash
          index for a B-tree page (Bug #16582).
          btr_search_drop_page_hash_index(): Retry the operation if a
            hash index with different parameters was built meanwhile.
            Add diagnostics for the case that hash node pointers to
            the page remain. This fix is from Heikki.
          btr_search_info-update_hash(), btr_search_info_update_slow():
            Document the parameter "info" as in/out.
      innobase/dict/dict0dict.c:
        Applied innodb-5.0-149/162 snapshots.
          Do not mistake TABLENAME_ibfk_0 for auto generated id (Bug #16387).
          dict_table_get_highest_foreign_id(): Ignore foreign constraint
            identifiers starting with the pattern TABLENAME_ibfk_0.
      innobase/dict/dict0load.c:
        Applied innodb-5.0-149/162 snapshots.
          dict_load_columns(): Set the charset-collation code
          DATA_MYSQL_BINARY_CHARSET_COLL for those binary string columns
          that lack a charset-collation code, i.e., the tables were created
          with an older version of MySQL/InnoDB than 4.1.2 (Bug #16298).
      innobase/fil/fil0fil.c:
        Applied innodb-5.0-149/162 snapshots.
          Keep track on unflushed modifications to file spaces. When there
          are tens of thousands of file spaces, flushing all files in
          fil_flush_file_spaces() would be very slow (Bug #15653).
          fil_flush_file_spaces(): Only flush unflushed file spaces.
          fil_space_t, fil_system_t: Add a list of unflushed spaces.
      innobase/include/univ.i:
        Applied innodb-5.0-149/162 snapshots.
          Avoid breaking --with-debug builds on QNS and other systems
          whose compiler pretends to be GCC 2.
          Outside __WIN__ define UNIV_INLINE as static inline.
      innobase/os/os0sync.c:
        Applied innodb-5.0-149/162 snapshots.
          Replace goto in os_event_wait with a normal loop.
      innobase/srv/srv0start.c:
        Applied innodb-5.0-149/162 snapshots.
          Fix bug #16157, a crash when innodb_log_group_home_dir is set
          to an empty string. This patch is from Heikki.
      mysql-test/r/innodb.result:
        Applied innodb-5.0-149/162 snapshots.
          Fixed results for added test cases.
      mysql-test/t/innodb.test:
        Applied innodb-5.0-149/162 snapshots.
          Added test cases.
      sql/ha_innodb.cc:
        Applied innodb-5.0-149/162 snapshots.
          Remove some declarations of unused global variables and member
            variables of class ha_innobase.
          Added diagnostic code trx_print() to
            innobase_query_caching_of_table_permitted() to find reason
            why we are holding adaptive search latch.
          Fixed bug #16229 MySQL/InnoDB uses full explicit table locks
            in trigger processing. Take a InnoDB table lock only if user
            has explicitly requested a table lock. Added some additional
            comments to store_lock() and external_lock(). Fixed some
            code style errors.
          Remember to use noninlined versions of the functions on
            ha_innodb.cc !
      sql/ha_innodb.h:
        Applied innodb-5.0-149/162 snapshots.
          Remove some declarations of unused global variables and member
          variables of class ha_innobase.
      6a9a96dc
  32. 30 Jan, 2006 1 commit
    • unknown's avatar
      Fixed BUG#16387. · cc47eb77
      unknown authored
        Applied innodb-4.1-ss17 snapshot.
        Do not mistake TABLENAME_ibfk_0 for auto-generated id.
      
      
      innobase/dict/dict0dict.c:
        Applied innodb-4.1-ss17 snapshot.
          dict_table_get_highest_foreign_id(): Ignore foreign
          constraint identifiers starting with the pattern
          TABLENAME_ibfk_0 (BUG#16387).
      mysql-test/r/innodb.result:
        Applied innodb-4.1-ss17 snapshot.
          Fixed results for added test case.
      mysql-test/t/innodb.test:
        Applied innodb-4.1-ss17 snapshot.
          Added test case.
      cc47eb77
  33. 23 Jan, 2006 1 commit
  34. 19 Jan, 2006 1 commit
    • unknown's avatar
      Embedded-server related tests fixes · 6731dd63
      unknown authored
      BitKeeper/deleted/.del-ctype_cp932_notembedded.test~7c748e8e7ae6e7fe:
        Delete: mysql-test/t/ctype_cp932_notembedded.test
      mysql-test/r/innodb.result:
        result fixed
      mysql-test/r/query_cache.result:
        result fixed
      mysql-test/r/query_cache_notembedded.result:
        result fixed
      mysql-test/r/sp-error.result:
        result fixed
      mysql-test/r/sp.result:
        result fixed
      mysql-test/r/view.result:
        result fixed
      mysql-test/r/view_grant.result:
        result fixed
      mysql-test/t/sp-destruct.test:
        test disabled
      mysql-test/t/view.test:
        lines moved to view_grant.test
      mysql-test/t/view_grant.test:
        lines moved from view.test
      6731dd63
  35. 18 Jan, 2006 1 commit
    • unknown's avatar
      Applied patch recieved from Marko: · e3f0690d
      unknown authored
       Make innodb_thread_concurrency 0 by default, and extend the usable
       range from 0 to 1000 (0 disables the thread throttling).
      
      
      innobase/include/srv0srv.h:
        Remove SRV_CONCURRENCY_THRESHOLD. The magic value is 0 from now on.
      innobase/srv/srv0srv.c:
        Remove SRV_CONCURRENCY_THRESHOLD. The magic value is 0 from now on.
      mysql-test/r/innodb.result:
        innodb_thread_concurrency is 0..1000 now, and the default is 0.
      mysql-test/t/innodb.test:
        innodb_thread_concurrency is 0..1000 now.
      sql/ha_innodb.cc:
        Remove SRV_CONCURRENCY_THRESHOLD. The magic value is 0 from now on.
      sql/mysqld.cc:
        innodb_thread_concurrency is 0..1000 now, and 0 (the default)
         disables the thread throttling.
      e3f0690d
  36. 16 Jan, 2006 1 commit
    • unknown's avatar
      Changes from the innodb-5.0-ss115 snapshot. · 7bafd119
      unknown authored
       Fixed bugs:
       BUG#15991: "innodb-file-per-table + symlink database + rename = crash"
       BUG#15650: "DELETE with LEFT JOIN crashes server"
       BUG#15308: "Problem of Order with Enum Column in Primary Key"
       BUG#14189: "VARBINARY and BINARY variables: trailing space ignored"
      
      
      innobase/include/data0type.h:
        Changes from the innodb-5.0-ss115 snapshot.
      innobase/include/data0type.ic:
        Changes from the innodb-5.0-ss115 snapshot.
         Fixed bug #14189. dtype_get_pad_char(): Do not pad VARBINARY
         or BINARY cloumns.
      innobase/include/lock0lock.h:
        Changes from the innodb-5.0-ss115 snapshot.
      innobase/include/os0file.h:
        Changes from the innodb-5.0-ss115 snapshot.
         os_file_handle_error(): Map the error codes EXDEV, ENOTDIR, and
         EISDIR to the new code OS_FILE_PATH_ERROR. Treat this code as
         OS_FILE_PATH_ERROR. This fixes the crash on RENAME TABLE when
         the .ibd file is a symbolic link to a different file system
         (bug#15991).
      innobase/include/row0mysql.h:
        Changes from the innodb-5.0-ss115 snapshot.
      innobase/lock/lock0lock.c:
        Changes from the innodb-5.0-ss115 snapshot.
         lock_rec_unlock(): Initialize local variable release_lock,
         in order to avoid dereferencing an uninitialized pointer
         when no lock exists on rec.
      innobase/os/os0file.c:
        Changes from the innodb-5.0-ss115 snapshot.
         os_file_handle_error(): Map the error codes EXDEV, ENOTDIR, and
           EISDIR to the new code OS_FILE_PATH_ERROR. Treat this code as
           OS_FILE_PATH_ERROR. This fixes the crash on RENAME TABLE when
           the .ibd file is a symbolic link to a different file system
           (bug#15991).
         Protect the increment and decrement operations on the statistic
           variables os_n_pending_writes/reads with os_file_count_mutes.
      innobase/row/row0ins.c:
        Changes from the innodb-5.0-ss115 snapshot.
         Fixed bug #14189. row_ins_cascade_calc_update_vec(): Refuse
         ON UPDATE_CASCADE when trying to change the length of of a
         VARBINARY column that refers to or is referenced by a BINARY
         column. BINARY columns are no longer padded on comparison,
         and thus they cannot be padded on storage either.
      innobase/row/row0mysql.c:
        Changes from the innodb-5.0-ss115 snapshot.
         Fixed bug on unlock_row. In a unlock_row we may unlock
         only the latest lock granted to this transaction to the row.
      innobase/row/row0sel.c:
        Changes from the innodb-5.0-ss115 snapshot.
         Fixed bug #15308.
         Fixed bug #14189: innobase_init(): Assert that
           DATA_MYSQL_BINARY_CHARSET_COLL == my_charset_bin.number.
         After review fixes for unlock bug where unlock released all
           locks transaction requested for a row. Only a latest requested
           lock to a row should be released. Update function comments to
           reflect current state. Persistent cursor should be stored
           whenever select lock type != LOCK_NONE.
      innobase/trx/trx0trx.c:
        Changes from the innodb-5.0-ss115 snapshot.
         trx_commit_off_kernel(): Do not write empty trx->mysql_log_file_name.
      mysql-test/r/innodb.result:
        Changes from the innodb-5.0-ss115 snapshot.
      mysql-test/t/innodb.test:
        Changes from the innodb-5.0-ss115 snapshot.
      sql/ha_innodb.cc:
        Changes from the innodb-5.0-ss115 snapshot.
         Fixed bug #15308.
         Fixed bug #14189: innobase_init(): Assert that
           DATA_MYSQL_BINARY_CHARSET_COLL == my_charset_bin.number.
         After review fixes for unlock bug where unlock released all
           locks transaction requested for a row. Only a latest requested
           lock to a row should be released. Update function comments to
           reflect current state. Persistent cursor should be stored
           whenever select lock type != LOCK_NONE.
      mysql-test/r/innodb_unsafe_binlog.result:
        Changes from the innodb-5.0-ss115 snapshot.
      mysql-test/t/innodb_unsafe_binlog-master.opt:
        Changes from the innodb-5.0-ss115 snapshot.
      mysql-test/t/innodb_unsafe_binlog.test:
        Changes from the innodb-5.0-ss115 snapshot.
         Added testcases for bug #15650.
      7bafd119
  37. 15 Jan, 2006 1 commit
    • unknown's avatar
      Changes from innodb-4.1-ss14 snapshot · 5497a05a
      unknown authored
       Fixed BUG#14056: Column prefix index on UTF-8 primary key
       causes "Can't find record.."
       Also fixed bug 15991.
      
      
      innobase/include/os0file.h:
        Changes from innodb-4.1-ss14 snapshot
         os_file_hadle_error(): Map the error codes EXDEV, ENOTDIR, and EISDIR
         to the new code OS_FILE_PATH_ERROR. Treat this code as OS_FILE_PATH_ERROR.
         This fixes the crash on RENAME TABLE when the .ibd file is a symbolic
         link to a different file system. (Bug 15991)
      innobase/os/os0file.c:
        Changes from innodb-4.1-ss14 snapshot
         os_file_hadle_error(): Map the error codes EXDEV, ENOTDIR, and EISDIR
         to the new code OS_FILE_PATH_ERROR. Treat this code as OS_FILE_PATH_ERROR.
         This fixes the crash on RENAME TABLE when the .ibd file is a symbolic
         link to a different file system. (Bug 15991)
      mysql-test/r/innodb.result:
        Changes from innodb-4.1-ss14 snapshot
         Fixed BUG#14056: Column prefix index on UTF-8 primary key
         causes "Can't find record.."
      mysql-test/t/innodb.test:
        Changes from innodb-4.1-ss14 snapshot
         Fixed BUG#14056: Column prefix index on UTF-8 primary key
         causes "Can't find record.."
      sql/ha_innodb.cc:
        Changes from innodb-4.1-ss14 snapshot
         Fixed BUG#14056: Column prefix index on UTF-8 primary key
         causes "Can't find record.."
      5497a05a