1. 08 Jun, 2012 2 commits
  2. 06 Jun, 2012 2 commits
  3. 05 Jun, 2012 2 commits
    • unknown's avatar
      Fixed bug lp:1000649 · f1ab0089
      unknown authored
      Analysis:
      
      When the method JOIN::choose_subquery_plan() decided to apply
      the IN-TO-EXISTS strategy, it set the unit and select_lex
      uncacheable flag to UNCACHEABLE_DEPENDENT_INJECTED unconditionally.
      As result, even if IN-TO-EXISTS injected non-correlated predicates,
      the subquery was still treated as correlated.
      
      Solution:
      Set the subquery as correlated only if the injected predicate(s) depend
      on the outer query.
      f1ab0089
    • Michael Widenius's avatar
      Fixed build failures found by buildbot · 56ea8e9c
      Michael Widenius authored
      - Added suppression of warnings
      - Fixed some test cases
      
      
      BUILD/FINISH.sh:
        Added AM_EXTRA_MAKEFLAGS
      BUILD/SETUP.sh:
        Added option --extra-makeflags
      client/mysqldump.c:
        Added suppression
      mysql-test/r/mysql.result:
        Updated results
      mysql-test/r/mysql_upgrade.result:
        Updated results
      mysql-test/r/partition_innodb_plugin.result:
        Updated results
      mysql-test/r/partition_open_files_limit.result:
        Updated results
      mysql-test/r/symlink.result:
        Updated results
      mysql-test/suite/innodb/r/innodb-create-options.result:
        Updated results
      mysql-test/suite/innodb/t/innodb-create-options.test:
        Don't print error message (as it's varies on different system)
      mysql-test/t/mysql.test:
        Don't print error message (as it's varies on different system)
      mysql-test/t/mysql_upgrade.test:
        Fixed checking of error number
      mysql-test/t/partition_innodb_plugin.test:
        Don't print error message (as it's varies on different system)
      plugin/semisync/semisync_master.cc:
        Added suppression
      sql/ha_partition.cc:
        Added suppression
      sql/item_subselect.cc:
        Added suppression
      sql/multi_range_read.cc:
        Added suppression
      sql/sql_parse.cc:
        Added suppression
      sql/sql_select.cc:
        Added suppression
      storage/innobase/handler/ha_innodb.cc:
        Removed not used variable
      storage/maria/ma_delete.c:
        Added suppression
      storage/maria/ma_key_recover.c:
        Added suppression
      storage/maria/ma_write.c:
        Added suppression
      strings/ctype-ucs2.c:
        Added suppression
      support-files/compiler_warnings.supp:
        Added suppressions
      unittest/mysys/my_vsnprintf-t.c:
        Fixed test case with %M to also work on Solaris
      56ea8e9c
  4. 04 Jun, 2012 5 commits
    • Sergei Golubchik's avatar
      MDEV-308 lp:1008516 - Failing assertion: templ->mysql_col_len == len · 265d5aaa
      Sergei Golubchik authored
      remove the offending assert.
      take the test case from mysql Bug#58015
      265d5aaa
    • Sergei Golubchik's avatar
      MDEV-136 Non-blocking "set read_only" · 4361c864
      Sergei Golubchik authored
      backport dmitry.shulga@oracle.com-20120209125742-w7hdxv0103ymb8ko from mysql-trunk:
      
        Patch for bug#11764747 (formerly known as 57612): SET GLOBAL READ_ONLY=1 cannot
        progress when a table is locked with LOCK TABLES.
        
        The reason for the bug was that mysql server makes a flush of all open tables
        during handling of statement 'SET GLOBAL READ_ONLY=1'. Therefore if some of
        these tables were locked by "LOCK TABLE ... READ" from a different connection,
        then execution of statement 'SET GLOBAL READ_ONLY=1' would be waiting for
        the lock for such table even if the table was locked in a compatible read mode.
        
        Flushing of all open tables before setting of read_only system variable
        is inherited from 5.1 implementation since this was the only possible approach
        to ensure that there isn't any pending write operations on open tables.
        
        Start from version 5.5 and above such behaviour is guaranteed by the fact
        that we acquire global_read_lock before setting read_only flag. Since
        acquiring of global_read_lock is successful only when there isn't any 
        active write operation then we can remove flushing of open tables from
        processing of SET GLOBAL READ_ONLY=1.
        
        This modification changes the server behavior so that read locks held
        by other connections (LOCK TABLE ... READ) no longer will block attempts
        to enable read_only.
      4361c864
    • Sergei Golubchik's avatar
      merge with 5.3. · 3e3606d2
      Sergei Golubchik authored
      Take only test cases from MDEV-136 Non-blocking "set read_only"
      3e3606d2
    • unknown's avatar
      Fix bug lp:1008487 · ca5473f1
      unknown authored
      Analysis:
      The crash is a result of Item_cache_temporal::example not being set
      (it is NULL). It turns out that the value of Item_cache_temporal
      may be set directly by calling Item_cache_temporal::store_packed
      without ever setting the "example" of this Item_cache. Therefore
      the failing assertion is too narrow.
      
      Solution:
      Remove the assert.
      In principle we could overwrite this method for Item_cache_temporal,
      but it doesn't make sense just for this assert.
      ca5473f1
    • Michael Widenius's avatar
      Fixed comment · b889f699
      Michael Widenius authored
      b889f699
  5. 02 Jun, 2012 1 commit
  6. 01 Jun, 2012 2 commits
  7. 31 May, 2012 2 commits
    • Michael Widenius's avatar
      Increased the version number to 10.0 · 83c02f32
      Michael Widenius authored
      - Fixed code that was not ready for a major version number > 9
      - Fixed test cases that assumed max major version number could be 9
      Updated version number for depricated options (will be removed in a later commit)
      
      VERSION:
        Version number 10.0.0
      client/mysqlbinlog.cc:
        Added support for major version numbers > 9
      cmake/mysql_version.cmake:
        Added support for version numbers that is 0
      mysql-test/r/comments.result:
        Modified test to handle version number 100000
      mysql-test/r/func_system.result:
        Modified test to handle version number 100000
      mysql-test/r/log_state.result:
        Updated depricated error message
      mysql-test/r/sp.result:
        Modified test to handle version number 100000
      mysql-test/r/subselect4.result:
        Updated depricated error message
      mysql-test/r/variables.result:
        Updated depricated error message
      mysql-test/suite/rpl/r/rpl_conditional_comments.result:
        Modified test to handle version number 100000
      mysql-test/suite/rpl/r/rpl_loaddatalocal.result:
        Modified test to handle version number 100000
      mysql-test/suite/rpl/t/rpl_conditional_comments.test:
        Modified test to handle version number 100000
      mysql-test/suite/rpl/t/rpl_loaddatalocal.test:
        Modified test to handle version number 100000
      mysql-test/suite/sys_vars/r/debug_basic.result:
        Updated depricated error message
      mysql-test/suite/sys_vars/r/engine_condition_pushdown_basic.result:
        Updated depricated error message
      mysql-test/suite/sys_vars/r/log_basic.result:
        Updated depricated error message
      mysql-test/suite/sys_vars/r/log_slow_queries_basic.result:
        Updated depricated error message
      mysql-test/suite/sys_vars/r/multi_range_count_basic.result:
        Updated depricated error message
      mysql-test/suite/sys_vars/r/rpl_recovery_rank_basic.result:
        Updated depricated error message
      mysql-test/suite/sys_vars/r/sql_big_selects_func.result:
        Updated depricated error message
      mysql-test/suite/sys_vars/r/sql_max_join_size_basic.result:
        Updated depricated error message
      mysql-test/suite/sys_vars/r/sql_max_join_size_func.result:
        Updated depricated error message
      mysql-test/t/comments.test:
        Modified test to handle version number 100000
      mysql-test/t/file_contents.test:
        Modified test to handle version number 100000
      mysql-test/t/func_system.test:
        Modified test to handle version number 100000
      mysql-test/t/parser_not_embedded.test:
        Modified test to handle version number 100000
      mysql-test/t/sp.test:
        Modified test to handle version number 100000
      sql/mysqld.cc:
        Updated version number for depricated options (will be removed in a later commit)
      sql/slave.cc:
        Modified test to handle version number 100000
        Better error messages
      sql/sql_lex.cc:
        Modified test to handle version number 100000 in comment syntax
      sql/sys_vars.cc:
        Updated version number for depricated options (will be removed in a later commit)
      83c02f32
    • Michael Widenius's avatar
      Merge with 5.5 · 59b4ee14
      Michael Widenius authored
      59b4ee14
  8. 30 May, 2012 3 commits
  9. 29 May, 2012 4 commits
    • Michael Widenius's avatar
      Added text for errno in error messages by: · aa81e025
      Michael Widenius authored
      - Adding %M my_sprintf() modifier that prints error number - system-error-text
      - Modified mysys, mysql_client and SQL error messages to use %M instead of %d
      - Added my_strerror()
      Updated handler errors to 5.6 error numbers
      Updated text for a few error messages (to match 5.6)
      Increased length of command name in error output
      
      extra/comp_err.c:
        Added support for %M
      include/my_base.h:
        Updated handler errors to 5.6 error numbers
      include/my_sys.h:
        Added my_strerror()
      libmysql/errmsg.c:
        Updated error messages to use %M
      mysql-test/r/errors.result:
        Updated result as error message have changed
      mysql-test/r/innodb_mysql_sync.result:
        Updated result with text for errno
      mysql-test/r/myisam-system.result:
        Updated result with text for errno
      mysql-test/r/myisam.result:
        Updated result as error message have changed
      mysql-test/r/myisampack.result:
        Updated result with text for errno
      mysql-test/r/mysql.result:
        Updated result with text for errno
      mysql-test/r/mysql_upgrade.result:
        Updated result with text for errno
      mysql-test/r/partition_datatype.result:
        Updated result as error message have changed
      mysql-test/r/partition_innodb_plugin.result:
        Updated result with text for errno
      mysql-test/r/ps_1general.result:
        Updated result with text for errno
      mysql-test/r/trigger.result:
        Updated result with text for errno
      mysql-test/r/type_bit.result:
        Updated result as error message have changed
      mysql-test/r/type_bit_innodb.result:
        Updated result as error message have changed
      mysql-test/r/type_blob.result:
        Updated result as error message have changed
      mysql-test/suite/archive/archive.result:
        Updated result with text for errno
      mysql-test/suite/binlog/r/binlog_index.result:
        Updated result with text for errno
      mysql-test/suite/binlog/r/binlog_ioerr.result:
        Updated result with text for errno
      mysql-test/suite/csv/csv.result:
        Updated result with text for errno
      mysql-test/suite/federated/federated_bug_35333.result:
        Updated result with text for errno
      mysql-test/suite/innodb/r/innodb-create-options.result:
        Updated result with text for errno
      mysql-test/suite/innodb/r/innodb-index.result:
        Updated result with text for errno
      mysql-test/suite/innodb/r/innodb-zip.result:
        Updated result as error message have changed
      mysql-test/suite/innodb/r/innodb.result:
        Updated result with text for errno
      mysql-test/suite/innodb/r/innodb_bug21704.result:
        Updated result with text for errno
      mysql-test/suite/innodb/r/innodb_bug46000.result:
        Updated result with text for errno
      mysql-test/suite/innodb/r/innodb_bug53591.result:
        Updated result as error message have changed
      mysql-test/suite/innodb/r/innodb_corrupt_bit.result:
        New error numbers
      mysql-test/suite/innodb/r/innodb_prefix_index_liftedlimit.result:
        Updated result as error message have changed
      mysql-test/suite/innodb/t/innodb-create-options.test:
        Added regexp to avoid system error text
      mysql-test/suite/innodb/t/innodb-zip.test:
        Added regexp to avoid system error text
      mysql-test/suite/maria/maria-recovery2.result:
        Updated supression rule
      mysql-test/suite/maria/maria-recovery2.test:
        Updated supression rule
      mysql-test/suite/maria/maria.result:
        Updated result as error message have changed
      mysql-test/suite/parts/r/partition_bit_innodb.result:
        
        Updated result as error message have changed
      mysql-test/suite/parts/r/partition_bit_myisam.result:
        
        Updated result as error message have changed
      mysql-test/suite/percona/percona_innodb_fake_changes.result:
        Updated result with text for errno
      mysql-test/suite/perfschema/r/dml_cond_instances.result:
        Updated result as error message have changed
      mysql-test/suite/perfschema/r/dml_events_waits_current.result:
        Updated result as error message have changed
      mysql-test/suite/perfschema/r/dml_events_waits_history.result:
        Updated result as error message have changed
      mysql-test/suite/perfschema/r/dml_events_waits_history_long.result:
        Updated result as error message have changed
      mysql-test/suite/perfschema/r/dml_ews_by_instance.result:
        Updated result as error message have changed
      mysql-test/suite/perfschema/r/dml_ews_by_thread_by_event_name.result:
        Updated result as error message have changed
      mysql-test/suite/perfschema/r/dml_ews_global_by_event_name.result:
        Updated result as error message have changed
      mysql-test/suite/perfschema/r/dml_file_instances.result:
        Updated result as error message have changed
      mysql-test/suite/perfschema/r/dml_file_summary_by_event_name.result:
        Updated result as error message have changed
      mysql-test/suite/perfschema/r/dml_file_summary_by_instance.result:
        Updated result as error message have changed
      mysql-test/suite/perfschema/r/dml_mutex_instances.result:
        Updated result as error message have changed
      mysql-test/suite/perfschema/r/dml_performance_timers.result:
        Updated result as error message have changed
      mysql-test/suite/perfschema/r/dml_rwlock_instances.result:
        Updated result as error message have changed
      mysql-test/suite/perfschema/r/dml_threads.result:
        Updated result as error message have changed
      mysql-test/suite/perfschema/r/misc.result:
        Updated result with text for errno
      mysql-test/suite/perfschema/r/privilege.result:
        Updated result with text for errno
      mysql-test/suite/rpl/r/rpl_EE_err.result:
        Updated result with text for errno
      mysql-test/suite/rpl/r/rpl_binlog_errors.result:
        Updated result with text for errno
      mysql-test/suite/rpl/r/rpl_drop_db.result:
        Updated result with text for errno
      mysys/errors.c:
        Updated error messages to use %M
        Changed all errors to use Errcode: consistenly
      mysys/my_handler_errors.h:
        Updated handler errors to 5.6 error numbers
      sql/share/errmsg-utf8.txt:
        Updated error messages to use %M
      sql/sys_vars.cc:
        Added error number to ER_EVENT_SET_VAR_ERROR
      strings/my_vsnprintf.c:
        Added %M my_sprintf() modifier that prints error number - system-error-text
        Simplify code
        Movied common code to function
        Removed some casts that was not necessary when reading integer/unsigned int stored in longlong
        Added my_strerror()
      unittest/mysys/my_vsnprintf-t.c:
        Added testing of %M
      aa81e025
    • Sergei Golubchik's avatar
      RPM packages should not obsolete themselves. · 32addeaf
      Sergei Golubchik authored
      Otherwise yum on fedora will not install them
      (rpm will, yum on centos and rhel will).
      32addeaf
    • Sergei Golubchik's avatar
      MDEV-293 5.5 RPMs for RHEL6/CentOS6 · 6cfb62b7
      Sergei Golubchik authored
      Build MariaDB-compat rpm by repackaging files from MariaDB-shared-5.3.*.rpm
      Or RHEL6/CentOS6 make all other MariaDB rpms depend on MariaDB-compat.
      6cfb62b7
    • Alexey Botchkov's avatar
      MDEV-294 SELECT WHERE ST_CONTAINS doesn't return all the records where ST_CONTAINS() is 1. · 662c51ba
      Alexey Botchkov authored
              Optimizator fails using index with ST_Within(g, constant_poly).
      
      per-file comments:
        mysql-test/r/gis-rt-precise.result
              test result fixed.
        mysql-test/r/gis-rtree.result
              test result fixed.
        mysql-test/suite/maria/r/maria-gis-rtree-dynamic.result
              test result fixed.
        mysql-test/suite/maria/r/maria-gis-rtree-trans.result
              test result fixed.
        mysql-test/suite/maria/r/maria-gis-rtree.result
              test result fixed.
        storage/maria/ma_rt_index.c
              Use MBR_INTERSECT mode when optimizing the select WITH ST_Within.
        storage/myisam/rt_index.c
              Use MBR_INTERSECT mode when optimizing the select WITH ST_Within.
      662c51ba
  10. 26 May, 2012 1 commit
  11. 25 May, 2012 4 commits
  12. 24 May, 2012 1 commit
  13. 23 May, 2012 4 commits
  14. 22 May, 2012 2 commits
    • unknown's avatar
      Fix bug lp:1002079 · 02bdc608
      unknown authored
        
        Analysis:
        The optimizer detects an empty result through constant table optimization.
        Then it calls return_zero_rows(), which in turns calls inderctly
        Item_maxmin_subselect::no_rows_in_result(). The latter method set "value=0",
        however "value" is pointer to Item_cache, and not just an integer value.
        
        All of the Item_[maxmin | singlerow]_subselect::val_XXX methods does:
          if (forced_const)
            return value->val_real();
        which of course crashes when value is a NULL pointer.
        
        Solution:
        When the optimizer discovers an empty result set, set
        Item_singlerow_subselect::value to a FALSE constant Item instead of NULL.
      02bdc608
    • Sergei Golubchik's avatar
      Building RPMs with CPack · ec586f52
      Sergei Golubchik authored
      configure with cmake -DRPM=distro
      ec586f52
  15. 21 May, 2012 1 commit
    • Alexey Botchkov's avatar
      MDEV-136 Non-blocking "set read_only". · b87ccfdf
      Alexey Botchkov authored
          Handle the 'set read_only=1' in lighter way, than the FLUSH TABLES READ LOCK;
          For the transactional engines we don't wait for operations on that tables to finish.
      
      per-file comments:
       mysql-test/r/read_only_innodb.result
      MDEV-136 Non-blocking "set read_only".
             test result updated.
       mysql-test/t/read_only_innodb.test
      MDEV-136 Non-blocking "set read_only".
             test case added.
        sql/mysql_priv.h
      MDEV-136 Non-blocking "set read_only".
              The close_cached_tables_set_readonly() declared.
        sql/set_var.cc
      MDEV-136 Non-blocking "set read_only".
               Call close_cached_tables_set_readonly() for the read_only::set_var.
         sql/sql_base.cc
       MDEV-136 Non-blocking "set read_only".
               Parameters added to the close_cached_tables implementation,
               close_cached_tables_set_readonly declared.
               Prevent blocking on the transactional tables if the
               set_readonly_mode is on.
      b87ccfdf
  16. 20 May, 2012 1 commit
  17. 18 May, 2012 3 commits
    • Michael Widenius's avatar
      Automatic merge · 3f4ef592
      Michael Widenius authored
      3f4ef592
    • Michael Widenius's avatar
      Fixed compile warnings · 960f6600
      Michael Widenius authored
      Fixed some mtr test problems
      
      
      
      dbug/tests.c:
        Fixed compiler warnings
      mysql-test/r/handlersocket.result:
        Fixed that plugin_license is written
      mysql-test/suite/innodb/t/innodb_bug60196.test:
        Force sorted results as it was sometimes different on windows
      mysql-test/suite/rpl/t/rpl_heartbeat_basic.test:
        Prolong test as this failed on windows
      mysql-test/t/handlersocket.test:
        Fixed that plugin_license is written
      plugin/handler_socket/handlersocket/handlersocket.cpp:
        Use maria_declare_plugin
      plugin/handler_socket/handlersocket/mysql_incl.hpp:
        Fixed compiler warning
      plugin/handler_socket/libhsclient/auto_addrinfo.hpp:
        Fixed compiler warning
      sql/handler.h:
        Fixed typo
      sql/sql_plugin.cc:
        Fixed bug that caused plugin library name twice in error message
      storage/maria/ma_checkpoint.c:
        Fixed compiler warning
      storage/maria/ma_loghandler.c:
        Fixed compiler warning
      unittest/mysys/base64-t.c:
        Fixed compiler warning
      unittest/mysys/bitmap-t.c:
        Fixed compiler warning
      unittest/mysys/my_malloc-t.c:
        Fixed compiler warning
      960f6600
    • Michael Widenius's avatar
      Fixed lp:997460 Truncate table on partitioned Aria table fails with ER_ILLEGAL_HA · d4d3ca20
      Michael Widenius authored
      Fix is done by doing an autocommit in truncate table inside Aria
      
      storage/maria/ha_maria.cc:
        Force a commit for TRUNCATE TABLE inside lock tables
        Check that we don't call TRUNCATE with concurrent inserts going on.
        Make ha_maria::implict_commit faster when we don't have Aria tables in the transaction.
        (Most of the patch is just re-indentation because I removed an if level)
      d4d3ca20