1. 11 Dec, 2007 1 commit
    • unknown's avatar
      Bug#30273 - merge tables: Can't lock file (errno: 155) · e223c320
      unknown authored
      The patch for Bug 26379 (Combination of FLUSH TABLE and
      REPAIR TABLE corrupts a MERGE table) fixed this bug too.
      However it revealed a new bug that crashed the server.
      
      Flushing a merge table at the moment when it is between open
      and attach of children crashed the server.
      
      The flushing thread wants to abort locks on the flushed table.
      It calls ha_myisammrg::lock_count() and ha_myisammrg::store_lock()
      on the TABLE object of the other thread.
      
      Changed ha_myisammrg::lock_count() and ha_myisammrg::store_lock()
      to accept non-attached children. ha_myisammrg::lock_count() returns
      the number of MyISAM tables in the MERGE table so that the memory
      allocation done by get_lock_data() is done correctly, even if the
      children become attached before ha_myisammrg::store_lock() is
      called. ha_myisammrg::store_lock() will not return any lock if the
      children are not attached.
      
      This is however a change in the handler interface. lock_count()
      can now return a higher number than store_lock() stores locks.
      This is more safe than the reverse implementation would be.
      get_lock_data() in the SQL layer is adjusted accordingly. It sets
      MYSQL_LOCK::lock_count based on the number of locks returned by
      the handler::store_lock() calls, not based on the numbers returned
      by the handler::lock_count() calls. The latter are only used for
      allocation of memory now.
      
      No test case. The test suite cannot reliably run FLUSH between
      lock_count() and store_lock() of another thread. The bug report
      contains a program that can repeat the problem with some
      probability.
      
      
      include/myisammrg.h:
        Bug#30273 - merge tables: Can't lock file (errno: 155)
        Added mutex to struct st_myrg_info (MYRG_INFO).
      sql/handler.h:
        Bug#30273 - merge tables: Can't lock file (errno: 155)
        Extended comments for handler::lock_count() and
        handler::store_lock().
      sql/lock.cc:
        Bug#30273 - merge tables: Can't lock file (errno: 155)
        Changed get_lock_data() so that the final lock_count is taken
        from the number of locks returned from handler::store_lock()
        instead of from handler::lock_count().
      sql/sql_base.cc:
        Fixed a purecov comment. (unrelated to the rest of the changeset)
      storage/myisammrg/ha_myisammrg.cc:
        Bug#30273 - merge tables: Can't lock file (errno: 155)
        Changed ha_myisammrg::lock_count() and ha_myisammrg::store_lock()
        to accept non-attached children.
        Protected ha_myisammrg::store_lock() by MYRG_INFO::mutex.
      storage/myisammrg/myrg_close.c:
        Bug#30273 - merge tables: Can't lock file (errno: 155)
        Added MYRG_INFO::mutex destruction to myrg_parent_close().
      storage/myisammrg/myrg_open.c:
        Bug#30273 - merge tables: Can't lock file (errno: 155)
        Added MYRG_INFO::mutex initialization to myrg_parent_open().
        Protected myrg_attach_children() and myrg_detach_children()
        by MYRG_INFO::mutex.
        Fixed a purecov comment. (unrelated to the rest of the changeset)
      e223c320
  2. 07 Dec, 2007 1 commit
    • unknown's avatar
      BUG#32817 - though CSV is marked as supported create table is rejected · 0fdc16bd
      unknown authored
                  with error 1005.
      
      CSV doesn't support nullable fields. Report descriptive error if create
      table with nullable field is requested.
      
      
      mysql-test/r/csv.result:
        A test case for BUG#32817.
      mysql-test/t/csv.test:
        A test case for BUG#32817.
      storage/csv/ha_tina.cc:
        CSV doesn't support nullable fields. Report descriptive error if create
        table with nullable field is requested.
      0fdc16bd
  3. 05 Dec, 2007 1 commit
  4. 03 Dec, 2007 1 commit
    • unknown's avatar
      Bug#30480: Falcon: searches fail if LIKE and key partition · c8969f71
      unknown authored
      (also fixes the bugs: Bug#29320, Bug#29493 and Bug#30536)
      
      Problem: Partitioning did not handle unordered scans correctly
      for engines with unordered read order.
      
      Solution: do not stop scanning fi a recored is out of range, since
      there can be more records within the range afterwards.
      
      Note: this is the patch that fixes the bug, but since there are no
      storage engines shipped with mysql 5.1 (falcon comes in 6.0) there
      are no test cases (it is a separate patch that only goes into 6.0)
      
      
      sql/ha_partition.cc:
        Bug#30480: Falcon: searches fail if LIKE and key partition
        
        Problem was that partitioning did not handle unordered scans correctly
        for engines with unordered read order.
        
        Solution: do not stop if a recored is out of range, since it can come
        more records within the range afterwards
      c8969f71
  5. 30 Nov, 2007 6 commits
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.1-ateam · 6257e283
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.1-axmrg
      
      
      6257e283
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.1-ateam · 545d7e2a
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.1-axmrg
      
      
      545d7e2a
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines · 129f7898
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.1-bug30491
      
      
      129f7898
    • unknown's avatar
      Bug#30491 - MERGE doesn't report error when one table is Innodb · dc362dae
      unknown authored
      1. A bad error message was given when a MERGE table with an
         InnoDB child table was tried to use.
      
      2. After selecting from a correct MERGE table and then altering
         one of the children to InnoDB, incorrect results were returned.
      
      These bugs have been fixed with the patch for bug 26379 (Combination
      of FLUSH TABLE and REPAIR TABLE corrupts a MERGE table).
      
      For verification, I added the test case from the bug report.
      
      
      mysql-test/r/merge_innodb.result:
        Bug#30491 - MERGE doesn't report error when one table is Innodb
        Added test result.
      mysql-test/t/merge_innodb.test:
        Bug#30491 - MERGE doesn't report error when one table is Innodb
        Added test case.
      dc362dae
    • unknown's avatar
      BUG#32050 - table logging gone wrong. · 90914282
      unknown authored
      Reverted log tables alteration.
      
      
      scripts/mysql_system_tables_fix.sql:
        Altering log table is wrong, because
        - it is not possible to alter log table when it is in use;
        - log table may use MyISAM engine, which perfectly supports NULLs.
        
        Reverted log tables alteration.
      90914282
    • unknown's avatar
      Merge mysql.com:/home/ram/work/mysql-5.1-engines · f41ba187
      unknown authored
      into  mysql.com:/home/ram/work/b29258/b29258.5.1
      
      
      mysql-test/r/partition.result:
        Manually merged
      mysql-test/t/partition.test:
        Manually merged
      f41ba187
  6. 29 Nov, 2007 12 commits
  7. 28 Nov, 2007 5 commits
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-axmrg · df722475
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.1-axmrg
      
      
      mysql-test/t/disabled.def:
        Manual merge from 5.0.
      df722475
    • unknown's avatar
      Bug#8693 Test 'rpl_log_pos' fails sometimes · c0ecd863
      unknown authored
      Moved disabling to rpl suite.
      Bug#32801 wait_timeout.test fails randomly
      Disabled test case.
      
      
      mysql-test/suite/rpl/t/disabled.def:
        Bug#8693 Test 'rpl_log_pos' fails sometimes
        Moved disabling to rpl suite.
      c0ecd863
    • unknown's avatar
      Merge mysql.com:/home/ram/work/b32676/b32676.5.0 · b908c222
      unknown authored
      into  mysql.com:/home/ram/work/b32676/b32676.5.1
      
      
      sql/sql_insert.cc:
        Auto merged
      mysql-test/r/delayed.result:
        manual merge.
      mysql-test/t/delayed.test:
        manual merge.
      b908c222
    • unknown's avatar
      Bug#29149 Test "kill" fails on Windows · 7991e6a6
      unknown authored
      Disabled test case.
      
      
      7991e6a6
    • unknown's avatar
      Fix for bug #32726: crash with cast in order by clause and cp932 charset · 3f42e6ff
      unknown authored
        - fix for #31070 (missed during merging) applied for cp932 charset.
        - tests/results adjusted.
      
      
      mysql-test/include/ctype_common.inc:
        Fix for bug #32726: crash with cast in order by clause and cp932 charset
          - tests/results adjusted.
      mysql-test/r/ctype_big5.result:
        Fix for bug #32726: crash with cast in order by clause and cp932 charset
          - tests/results adjusted.
      mysql-test/r/ctype_cp932.result:
        Fix for bug #32726: crash with cast in order by clause and cp932 charset
          - tests/results adjusted.
      mysql-test/r/ctype_euckr.result:
        Fix for bug #32726: crash with cast in order by clause and cp932 charset
          - tests/results adjusted.
      mysql-test/r/ctype_gb2312.result:
        Fix for bug #32726: crash with cast in order by clause and cp932 charset
          - tests/results adjusted.
      mysql-test/r/ctype_gbk.result:
        Fix for bug #32726: crash with cast in order by clause and cp932 charset
          - tests/results adjusted.
      mysql-test/r/ctype_uca.result:
        Fix for bug #32726: crash with cast in order by clause and cp932 charset
          - tests/results adjusted.
      mysql-test/t/ctype_cp932.test:
        Fix for bug #32726: crash with cast in order by clause and cp932 charset
          - tests/results adjusted.
      strings/ctype-cp932.c:
        Fix for bug #32726: crash with cast in order by clause and cp932 charset
          - fix for #31070 (missed during merging) applied for cp932.
      3f42e6ff
  8. 27 Nov, 2007 13 commits
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-axmrg · f0ac4a74
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.1-axmrg
      
      
      client/mysql.cc:
        Auto merged
      mysql-test/r/archive.result:
        Auto merged
      mysql-test/r/ctype_ucs.result:
        Auto merged
      mysql-test/t/archive.test:
        Auto merged
      mysql-test/t/ctype_uca.test:
        Auto merged
      mysql-test/t/ctype_ucs.test:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      mysql-test/t/disabled.def:
        Manual merge from 5.0
      mysql-test/t/subselect.test:
        Manual merge from 5.0
      f0ac4a74
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.1-amain · 30aee30b
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.1-axmrg
      
      
      include/my_base.h:
        Auto merged
      mysql-test/mysql-test-run.pl:
        Auto merged
      mysql-test/suite/ndb/t/disabled.def:
        Auto merged
      mysql-test/t/partition.test:
        Auto merged
      sql/handler.cc:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/slave.cc:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      client/mysql.cc:
        Manual merge
      mysql-test/suite/rpl/t/disabled.def:
        Manual merge
      30aee30b
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-ateam · 8a7f5a1d
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.0-axmrg
      
      
      8a7f5a1d
    • unknown's avatar
      after-merge fixup: archive test/result adjusted. · 1a73853c
      unknown authored
      1a73853c
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-ateam · 76468de8
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.0-axmrg
      
      
      76468de8
    • unknown's avatar
      Bug#8693 Test 'rpl_log_pos' fails sometimes · ae5ff26d
      unknown authored
      Disabled the test case.
      
      
      ae5ff26d
    • unknown's avatar
      Merge mysql.com:/home/ram/work/mysql-5.0-engines · 061ac497
      unknown authored
      into  mysql.com:/home/ram/work/b30495/b30495.5.0
      
      
      061ac497
    • unknown's avatar
      Merge mysql.com:/home/ram/work/mysql-5.1-engines · 9f1043b5
      unknown authored
      into  mysql.com:/home/ram/work/b30495/b30495.5.1
      
      
      9f1043b5
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-amain · 6288fde2
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.0-axmrg
      
      
      sql/item_cmpfunc.cc:
        Auto merged
      6288fde2
    • unknown's avatar
      Merge mysql.com:/home/ram/work/mysql-5.0-engines · 51e24c02
      unknown authored
      into  mysql.com:/home/ram/work/b30495/b30495.5.0
      
      
      51e24c02
    • unknown's avatar
      Disabling several tests that fail and reported as errors. · 54953ec2
      unknown authored
      
      mysql-test/suite/ndb/t/disabled.def:
        Disabling failing tests.
      mysql-test/suite/rpl/t/disabled.def:
        Disabling failing tests.
      mysql-test/suite/rpl/t/rpl_ssl.test:
        Disabling part of test that fails.
      54953ec2
    • unknown's avatar
      BUG#32050 - table logging gone wrong. · f3bb583c
      unknown authored
      INSERT/UPDATE against CSV table created by MySQL earlier than 5.1.23
      with NULL-able column results in server crash in debug builds.
      
      Starting with 5.1.23 CSV doesn't permit creation of NULL-able columns,
      but it is still possible to get such table from older MySQL versions.
      
      Fixed by removing excessive DBUG_ASSERT().
      
      
      scripts/mysql_system_tables_fix.sql:
        Starting with 5.1.23 CSV doesn't permit creation of NULL-able columns.
        Alter system CSV tables structure so that all columns are NOT NULL.
      storage/csv/ha_tina.cc:
        Starting with 5.1.23 CSV doesn't permit creation of NULL-able columns,
        but it is still possible to get such table from older MySQL versions.
        
        Removed excessive DBUG_ASSERT().
      f3bb583c
    • unknown's avatar
      after-merge fix: · 42853d17
      unknown authored
        - archive test/result adjusted.
        - OPTIMIZE/ANALYZE PARTITION EXTENDED test case added.
      
      
      mysql-test/r/archive.result:
        after-merge fix:
          - archive test/result adjusted.
      mysql-test/r/partition.result:
        after-merge fix:
          - test case added.
      mysql-test/t/archive.test:
        after-merge fix:
          - archive test/result adjusted.
      mysql-test/t/partition.test:
        after-merge fix:
          - test case added.
      42853d17