• Michael Widenius's avatar
    Fixes after last merge of MySQL 5.1 · 6659ad49
    Michael Widenius authored
    - INSERT with RAND() doesn't require row based logging again
    - Some bugs fixed in opt_range() where we table->key_read was wrongly used
    
    
    
    .bzrignore:
      Ignore new xtstat binary
    mysql-test/r/index_merge_myisam.result:
      Update results (old result was wrong)
    mysql-test/suite/binlog/r/binlog_stm_binlog.result:
      Added drop table first
    mysql-test/suite/binlog/r/binlog_stm_unsafe_warning.result:
      Added test for when RAND() requires row based logging
    mysql-test/suite/binlog/t/binlog_stm_binlog.test:
      Added drop table first
    mysql-test/suite/binlog/t/binlog_stm_unsafe_warning.test:
      Added test for when RAND() requires row based logging
    scripts/make_binary_distribution.sh:
      Removed type from last commit
    sql/item_create.cc:
      Don't require row based logging when using RAND() with INSERT
    sql/opt_range.cc:
      Revert wrong patch from Oracle:
      - As QUICK_RANGE_SELECT uses it's own 'file' handler to the tables, one can't use 'table->key_read' as a flag to detect if index only read (keyread) is used or not
      - Don't set keyread if keyread is already enabled
      - Don't disable key read, if we didn't enable it ourselves
      - Simplify code (and ensure that we do proper cleanup of index only read)
    sql/opt_range.h:
      Added flags to detect if the range optimizer enabled index only read (key read) or not
    sql/opt_sum.cc:
      Use our more optimized macros
    sql/sql_lex.h:
      Added 'readable' function to check if we are in a sub query function or not (not normal query or sub query in FROM clause)
    sql/sql_select.cc:
      Use our more optimized keyread macros
      Added ASSERTS early
      Simplify code on eliminate_item_equal()
      Fixed that substitute_for_best_equal_field() doesn't core dump in case of out of memory conditions.
      Removed not needed test for 'field->maybe_null()'
      Replaced master_unit()->item with is_subquery_function() (More readable)
    sql/sql_update.cc:
      Use our more optimized keyread macros
    sql/table.cc:
      Use our more optimized keyread macros
    sql/table.h:
      Use separate functions to enable/disable Index only reads
      - Safer, more readable, better logging and faster.
    6659ad49
item_create.cc 116 KB