1. 23 Jan, 2014 4 commits
    • Alexey Botchkov's avatar
      MDEV-5419 no audit events for warnings converted to errors in the strict mode. · 8f3e1bfc
      Alexey Botchkov authored
              Plugins get error notifications only when my_message_sql() is called.
              But errors are launched with THD::raise_condition() calls in other
              places. These are push_warning(), implementations of SIGNAL and
              RESIGNAL commands.
              So it makes sence to notify plugins there in THD::raise_condition().
      8f3e1bfc
    • Sergey Petrunya's avatar
      Merge · eb88c905
      Sergey Petrunya authored
      eb88c905
    • Sergey Petrunya's avatar
      MDEV-5368: Server crashes in Item_in_subselect::optimize on ... · f0fa66a2
      Sergey Petrunya authored
      - convert_subq_to_sj() must connect child select's tables into 
        parent select's TABLE_LIST::next_local chain.  
      - The problem was that it took child's leaf_tables.head() which
        is different. This could cause certain tables (in this bug's case,
        child select's non-merged semi-join) not to be present in 
        TABLE_LIST::next_local chain.  Which would cause non-merged semi-join
        not to be initialized in setup_tables(), which would lead to 
        NULL pointer dereference.
      f0fa66a2
    • Sergei Golubchik's avatar
      MDEV-5406 add index to an innodb table with a uniqueness violation crashes mysqld · 2ff76f67
      Sergei Golubchik authored
      After table->file->add_index() in mysql_alter_table() the table in the engine
      has the intermediate temporary structure, it's neither the original nor the
      final table structure (it'll be final after successful table->file->drop_index()
      call). So, when add_index() fails with a unique key violation, we cannot simply
      get the failed key number and easily map it to the key name and key structure via
      table->key_info[key_no].
      
      For now we'll create this "intermediate temporary structure", emulating InnoDB
      internal rules.
      
      This bug and the fix will go away in 10.0 that uses completely different online
      alter table code.
      
      mysql-test/t/alter_table_trans.test:
        mdev:5406
      2ff76f67
  2. 22 Jan, 2014 9 commits
  3. 21 Jan, 2014 2 commits
  4. 22 Jan, 2014 1 commit
    • Michael Widenius's avatar
      Fix for MDEV-5547: Bad error message when moving very old .frm files to MariaDB 5.5. · 04bee0af
      Michael Widenius authored
      mysql_upgrade --help now also prints out --default options and variable values.
      mysql_upgrade now prints permission errors.
      mysql_upgrade doesn't print some non essential info if --silent is used.
      Added handler error message about incompatible versions
      Fixed that mysqlbug and mysql_install_db have the executable flag set.
      Removed executable flag for some non executable files.
      Changed in mysql_install_db askmonty.org to mariadb.com.
      Ensured that all client executables prints --default options the same way.
      Allow REPAIR ... USE_FRM for old .frm files if the are still compatible.
      Extended shown error for storage engine messages.
      
      
      client/mysql.cc:
        print_defaults() should be first (as in all other programs)
      client/mysql_upgrade.c:
        --help now also prints out --default options and variable values
        Print out error if wrong permissions
        Don't print info if --silent
      client/mysqladmin.cc:
        print_defaults() should be first (as in all other programs)
      client/mysqlbinlog.cc:
        Added print_defaults() to --help
      client/mysqlcheck.c:
        Added empty line in --help
      client/mysqlimport.c:
        Added empty line in --help
      client/mysqlshow.c:
        Made --help compatible
      client/mysqlslap.c:
        Made --help compatible
      client/mysqltest.cc:
        Added print_defaults() to --help
      include/handler_ername.h:
        Added handler error message
      include/my_base.h:
        Added handler error message
      mysql-test/r/mysql_upgrade.result:
        Updated results
      mysql-test/r/repair.result:
        Added test case for better error messages
      mysql-test/std_data/host_old.MYD:
        Added test case for better error messages
      mysql-test/std_data/host_old.MYI:
        Added test case for better error messages
      mysql-test/std_data/host_old.frm:
        Added test case for better error messages
      mysql-test/t/repair.test:
        Added test case for better error messages
      mysys/my_handler_errors.h:
        Added handler error message
      scripts/CMakeLists.txt:
        Fixed that mysqlbug and mysql_install_db have the executable flag set
      scripts/mysql_install_db.sh:
        askmonty.org -> mariadb.com
      sql/ha_partition.cc:
        Sometimes table_type() can be called for errors even if partition didn't manage to open any files
      sql/handler.cc:
        Write clear text for not handled, but defined error messages.
      sql/share/errmsg-utf8.txt:
        Extended shown error for storage engine messages
      sql/sql_admin.cc:
        Allow REPAIR ... USE_FRM for old .frm files if the are still compatible
      storage/myisam/ha_myisam.cc:
        Use new error message
      04bee0af
  5. 21 Jan, 2014 1 commit
    • Sergey Petrunya's avatar
      MDEV-4974: memory leak in 5.5.32-MariaDB-1~wheezy-log · 5e02635e
      Sergey Petrunya authored
      - When a JOIN has both "optimization tabs" (JOIN_TABs used to 
        read the base tables and do the join operation) and also
        has "execution tabs" (a JOIN_TAB that is to produce result set 
        that is sent to the client), do not forget to call JOIN_TAB::cleanup()
        for the execution JOIN_TAB.
      5e02635e
  6. 15 Jan, 2014 1 commit
  7. 13 Jan, 2014 1 commit
  8. 05 Jan, 2014 1 commit
    • Michael Widenius's avatar
      Don't writing entries to slave log about binlog_checksum not existing on... · 4e9a2d54
      Michael Widenius authored
      Don't writing entries to slave log about binlog_checksum not existing on master if log_warnings is <=1.
      
      This solves the issue of getting a lot of unnecessary errors logged on the slave when connecting to MySQL or an old MariaDB version.
      
      
      sql/slave.cc:
        Don't write that binlog_checksum doesn't exists on the master if log_warnings <= 1
      4e9a2d54
  9. 02 Jan, 2014 1 commit
    • Michael Widenius's avatar
      Fixed MDEV-5424: SELECT using ORDER BY DESC and LIMIT produces unexpected results (InnoDB/XtraDB) · c050b5fd
      Michael Widenius authored
      This only happend when using an ORDER BY on a primary key part, where all other key parts where constant.
      Remove of duplicated expressions in ORDER BY (as the old code did this in some strange cases)
      
      
      mysql-test/r/group_by.result:
        Fixed results to take into account that duplicate order by parts are now deleted
      mysql-test/r/group_by_innodb.result:
        Ensure extended keys are on
      mysql-test/r/innodb_ext_key.result:
        More tests
      mysql-test/r/order_by.result:
        More tests
      mysql-test/t/group_by.test:
        Fixed results to take into account that duplicate order by parts are now deleted
      mysql-test/t/group_by_innodb.test:
        Ensure extended keys are on
      mysql-test/t/innodb_ext_key.test:
        More tests
      mysql-test/t/order_by.test:
        More tests
      sql/sql_select.cc:
        Fixed bug where we looked at extended key parts when we shouldn't
        Remove of duplicated expressions in ORDER BY
      sql/table.cc:
        Indentation fixes
      c050b5fd
  10. 30 Dec, 2013 1 commit
  11. 18 Dec, 2013 1 commit
  12. 17 Dec, 2013 2 commits
  13. 15 Dec, 2013 2 commits
  14. 13 Dec, 2013 1 commit
  15. 12 Dec, 2013 5 commits
  16. 11 Dec, 2013 2 commits
  17. 07 Dec, 2013 1 commit
  18. 06 Dec, 2013 1 commit
  19. 05 Dec, 2013 2 commits
    • Igor Babaev's avatar
      Merge · 21d0d8c5
      Igor Babaev authored
      21d0d8c5
    • Igor Babaev's avatar
      Fixed bug mdev-5382 · ccf5871d
      Igor Babaev authored
      When marking used columns the function find_field_in_table_ref() erroneously
      called the walk method for the real item behind a view/derived table field
      with the second parameter set to TRUE.
      This erroneous code was introduced in 2006. 
      ccf5871d
  20. 04 Dec, 2013 1 commit