1. 25 Jan, 2013 2 commits
    • Vladislav Vaintroub's avatar
      MDEV-3842, MDEV-3923 : · 76400fcc
      Vladislav Vaintroub authored
      Miscellaneous workarounds for  drop-in compatibility problems with Linux distributions, arounf versioning of the 
      MySQL 5.5 client shared library. There seems to be 3 different ways major distributions handle versioning
      
      1. Fedora  (also Mageia, and likely  other Redhat descendants) way 
         old, 5.1 API functions are given version libmysqlclient_16
         new API functions  (client plugins, mysql_stmt_next ) are given version libmysqlclient_18
         some extra functions beyond API are exported.
         some functions are renamed.
      
      2.Debian Wheezy way 
        all functions are given libmysqlclient_18 version
      
      3. Ubuntu  way (or MySQL/MariaDB download packages)
        no versioning
      
      UIp to this fix, MariaDB distributions did not have any versioning in the libraries, this rendered client library incompatible to distributions 
      thus exchanging  distribution's libmysqlclient.so.18.0.0  with MariaDB's did not work nicely (anywhere but on Ubuntu)
      
      
      THE FIX  
      is to build libraries the same way as distributions do it 
      - when building RPMs, use  same version script as Fedora does, Make sure to export extra-symbols, the same as Fedora exports.
      - when building DEBs, use the same version script as Debian Wheezy
      - do not use version scripts otherwise
      
      
      Also, makes sure that extensions of  MySQL APIs (asynchronous client functionality) is exported by  the shared libraries.
      76400fcc
    • Vladislav Vaintroub's avatar
      MDEV-3971 : problems installing MariaDB packages (conflicts with mysql-libs-5.5) · 88649405
      Vladislav Vaintroub authored
      FIx  : make "shared" RPM obsolete/provide mysql-libs
      88649405
  2. 23 Jan, 2013 1 commit
  3. 21 Jan, 2013 1 commit
  4. 22 Jan, 2013 1 commit
  5. 21 Jan, 2013 1 commit
  6. 20 Jan, 2013 3 commits
  7. 19 Jan, 2013 2 commits
  8. 18 Jan, 2013 5 commits
  9. 17 Jan, 2013 1 commit
    • Michael Widenius's avatar
      Don't reset maybe_null in update_used_tables(); This breaks ROLLUP · c65f9a19
      Michael Widenius authored
      This fixed failing test in group_by.test
      
      mysql-test/r/join_outer.result:
        Updated test case
      mysql-test/r/join_outer_jcl6.result:
        Updated test case
      sql/item.cc:
        Don't reset maybe_null in update_used_tables(); This breaks ROLLUP
      sql/item.h:
        Don't reset maybe_null in update_used_tables(); This breaks ROLLUP
      sql/item_cmpfunc.h:
        Don't reset maybe_null in update_used_tables(); This breaks ROLLUP
      c65f9a19
  10. 16 Jan, 2013 2 commits
  11. 15 Jan, 2013 9 commits
  12. 14 Jan, 2013 1 commit
    • unknown's avatar
      Fix for bug MDEV-3992 · cf79c01c
      unknown authored
      Analysis:
        The crash is a result of incorrect analysis of whether a secondary key
        can be extended with a primary in order to compute ORDER BY. The analysis
        is done in test_if_order_by_key(). This function doesn't take into account
        that the primary key may in fact index the same columns as the secondary
        key. For the test query test_if_order_by_key says that there is an extended
        key with total 2 keyparts.
        At the same time, the condition
          if (pkinfo->key_part[i].field->key_start.is_set(nr))
        in test_if_cheaper_oredring() becomes true for (i == 0), which results in
        an invalid access to rec_per_key[-1].
        
      Solution:
        The best solution would be to reuse KEY::ext_key_parts that is already computed
        by open_binary_frm(), however after detailed analysis the conclusion is that
        the change would be too intrusive for a GA release.
        The solution for 5.5 is to add a guard for the case when the 0-th key part is
        considered, and to assume that all keys will be scanned in this case.
      cf79c01c
  13. 11 Jan, 2013 1 commit
    • Michael Widenius's avatar
      Buildbot fixes and cleanups: · edc89f75
      Michael Widenius authored
      - Added --verbose to BUILD scripts to get make to write out compile commands.
      - Detect if AM_EXTRA_MAKEFLAGS=VERBOSE=1 was used with build scripts.
      - Don't write warnings about replication variables when doing bootstrap.
      - Fixed that mysql_cond_wait() and mysql_cond_timedwait() will report original source file in case of errors.
      - Ignore some compiler warnings
      
      BUILD/FINISH.sh:
        Detect if AM_EXTRA_MAKEFLAGS=VERBOSE=1 or --verbose was used
      BUILD/SETUP.sh:
        Added --verbose to print out the full compile lines
        Updated help message
      client/mysqltest.cc:
        Fixed that one can use 'replace' with cat_file
      cmake/configure.pl:
        If --verbose is used, get make to write out compile commands
      debian/dist/Debian/rules:
        Added $AM_EXTRA_MAKEFLAGS to get VERBOSE=1 on buildbot builds
      debian/dist/Ubuntu/rules:
        Added $AM_EXTRA_MAKEFLAGS to get VERBOSE=1 on buildbot builds
      include/my_pthread.h:
        Made set_timespec_time_nsec() more portable.
      include/mysql/psi/mysql_thread.h:
        Fixed that mysql_cond_wait() and mysql_cond_timedwait() will report original source file in case of errors.
      mysql-test/suite/innodb/r/auto_increment_dup.result:
        Fixed wrong DBUG_SYNC
      mysql-test/suite/innodb/t/auto_increment_dup.test:
        Fixed wrong DBUG_SYNC
      mysql-test/suite/perfschema/include/upgrade_check.inc:
        Make test more portable for changes in *.sql files
      mysql-test/suite/perfschema/r/pfs_upgrade.result:
        Updated test results
      mysql-test/valgrind.supp:
        Ignore running Aria checkpoint thread
      scripts/mysqlaccess.sh:
        Changed reference of bugs database
        Ensure that also client-server group is read.
      sql/handler.cc:
        Added missing syncpoint
      sql/mysqld.cc:
        Don't write warnings about replication variables when doing bootstrap
      sql/mysqld.h:
        Don't write warnings about replication variables when doing bootstrap
      sql/rpl_rli.cc:
        Don't write warnings about replication variables when doing bootstrap
      sql/sql_insert.cc:
        Don't mask SERVER_SHUTDOWN in insert_delayed
        This is done to be able to distingush between shutdown and interrupt errors
      support-files/compiler_warnings.supp:
        Ignore some compiler warnings in xtradb,innobase, oqgraph, yassl, string3.h
      edc89f75
  14. 10 Jan, 2013 7 commits
    • Michael Widenius's avatar
      Fixed crashing bug in GROUP_CONCAT with ROLLUP · 9684140f
      Michael Widenius authored
      Fixed MDEV-4002: Server crash or valgrind errors in Item_func_group_concat::setup and Item_func_group_concat::add
      
      mysql-test/r/group_by.result:
        Added test case for failing GROUP_CONCAT ... ROLLUP queries
      mysql-test/t/group_by.test:
        Added test case for failing GROUP_CONCAT ... ROLLUP queries
      sql/item_sum.cc:
        Fixed issue where field->table pointed to different temporary table than expected.
        Ensure that order->next points to the right object (could cause problems with setup_order())
      9684140f
    • Michael Widenius's avatar
      Fixed problem with failing mysql_upgrade when proc table was not correct. · 5f68820c
      Michael Widenius authored
      Moved out creation of performance schema tables from mysql_system_tables.sql as
      the performance_tables creation scripts needs a working mysql.proc to work.
      
      client/mysql_upgrade.c:
        Added option -V, --version
      debian/dist/Debian/mariadb-server-5.5.files:
        Added mysql_performance_tables.sql
      debian/dist/Ubuntu/mariadb-server-5.5.files:
        Added mysql_performance_tables.sql
      mysql-test/lib/v1/mysql-test-run.pl:
        Added mysql_performance_tables.sql
      mysql-test/mysql-test-run.pl:
        Added mysql_performance_tables.sql
      scripts/CMakeLists.txt:
        Moved out creation of performance schema tables from mysql_system_tables.sql 
        as the performance_tables creation scripts needs a working mysql.proc to work
      scripts/mysql_install_db.sh:
        Added mysql_performance_tables.sql
      scripts/mysql_performance_tables.sql:
        Moved out creation of performance schema tables from mysql_system_tables.sql 
        as the performance_tables creation scripts needs a working mysql.proc to work
      scripts/mysql_system_tables.sql:
        Move creation of performance schema tables to mysql_performance_tables.sql
        Added 'flush tables' to get things to work if someone deletes a table like mysql.proc before run
      scripts/mysql_system_tables_fix.sql:
        ove performance table things to mysql_performance_tables.sql
      storage/perfschema/pfs.cc:
        Fixed comment
      5f68820c
    • Michael Widenius's avatar
      Fixed MDEV-4013: Password length in replication setup · a42e1e38
      Michael Widenius authored
      Give error for wrong parameters to CHANGE MASTER
      Extend MASTER_PASSWORD and MASTER_HOST lengths
      
      
      mysql-test/suite/rpl/r/rpl_password_boundaries.result:
        Test length of MASTER_PASSWORD, MASTER_HOST and MASTER_USER
      mysql-test/suite/rpl/r/rpl_semi_sync.result:
        Use different password than user name for better test coverage
      mysql-test/suite/rpl/t/rpl_password_boundaries.test:
        Test length of MASTER_PASSWORD, MASTER_HOST and MASTER_USER
      mysql-test/suite/rpl/t/rpl_semi_sync.test:
        Use different password than user name for better test coverage
      sql/rpl_mi.h:
        Extend MASTER_PASSWORD and MASTER_HOST lengths
      sql/sql_repl.cc:
        Give error for wrong parameters to CHANGE MASTER
      sql/sql_repl.h:
        Extend MASTER_PASSWORD and MASTER_HOST lengths
      a42e1e38
    • Michael Widenius's avatar
      Fixed some race conditons and bugs related to killed queries · 6e9a48b6
      Michael Widenius authored
      KILL now breaks locks inside InnoDB
      Fixed possible deadlock when running INNODB STATUS
      Added ha_kill_query() and kill_query() to send kill signal to all storage engines
      Added reset_killed() to ensure we don't reset killed state while awake() is getting called
      
      
      include/mysql/plugin.h:
        Added thd_mark_as_hard_kill()
      include/mysql/plugin_audit.h.pp:
        Added thd_mark_as_hard_kill()
      include/mysql/plugin_auth.h.pp:
        Added thd_mark_as_hard_kill()
      include/mysql/plugin_ftparser.h.pp:
        Added thd_mark_as_hard_kill()
      sql/handler.cc:
        Added ha_kill_query() to send kill signal to all storage engines
      sql/handler.h:
        Added ha_kill_query() and kill_query() to send kill signal to all storage engines
      sql/log_event.cc:
        Use reset_killed()
      sql/mdl.cc:
        use thd->killed instead of thd_killed() to abort on soft kill
      sql/sp_rcontext.cc:
        Use reset_killed()
      sql/sql_class.cc:
        Fixed possible deadlock in INNODB STATUS by not getting thd->LOCK_thd_data if it's locked.
        Use reset_killed()
        Tell storge engines that KILL has been sent
      sql/sql_class.h:
        Added reset_killed() to ensure we don't reset killed state while awake() is getting called.
        Added mark_as_hard_kill()
      sql/sql_insert.cc:
        Use reset_killed()
      sql/sql_parse.cc:
        Simplify detection of killed queries.
        Use reset_killed()
      sql/sql_select.cc:
        Use reset_killed()
      sql/sql_union.cc:
        Use reset_killed()
      storage/innobase/handler/ha_innodb.cc:
        Added innobase_kill_query()
        Fixed error reporting for interrupted queries.
      storage/xtradb/handler/ha_innodb.cc:
        Added innobase_kill_query()
        Fixed error reporting for interrupted queries.
      6e9a48b6
    • Michael Widenius's avatar
      Fix for MDEV-4009: main.delayed sporadically fails with "query 'REPLACE... · 396f4d62
      Michael Widenius authored
      Fix for MDEV-4009: main.delayed sporadically fails with "query 'REPLACE DELAYED t1 VALUES (5)' failed: 1317: Query execution was interrupted"
      - Fixed broadcast without a proper mutex
      - Don't break existing locks if we are just testing if we can get the lock
      
      mysql-test/r/create_delayed.result:
        Added test case for failures with INSERT DELAYED with CREATE and DROP TABLE
      mysql-test/t/create_delayed.test:
        Added test case for failures with INSERT DELAYED with CREATE and DROP TABLE
      sql/mdl.cc:
        Don't break existing locks for timeout=0 (ie, just check if there are conflicting locks).
        This fixed the bug that INSERT DELAYED didn't work properly with CREATE TABLE
      sql/sql_base.cc:
        One neads to hold the mutex before doing a mysql_cond_broadcast()
        This fixed the bug that INSERT DELAYED didn't work properly with DROP TABLE
      sql/sql_insert.cc:
        Protect setting of mysys_var->current_mutex.
      396f4d62
    • Sergei Golubchik's avatar
      5.2->5.3 merge · 4f67a147
      Sergei Golubchik authored
      4f67a147
    • Sergei Golubchik's avatar
      5.1 merge · bd87fed1
      Sergei Golubchik authored
      bd87fed1
  15. 09 Jan, 2013 3 commits