1. 10 Oct, 2008 7 commits
    • Mattias Jonsson's avatar
      Bug#39434: ALTER TABLE CHECK/OPTIMIZE/ANALYZE PARTITION work · f113311d
      Mattias Jonsson authored
      on non-partitioned table
      
      Problem was that partitioning specific commands was accepted
      for non partitioned tables and treated like
      ANALYZE/CHECK/OPTIMIZE/REPAIR TABLE, after bug-20129 was fixed,
      which changed the code path from mysql_alter_table to
      mysql_admin_table.
      
      Solution was to check if the table was partitioned before
      trying to execute the admin command
      f113311d
    • Georgi Kodinov's avatar
      merged 5.1-bugteam -> bug 34773 tree · e142ffde
      Georgi Kodinov authored
      e142ffde
    • Gleb Shchepa's avatar
      manual merge 5.0-bugteam --> 5.1-bugteam · a99bc695
      Gleb Shchepa authored
      a99bc695
    • Gleb Shchepa's avatar
      automerge 5.0-bugteam --> 5.1-bugteam · fe3aee30
      Gleb Shchepa authored
      fe3aee30
    • Gleb Shchepa's avatar
      Bug #37894: Assertion in init_read_record_seq in handler.h line 1444 · 27f4c34b
      Gleb Shchepa authored
      Select with a "NULL NOT IN" condition containing complex
      subselect from the same table as in the outer select failed
      with an assertion.
      
      
      The failure was caused by a concatenation of circumstances:
      1) an inner select was optimized by make_join_statistics to use
         the QUICK_RANGE_SELECT access method (that implies an index
         scan of the table);
      2) a subselect was independent (constant) from the outer select;
      3) a condition was pushed down into inner select.
      
      During the evaluation of a constant IN expression an optimizer
      temporary changed the access method from index scan to table
      scan, but an engine handler was already initialized for index
      access by make_join_statistics. That caused an assertion.
      
      
      Unnecessary index initialization has been removed from
      the QUICK_RANGE_SELECT::init method (QUICK_RANGE_SELECT::reset
      reinvokes this initialization).
      27f4c34b
    • Gleb Shchepa's avatar
      Bug #39283: Date returned as VARBINARY to client for queries · e7520c4b
      Gleb Shchepa authored
                  with COALESCE and JOIN
      
      The server returned to a client the VARBINARY column type
      instead of the DATE type for a result of the COALESCE,
      IFNULL, IF, CASE, GREATEST or LEAST functions if that result
      was filesorted in an anonymous temporary table during
      the query execution.
      
      For example:
        SELECT COALESCE(t1.date1, t2.date2) AS result
          FROM t1 JOIN t2 ON t1.id = t2.id ORDER BY result;
      
      
      To create a column of various date/time types in a
      temporary table the create_tmp_field_from_item() function
      uses the Item::tmp_table_field_from_field_type() method
      call. However, fields of the MYSQL_TYPE_NEWDATE type were
      missed there, and the VARBINARY columns were created
      by default.
      Necessary condition has been added.
      e7520c4b
    • Georgi Kodinov's avatar
      Bug #32124 addendum #2 · ac0027ae
      Georgi Kodinov authored
       - fixed an unitialized memory read
       - fixed a compilation warning
       - added a suppression for FC9 x86_64
      ac0027ae
  2. 09 Oct, 2008 6 commits
  3. 08 Oct, 2008 3 commits
    • Georgi Kodinov's avatar
      merge 5.1-bugteam -> bug 32124 5.1 tree · 8c6ffe36
      Georgi Kodinov authored
      8c6ffe36
    • Georgi Kodinov's avatar
      Bug #32124: crash if prepared statements refer to variables in the where clause · 489ad44a
      Georgi Kodinov authored
                        
      The code to get read the value of a system variable was extracting its value 
      on PREPARE stage and was substituting the value (as a constant) into the parse tree.
      Note that this must be a reversible transformation, i.e. it must be reversed before
      each re-execution.
      Unfortunately this cannot be reliably done using the current code, because there are
      other non-reversible source tree transformations that can interfere with this
      reversible transformation.
      Fixed by not resolving the value at PREPARE, but at EXECUTE (as the rest of the 
      functions operate). Added a cache of the value (so that it's constant throughout
      the execution of the query). Note that the cache also caches NULL values.
      Updated an obsolete related test suite (variables-big) and the code to test the 
      result type of system variables (as per bug 74).
      489ad44a
    • Marc Alff's avatar
      Merge 5.1-bugteam -> local bugfix branch · e300184c
      Marc Alff authored
      e300184c
  4. 07 Oct, 2008 10 commits
  5. 06 Oct, 2008 14 commits
    • Marc Alff's avatar
      Bug#36768 (partition_info::check_partition_info() reports mal formed · e76bb8c6
      Marc Alff authored
      warnings)
      
      Before this fix, several places in the code would raise a warning with an
      error code 0, making it impossible for a stored procedure, a connector,
      or a client application to trigger logic to handle the warning.
      Also, the warning text was hard coded, and therefore not translated.
      
      With this fix, new errors numbers have been created to represent these
      warnings, and the warning text is coded in the errmsg.txt file.
      e76bb8c6
    • Guilhem Bichot's avatar
      merge · ded93b21
      Guilhem Bichot authored
      ded93b21
    • Chad MILLER's avatar
    • Chad MILLER's avatar
      Fix autoconf substitution and evaluation of a string inside single quotes · 5cee4d7c
      Chad MILLER authored
      so that if the substitution contains single-quotes, the program will fail.
      5cee4d7c
    • Tatiana A. Nurnberg's avatar
      WL#4403 deprecate @log and @slow_log_queries variables · 1ad9d235
      Tatiana A. Nurnberg authored
      Adds --general-log-file, --slow-query-log-file command-
      line options to match system variables of the same names.
      
      Deprecates --log, --log-slow-queries command-line option
      and log, log_slow_queries system-variables for v7.0; they
      are superseded by general_log/general_log_file and
      slow_query_log/slow_query_log_file, respectively.
      1ad9d235
    • Georgi Kodinov's avatar
      Bug#34773: query with explain extended and derived table / other table · b5f152dc
      Georgi Kodinov authored
      crashes server
      
      When creating temporary table that contains aggregate functions a 
      non-reversible source transformation was performed to redirect aggregate
      function arguments towards temporary table columns.
      This caused EXPLAIN EXTENDED to fail because it was trying to resolve
      references to the (freed) temporary table.
      Fixed by preserving the original aggregate function arguments and
      using them (instead of the transformed ones) for EXPLAIN EXTENDED.
      b5f152dc
    • Guilhem Bichot's avatar
      Fix for BUG#31612 · f8670e2c
      Guilhem Bichot authored
      "Trigger fired multiple times leads to gaps in auto_increment sequence".
      The bug was that if a trigger fired multiple times inside a top
      statement (for example top-statement is a multi-row INSERT,
      and trigger is ON INSERT), and that trigger inserted into an auto_increment
      column, then gaps could be observed in the auto_increment sequence,
      even if there were no other users of the database (no concurrency).
      It was wrong usage of THD::auto_inc_intervals_in_cur_stmt_for_binlog.
      Note that the fix changes "class handler", I'll tell the Storage Engine API team.
      f8670e2c
    • Chad MILLER's avatar
      Merge fix for bug 11122. · e1fa6c06
      Chad MILLER authored
      e1fa6c06
    • Chad MILLER's avatar
      Merge fix for bug 11122. · 7e59ecb1
      Chad MILLER authored
      7e59ecb1
    • Chad MILLER's avatar
    • Alexey Botchkov's avatar
      keep compiler happy · 4be617cb
      Alexey Botchkov authored
      4be617cb
    • Alexey Botchkov's avatar
      Bug#38005 Partitions: error with insert select. · acdaa9ae
      Alexey Botchkov authored
      MyISAM blocks index usage for bulk insert into zero-records tables.
      See ha_myisam::start_bulk_insert() lines from
      ...
          if (file->state->records == 0 ...
      ...
      
      That causes problems for partition engine when some partitions have records some not
      as the engine uses same access method for all partitions.
      
      Now partition engine doesn't call index_first/index_last
      for empty tables.
      
      per-file comments:
        mysql-test/r/partition.result
              Bug#38005 Partitions: error with insert select.
              test result
      
        mysql-test/t/partition.test
              Bug#38005 Partitions: error with insert select.
              test case
      
        sql/ha_partition.cc
              Bug#38005 Partitions: error with insert select.
              ha_engine::index_first and
              ha_engine::index_last not called for empty tables.
      acdaa9ae
    • Chad MILLER's avatar
      Merge fix for join-testcase failure. · 33f69718
      Chad MILLER authored
      33f69718
    • Chad MILLER's avatar
      Merge fix for join-testcase failure. · 79e10003
      Chad MILLER authored
      79e10003