1. 15 Nov, 2007 1 commit
  2. 11 Nov, 2007 2 commits
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · 8321278f
      unknown authored
      into  mysql.com:/misc/mysql/31700/51-31700
      
      8321278f
    • unknown's avatar
      Merge gleb.loc:/home/uchum/5.0-opt · aa95c4a7
      unknown authored
      into  gleb.loc:/home/uchum/5.1-opt
      
      
      sql/item.cc:
        Auto merged
      sql/item.h:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_subselect.cc:
        Auto merged
      sql/sp_rcontext.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      mysql-test/r/subselect.result:
        Merge with 5.0-opt.
      mysql-test/t/subselect.test:
        Merge with 5.0-opt.
      aa95c4a7
  3. 10 Nov, 2007 19 commits
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · cde21b92
      unknown authored
      into  mysql.com:/scratch/tnurnberg/31700/51-31700
      
      
      sql/sql_select.cc:
        Auto merged
      cde21b92
    • unknown's avatar
      Bug#31700: thd->examined_row_count not incremented for 'const' type queries · fd7ab763
      unknown authored
      add 5.1-specific test showing that 'const' access increments 'examined'
      counter in slow query log.
      
      
      mysql-test/r/log_tables.result:
        5.1-only test showing that 'const' access increments counters
      mysql-test/t/log_tables.test:
        5.1-only test showing that 'const' access increments counters
      fd7ab763
    • unknown's avatar
      Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · c0df12e3
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.0-opt
      
      c0df12e3
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.0-opt-28076 · 55fad0d6
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.0-opt
      
      
      sql/item_cmpfunc.cc:
        Auto merged
      55fad0d6
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/mysql-5.0-opt · 13451ac1
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt
      
      
      mysql-test/r/select.result:
        Auto merged
      mysql-test/t/select.test:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      13451ac1
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug32202/my51-bug26215 · 440be5ba
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt
      
      
      sql/sql_select.cc:
        Auto merged
      440be5ba
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug32202/my50-bug26215 · 158e4dd1
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
      
      
      sql/sql_select.cc:
        Auto merged
      158e4dd1
    • unknown's avatar
      Fixed bug #28076: inconsistent binary/varbinary comparison. · 419eb9aa
      unknown authored
      After adding an index the <VARBINARY> IN (SELECT <BINARY> ...)
      clause returned a wrong result: the VARBINARY value was illegally padded
      with zero bytes to the length of the BINARY column for the index search.
      (<VARBINARY>, ...) IN (SELECT <BINARY>, ... ) clauses are affected too.
      
      
      sql/item.cc:
        Fixed bug #28076.
        The Item_cache_str::save_in_field method has been overloaded
        to check cached values for an illegal padding before the saving
        into a field.
      sql/item.h:
        Fixed bug #28076.
        The Item_cache_str::is_varbinary flag has been added and the
        Item_cache_str::save_in_field method has been overloaded to prevent
        cached values from an illegal padding when saving in fields.
        The signature of the Item_cache::get_cache method has been
        changed to accept pointers to Item instead of Item_result
        values.
      sql/item_cmpfunc.cc:
        Fixed bug #28076.
        The Item_in_optimizer::fix_left method has been modified to
        to call Item_cache::get_cache in a new manner.
      sql/item_subselect.cc:
        Fixed bug #28076.
        The subselect_indexsubquery_engine::exec method has been
        modified to take into account field conversion errors
        (copy&paste from subselect_uniquesubquery_engine::exec).
      sql/sp_rcontext.cc:
        Fixed bug #28076.
        The sp_rcontext::create_case_expr_holder method has been
        modified to call Item_cache::get_cache in a new manner.
      sql/sp_rcontext.h:
        Fixed bug #28076.
        The sp_rcontext::create_case_expr_holder method signature
        has been modified to pass Item pointers to the
        Item_cache::get_cache method.
      sql/sql_class.cc:
        Fixed bug #28076.
        The select_max_min_finder_subselect::send_data method has been
        modified to call Item_cache::get_cache in a new manner.
      mysql-test/t/subselect.test:
        Added test case for bug #28076.
      mysql-test/r/subselect.result:
        Added test case for bug #28076.
      419eb9aa
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug32202/my50-bug26215 · 61f0d69e
      unknown authored
      into  polly.(none):/home/kaa/src/opt/bug32202/my51-bug26215
      
      
      mysql-test/r/group_by.result:
        Manual merge.
      mysql-test/t/group_by.test:
        Manual merge.
      sql/sql_select.cc:
        Manual merge.
      61f0d69e
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.1-opt · 1aa96453
      unknown authored
      into  mysql.com:/home/hf/work/31893/my51-31893
      
      1aa96453
    • unknown's avatar
      Merge mysql.com:/misc/mysql/31700/50-31700 · 2e05c63d
      unknown authored
      into  mysql.com:/misc/mysql/31700/51-31700
      
      
      sql/sql_class.h:
        Auto merged
      sql/sql_select.cc:
        manual merge
      2e05c63d
    • unknown's avatar
      Bug#31700: thd->examined_row_count not incremented for 'const' type queries · d80c681f
      unknown authored
      UNIQUE (eq-ref) lookups result in table being considered as a "constant" table.
      Queries that consist of only constant tables are processed in do_select() in a
      special way that doesn't invoke evaluate_join_record(), and therefore doesn't
      increase the counters join->examined_rows and join->thd->row_count.
      
      The patch increases these counters in this special case.
      
      NOTICE:
      This behavior seems to contradict what the documentation says in Sect. 5.11.4:
      "Queries handled by the query cache are not added to the slow query log, nor
      are queries that would not benefit from the presence of an index because the
      table has zero rows or one row."
      
      No test case in 5.0 as issue shows only in slow query log, and other counters
      can give subtly different values (with regard to counting in create_sort_index(),
      synthetic rows in ROLLUP, etc.).
      
      
      sql/sql_class.h:
        add documentation for some variables
      sql/sql_select.cc:
        Don't forget const tables when counting read records!
      d80c681f
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · 1402b141
      unknown authored
      into  mysql.com:/misc/mysql/31800/51-31800
      
      
      mysql-test/r/select.result:
        Auto merged
      mysql-test/t/select.test:
        Auto merged
      1402b141
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 1220e719
      unknown authored
      into  mysql.com:/scratch/tnurnberg/31800/50-31800
      
      
      mysql-test/r/select.result:
        Auto merged
      mysql-test/t/select.test:
        Auto merged
      1220e719
    • unknown's avatar
      Merge mysql.com:/misc/mysql/31800/50-31800 · a29d1a97
      unknown authored
      into  mysql.com:/misc/mysql/31800/51-31800
      
      
      mysql-test/r/select.result:
        Auto merged
      mysql-test/t/select.test:
        Auto merged
      sql-common/my_time.c:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      a29d1a97
    • unknown's avatar
      Bug#31800: Date comparison fails with timezone and slashes for greater than comparison · 2cb9a44c
      unknown authored
      BETWEEN was more lenient with regard to what it accepted as a DATE/DATETIME
      in comparisons than greater-than and less-than were. ChangeSet makes < >
      comparisons similarly robust with regard to trailing garbage (" GMT-1")
      and "missing" leading zeros. Now all three comparators behave similarly
      in that they throw a warning for "junk" at the end of the data, but then
      proceed anyway if possible. Before < > fell back on a string- (rather than
      date-) comparison when a warning-condition was raised in the string-to-date
      conversion. Now the fallback only happens on actual errors, while warning-
      conditions still result in a warning being to delivered to the client.
      
      
      mysql-test/r/select.result:
        Show that we compare DATE/DATETIME-like strings as date(time)s
        now, rather than as bin-strings.
        Adjust older result as "2005-09-3a" is now correctly seen as
        "2005-09-3" + trailing garbage, rather than as "2005-09-30".
      mysql-test/t/select.test:
        Show that we compare DATE/DATETIME-like strings as date(time)s
        now, rather than as bin-strings.
      sql-common/my_time.c:
        correct/clarify date-related comments, particulary for check_date().
        doxygenize comment while at it.
      sql/item_cmpfunc.cc:
        get_date_from_str() no longer signals an error when all we had
        was a warning-condition -- and one we already gave the user a
        warning for at that. Preamble doxygenized.
      2cb9a44c
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · 9810cfda
      unknown authored
      into  mysql.com:/misc/mysql/31990/51-31990
      
      9810cfda
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · d6434947
      unknown authored
      into  mysql.com:/misc/mysql/31990/50-31990
      
      d6434947
    • unknown's avatar
      Merge mysql.com:/misc/mysql/31990/50-31990 · ef186d26
      unknown authored
      into  mysql.com:/misc/mysql/31990/51-31990
      
      
      mysql-test/r/cast.result:
        Auto merged
      mysql-test/t/cast.test:
        Auto merged
      sql/item_timefunc.cc:
        Auto merged
      sql/item_timefunc.h:
        Auto merged
      ef186d26
  4. 09 Nov, 2007 6 commits
    • unknown's avatar
      Fix for bug #32202: ORDER BY not working with GROUP BY · 23ef7bae
      unknown authored
      The bug is a regression introduced by the fix for bug30596. The problem
      was that in cases when groups in GROUP BY correspond to only one row,
      and there is ORDER BY, the GROUP BY was removed and the ORDER BY
      rewritten to ORDER BY <group_by_columns> without checking if the
      columns in GROUP BY and ORDER BY are compatible. This led to
      incorrect ordering of the result set as it was sorted using the
      GROUP BY columns. Additionaly, the code discarded ASC/DESC modifiers
      from ORDER BY even if its columns were compatible with the GROUP BY
      ones.
      
      This patch fixes the regression by checking if ORDER BY columns form a
      prefix of the GROUP BY ones, and rewriting ORDER BY only in that case,
      preserving the ASC/DESC modifiers. That check is sufficient, since the
      GROUP BY columns contain a unique index.
      
      
      mysql-test/r/group_by.result:
        Added a test case for bug #32202.
      mysql-test/t/group_by.test:
        Added a test case for bug #32202.
      sql/sql_select.cc:
        In cases when groups in GROUP BY correspond to only one row and there
        is ORDER BY, rewrite the query to ORDER BY <group_by_columns> only if
        the columns in ORDER BY and GROUP BY are compatible, i.e. either one
        forms a prefix for another.
      23ef7bae
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/mysql-5.0-opt · 3dd9ad28
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt
      
      
      sql/sql_udf.cc:
        Auto merged
      3dd9ad28
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug32020/my51-bug31445 · 0f6b5074
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt
      
      
      sql/sql_udf.cc:
        Auto merged
      0f6b5074
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug32020/my50-bug31445 · 349dbad4
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
      
      
      sql/sql_udf.cc:
        Auto merged
      349dbad4
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug32020/my50-bug31445 · b83c00f4
      unknown authored
      into  polly.(none):/home/kaa/src/opt/bug32020/my51-bug31445
      
      
      mysql-test/r/skip_grants.result:
        Auto merged
      mysql-test/t/skip_grants.test:
        Auto merged
      sql/sql_udf.cc:
        Auto merged
      b83c00f4
    • unknown's avatar
      Fix for bug #32020: loading udfs while --skip-grant-tables is enabled · bae65dd2
      unknown authored
      causes out of memory errors
      
      The code in mysql_create_function() and mysql_drop_function() assumed
      that the only reason for UDFs being uninitialized at that point is an
      out-of-memory error during initialization. However, another possible 
      reason for that is the --skip-grant-tables option in which case UDF 
      initialization is skipped and UDFs are unavailable.
      
      The solution is to check whether mysqld is running with
      --skip-grant-tables and issue a proper error in such a case.
      
      
      mysql-test/r/skip_grants.result:
        Added a test case for bug #32020.
      mysql-test/t/skip_grants.test:
        Added a test case for bug #32020.
      sql/sql_udf.cc:
        Issue a proper error when a user tries to CREATE/DROP a UDF 
        on a server running with the --skip-grant-tables option.
      bae65dd2
  5. 08 Nov, 2007 8 commits
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/mysql-5.0-opt · 015ed8e6
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt
      
      
      mysql-test/r/select.result:
        Auto merged
      mysql-test/t/select.test:
        Auto merged
      015ed8e6
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug32103/my51-bug26215 · ef527dcf
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt
      
      
      mysql-test/r/select.result:
        Auto merged
      mysql-test/t/select.test:
        Auto merged
      ef527dcf
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/mysql-4.1-opt · 09b57e5a
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
      
      09b57e5a
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug32103/my50-bug26215 · 47cd5665
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
      
      
      mysql-test/r/select.result:
        Auto merged
      mysql-test/t/select.test:
        Auto merged
      47cd5665
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug32103/my41-bug26215 · d3f56cb1
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-4.1-opt
      
      d3f56cb1
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug32103/my50-bug26215 · 53bfee18
      unknown authored
      into  polly.(none):/home/kaa/src/opt/bug32103/my51-bug26215
      
      
      mysql-test/r/select.result:
        Auto merged
      mysql-test/t/select.test:
        Auto merged
      sql/item.h:
        Auto merged
      53bfee18
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug32103/my41-bug26215 · 01a65b40
      unknown authored
      into  polly.(none):/home/kaa/src/opt/bug32103/my50-bug26215
      
      
      mysql-test/t/select.test:
        Auto merged
      mysql-test/r/select.result:
        Manual merge.
      sql/item.h:
        Manual merge.
      01a65b40
    • unknown's avatar
      Bug#31990: MINUTE() and SECOND() return bogus results when used on a DATE · 3ab9e540
      unknown authored
      HOUR(), MINUTE(), ... returned spurious results when used on a DATE-cast.
      This happened because DATE-cast object did not overload get_time() method
      in superclass Item. The default method was inappropriate here and
      misinterpreted the data.
      
      Patch adds missing method; get_time() on DATE-casts now returns SQL-NULL
      on NULL input, 0 otherwise. This coincides with the way DATE-columns
      behave.
      
      
      mysql-test/r/cast.result:
        Show that HOUR(), MINUTE(), ... return sensible values when used
        on DATE-cast objects, namely NULL for NULL-dates and 0 otherwise.
        Show that this coincides with how DATE-columns behave.
      mysql-test/t/cast.test:
        Show that HOUR(), MINUTE(), ... return sensible values when used
        on DATE-cast objects, namely NULL for NULL-dates and 0 otherwise.
        Show that this coincides with how DATE-columns behave.
      sql/item_timefunc.cc:
        Add get_time() method to DATE-cast object to overload
        the method in Item superclass that would return spurious
        results. Return zero-result; flag NULL if input was NULL.
      sql/item_timefunc.h:
        Add get_time() declaration to DATE-cast object.
      3ab9e540
  6. 07 Nov, 2007 3 commits
    • unknown's avatar
      Fix for bug #32103: optimizer crash when join on int and mediumint with · 70cbef8e
      unknown authored
      variable in where clause.
      
      Problem: the new_item() method of Item_uint used an incorrect
      constructor. "new Item_uint(name, max_length)" calls
      Item_uint::Item_uint(const char *str_arg, uint length) which assumes the
      first argument to be the string representation of the value, not the
      item's name. This could result in either a server crash or incorrect
      results depending on usage scenarios.
      
      Fixed by using the correct constructor in new_item():
      Item_uint::Item_uint(const char *str_arg, longlong i, uint length).
      
      
      mysql-test/r/select.result:
        Added a test case for bug #32103.
      mysql-test/t/select.test:
        Added a test case for bug #32103.
      sql/item.h:
        Use the correct constructor for Item_uint in Item_uint::new_item().
      70cbef8e
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug25421/my51-bug31445 · 9075b67c
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.1-opt
      
      
      sql/opt_range.cc:
        Auto merged
      9075b67c
    • unknown's avatar
      Fix for bug #25421: MySQL threads don't respond to the kill command · fbb0621a
      unknown authored
      Calculating the estimated number of records for a range scan may take a
      significant time, and it was impossible for a user to interrupt that
      process by killing the connection or the query.
      
      Fixed by checking the thread's 'killed' status in check_quick_keys() and
      interrupting the calculation process if it is set to a non-zero value.
      
      
      sql/opt_range.cc:
        Check the thread's 'killed' status in check_quick_keys() and
        interrupt the calculation process if it is set to a non-zero value.
      fbb0621a
  7. 06 Nov, 2007 1 commit