1. 20 Jan, 2013 3 commits
  2. 18 Jan, 2013 1 commit
  3. 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
  4. 16 Jan, 2013 2 commits
  5. 15 Jan, 2013 9 commits
  6. 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
  7. 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
  8. 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
  9. 09 Jan, 2013 3 commits
  10. 08 Jan, 2013 3 commits
  11. 07 Jan, 2013 1 commit
  12. 05 Jan, 2013 1 commit
  13. 01 Jan, 2013 1 commit
  14. 30 Dec, 2012 1 commit
  15. 28 Dec, 2012 2 commits
    • Elena Stepanova's avatar
      storage_engine tests and upstream engines/* suites went out of sync with... · 2371b6df
      Elena Stepanova authored
      storage_engine tests and upstream engines/* suites went out of sync with current MariaDB code. Reasons:
        - as of 5.5.27, YEAR(2) is deprecated, hence the new warning;
        - MDEV-553 - different error code/message on out-of-range autoincrement;
        - INSERT IGNORE now produces a warning if a duplicate was encountered (change pushed along with MDEV-553)
      
      2371b6df
    • unknown's avatar
      MDEV-3873 & MDEV-3876 & MDEV-3912 : Wrong result (extra rows) with ALL subquery · 6f26aac9
      unknown authored
      from a MERGE view.
      
      The problem was in the lost ability to be null for the table of a left join if it
      is a view/derived table.
      
      It hapenned because setup_table_map(), was called earlier then we merged
      the view or derived.
      
      Fixed by propagating new maybe_null flag during Item::update_used_tables().
      
      Change in join_outer.test and join_outer_jcl6.test appeared because
      IS NULL reported no used tables (i.e. constant) for argument which could not be
      NULL and new maybe_null flag was propagated for IS NULL argument (Item_field)
      because table the Item_field belonged to changed its maybe_null status.
      6f26aac9
  16. 21 Dec, 2012 3 commits