1. 24 Jan, 2014 3 commits
    • Michael Widenius's avatar
      Fix for MDEV-5531: double call procedure in one session - hard shutdown the server · d15b3386
      Michael Widenius authored
      Main fix was to not cache derivied tables as they may be temporary tables that are deleted before the next query.
      This was a bit tricky as Item_field::fix_fields depended on cached_tables to be set to resolve some columns.
      
      
      
      mysql-test/r/sp-bugs.result:
        Added test case
      mysql-test/t/sp-bugs.test:
        Added test case
      sql/item.cc:
        Fixed fix_outer_field to handle case where found field did not have in cached_table
        Idea is that if cached_table is not avaliable, use from_field->table->pos_in_table_list instead
      sql/records.cc:
        Also accept INTERNAL_TMP_TABLE for memmap
      sql/sql_base.cc:
        More DBUG_PRINT
        Fixed that setup_natural_join_row_types() is not run twice.
        Original code modified context->first_name_resolution_table also for second executions.
        This was wrong as this could give wrong results if some joins had been optimized away between calls.
      sql/sql_derived.cc:
        Mark derived tables as internal temporary tables (INTERNAL_TMP_TABLE), not as NON_TRANSACTIONAL_TMP_TABLE.
        This is more correct as the tables are not visible by the end user.
      sql/sql_insert.cc:
        Reset pos_in_table_list before calling fix_fields.
        One of the consequences of the change of not caching all generated tables in Item_ident is that
        pos_in_table_list needs to be correct in calls to fix_fields.
      sql/sql_lex.cc:
        More DBUG_PRINT
      sql/sql_parse.cc:
        Don't cache derivied tables as they may be temporary tables that are deleted before the next query
      sql/sql_select.cc:
        Reset table_vector. This was required as some code checked the vector to see if temporary tables had already been created.
      sql/table.cc:
        Mark tables with field translations as cacheable (as these will not disapper between stmt executions.
      d15b3386
    • Michael Widenius's avatar
      Fixed failures in tokudb test cases · 7335c6f2
      Michael Widenius authored
      storage/tokudb/mysql-test/tokudb_bugs/r/5733_innodb.result:
        Speed up test
      storage/tokudb/mysql-test/tokudb_bugs/r/5733_tokudb.result:
        Speed up test
        Fix results
      storage/tokudb/mysql-test/tokudb_bugs/r/xa-6.result:
        Ensure that mysql.proc is properly closed
      storage/tokudb/mysql-test/tokudb_bugs/t/5733_innodb.test:
        Speed up test
      storage/tokudb/mysql-test/tokudb_bugs/t/5733_tokudb.test:
        Speed up test
        Accept both index and range scan for one query
      storage/tokudb/mysql-test/tokudb_bugs/t/xa-6.test:
        Ensure that mysql.proc is properly closed
      7335c6f2
    • Alexey Botchkov's avatar
      MDEV-5419 no audit events for warnings converted to errors in the strict mode. · 5a7ae593
      Alexey Botchkov authored
              small fix in the --replace_regex template.
      5a7ae593
  2. 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
  3. 22 Jan, 2014 9 commits
  4. 21 Jan, 2014 2 commits
  5. 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
  6. 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
  7. 15 Jan, 2014 1 commit
  8. 13 Jan, 2014 1 commit
  9. 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
  10. 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
  11. 30 Dec, 2013 1 commit
  12. 18 Dec, 2013 1 commit
  13. 17 Dec, 2013 2 commits
  14. 15 Dec, 2013 2 commits
  15. 13 Dec, 2013 1 commit
  16. 12 Dec, 2013 5 commits
  17. 11 Dec, 2013 2 commits
  18. 07 Dec, 2013 1 commit
  19. 06 Dec, 2013 1 commit