1. 18 Feb, 2008 1 commit
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.0-opt · 3ae38b49
      unknown authored
      into  mysql.com:/home/hf/work/32942/my50-32942
      
      
      sql/sql_select.cc:
        Auto merged
      mysql-test/r/select.result:
        merging
      mysql-test/t/select.test:
        merging
      3ae38b49
  2. 17 Feb, 2008 5 commits
    • unknown's avatar
      Merge ssh://bk-internal.mysql.com//home/bk/mysql-5.0-opt · f9bf3eef
      unknown authored
      into  kaamos.(none):/data/src/opt/mysql-5.0-opt
      
      
      sql/item.cc:
        Auto merged
      f9bf3eef
    • unknown's avatar
      Bug #32942 now() - interval '7200' second NOT pre-calculated, causing "full table scan" · 274cdcdd
      unknown authored
      Problem is not about intervals and doesn't actually cause 'full table scan'.
      We have an optimization for DISTINCT when we have
      'DISTINCT field_from_first_join_table' we don't need to read all the
      rows from the JOIN-ed table if we found one conforming row.
      It stopped working in 5.0 as we return NESTED_LOOP_OK if we came upon
      that case in the evaluate_join_record() and that doesn't break the
      recordreading loop in sub_select().
      
      Fixed by returning NESTED_LOOP_NO_MORE_ROWS in this case.
      
      
      mysql-test/r/select.result:
        Bug #32942 now() - interval '7200' second is NOT pre-calculated, causing "full table scan".
        
        test result
      mysql-test/t/select.test:
        Bug #32942 now() - interval '7200' second is NOT pre-calculated, causing "full table scan"
        
        test case
      sql/sql_select.cc:
        Bug #32942 now() - interval '7200' second NOT pre-calculated, causing "full table scan"
        
        return NESTED_LOOP_NO_MORE_ROWS when we don't need to read rows from
        this table anymore
      274cdcdd
    • unknown's avatar
      Merge kaamos.(none):/data/src/opt/mysql-4.1-opt · d6060cd5
      unknown authored
      into  kaamos.(none):/data/src/opt/mysql-5.0-opt
      
      d6060cd5
    • unknown's avatar
      Merge kaamos.(none):/data/src/mysql-5.0 · c9a13e81
      unknown authored
      into  kaamos.(none):/data/src/opt/mysql-5.0-opt
      
      
      mysql-test/r/variables.result:
        Auto merged
      mysql-test/t/variables.test:
        Auto merged
      sql/item.cc:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/sql_acl.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      mysql-test/r/sp.result:
        Manual merge.
      mysql-test/t/sp.test:
        Manual merge.
      c9a13e81
    • unknown's avatar
      Merge kaamos.(none):/data/src/mysql-4.1 · a5d041cf
      unknown authored
      into  kaamos.(none):/data/src/opt/mysql-4.1-opt
      
      a5d041cf
  3. 15 Feb, 2008 2 commits
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 54d4452d
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B31887-5.0-opt
      
      
      sql/item.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      54d4452d
    • unknown's avatar
      Bug #31887: DML Select statement not returning same results · 72e48bf2
      unknown authored
      when executed in version 5
      
      Zero fill is a field attribute only. So we can't always 
      propagate  constants for zerofill fields : the values and 
      expression results don't have that flag.
      
      Fixed by converting the const value to a string and 
      using that in const propagation when the context allows it. 
      Disable const propagation for fields with ZEROFILL flag in
      all the other cases.
      
      
      mysql-test/r/compare.result:
        Bug #31887: test case
      mysql-test/t/compare.test:
        Bug #31887: test case
      sql/item.cc:
        Bug #31887: If the context allows conversion
        of an int constant to a zero-filled string constant
        put the string constant instead of the int constant
        when doing const propagation
      sql/mysql_priv.h:
        Bug #31887: a macro to get all the Field_num
        descendant fields.
      72e48bf2
  4. 14 Feb, 2008 1 commit
  5. 13 Feb, 2008 3 commits
    • unknown's avatar
      Merge host.loc:/home/uchum/work/5.0-opt-gca · 81b31789
      unknown authored
      into  host.loc:/home/uchum/work/5.0-opt
      
      81b31789
    • unknown's avatar
      Fixed bug#31194: Privilege ordering does not order properly · 6ffb9eaf
      unknown authored
                       for wildcard values.
      The server ignored escape character before wildcards during
      the calculation of priority values for sorting of a privilege
      list. (Actually the server counted an escape character as an
      ordinary wildcard like % or _). I.e. the table name template
      with a wildcard character like 'tbl_1' had higher priority in
      a privilege list than concrete table name without wildcards
      like 'tbl\_1', and some privileges of 'tbl\_1' was hidden
      by privileges for 'tbl_1'.
      
      The get_sort function has been modified to ignore escaped
      wildcards as usual.
      
      
      
      mysql-test/r/grant3.result:
        Added test case for bug#31194.
      mysql-test/t/grant3.test:
        Added test case for bug#31194.
      sql/sql_acl.cc:
        Fixed bug#31194.
        The server used the wild_prefix escape character (usually \-character)
        like % and _ wildcards in the get_sort function for sorting weights
        calculation.
        
        The get_sort function has been modified to ignore escaped wildcards
        and alone escapes like in the wild_case_compare function.
      6ffb9eaf
    • unknown's avatar
      Fixed bug#33764: Wrong result with IN(), CONCAT() and implicit · cb5c4940
      unknown authored
                       type conversion.
      
      Instead of copying of whole character string from a temporary
      buffer, the server copied a short-living pointer to that string
      into a long-living structure. That has been fixed.
      
      
      mysql-test/r/select.result:
        Added test case for bug#33764.
      mysql-test/t/select.test:
        Added test case for bug#33764.
      sql/item_cmpfunc.cc:
        Fixed bug#33764.
        Copying of a pointer has been replaced with an optional copying of
        a whole array to a newly allocated memory space in case of a
        functional source item.
      cb5c4940
  6. 12 Feb, 2008 3 commits
    • unknown's avatar
      Merge mbp:src/opt/bug33389/my50-bug25162 · 83af5b17
      unknown authored
      into  kaamos.(none):/data/src/opt/mysql-5.0-opt
      
      
      sql/item.cc:
        Auto merged
      83af5b17
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 8f68cac2
      unknown authored
      into  moonbone.local:/work/31590-bug-5.0-opt-mysql
      
      8f68cac2
    • unknown's avatar
      Fix for bug #33389: Selecting from a view into a table from within SP · eee4d8cc
      unknown authored
                          or trigger crashes server
      
      Under some circumstances a combination of VIEWs, subselects with outer
      references and PS/SP/triggers could lead to use of uninitialized memory
      and server crash as a result.
      
      Fixed by changing the code in Item_field::fix_fields() so that in cases
      when the field is a VIEW reference, we first check whether the field
      is also an outer reference, and mark it appropriately before returning.
      
      
      mysql-test/r/view.result:
        Added a test case for bug #33389.
      mysql-test/t/view.test:
        Added a test case for bug #33389.
      sql/item.cc:
        In cases when in Item_field::fix_fields() from_field is a view reference,
        do not return too early, i.e. before marking the reference as an outer
        one when needed.
      eee4d8cc
  7. 11 Feb, 2008 3 commits
  8. 10 Feb, 2008 4 commits
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.0-opt · 4c995786
      unknown authored
      into  mysql.com:/home/hf/work/33796/my50-33796
      
      4c995786
    • unknown's avatar
      Merge mysql.com:/home/hf/work/33796/my41-33796 · 381bfc8a
      unknown authored
      into  mysql.com:/home/hf/work/33796/my50-33796
      
      
      libmysql/libmysql.c:
        merging
      libmysqld/lib_sql.cc:
        merging
      381bfc8a
    • unknown's avatar
      Bug #33796 Memory leak for prepared statements in embedded server. · 075e0220
      unknown authored
      Field data for a query was stored to the stmt->alloc that is emptied
      with mysql_stmt_close statement only. That means a lot of memory can
      be occupied without a reason if used doesn't call mysql_stmt_close often.
      
      
      libmysql/libmysql.c:
        Bug #33796 Memory leak for prepared statements in embedded server.
        
        Clean up result->alloc even if there's no 'data' created
      libmysqld/lib_sql.cc:
        Bug #33796 Memory leak for prepared statements in embedded server.
        
        alloc 'fields' in the 'result.alloc' as the 'mem_root' is only cleaned with
        mysql_stmt_close'
      075e0220
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 8bcb5973
      unknown authored
      into  mysql.com:/home/tnurnberg/21567/50-21567
      
      
      sql/mysqld.cc:
        Auto merged
      8bcb5973
  9. 08 Feb, 2008 5 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 955f1885
      unknown authored
      into  dipika.(none):/opt/local/work/mysql-5.0-runtime
      
      955f1885
    • unknown's avatar
      Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · a14095af
      unknown authored
      into  host.loc:/home/uchum/work/5.0-opt
      
      a14095af
    • unknown's avatar
      Fixed bug#15409: Columns with 64-element SET may not be updated with integers. · 1dbe6997
      unknown authored
      SET column storing procedure has been modified to be 64bit-clean.
      
      
      mysql-test/r/type_set.result:
        Added test case for bug#15409.
      mysql-test/t/type_set.test:
        Added test case for bug#15409.
      sql/field.cc:
        Fixed bug#15409.
        The Field_set::store(longlong nr,...) method incompletely
        calculates a bit mask for the comparison with a given number:
        if that number is greater than 0x7F00 0000 0000 0000 (LONGLONG_MAX),
        it uses zero bit mask instead of 0xFFFF FFFF FFFF FFFF (ULONGLONG_MAX).
        
        Incomplete expression has been replaced with a set_bits macro call.
      1dbe6997
    • unknown's avatar
      Bug#33798 prepared statements improperly handle large unsigned ints · cea021da
      unknown authored
      The unsignedness of large integer user variables was not being
      properly preserved when feeded to prepared statements. This was
      happening because the unsigned flags wasn't being updated when
      converting the user variable is converted to a parameter.
      
      The solution is to copy the unsigned flag when converting the
      user variable to a parameter and take the unsigned flag into
      account when converting the integer to a string.
      
      
      mysql-test/r/binlog.result:
        Add test case result for Bug#33798
      mysql-test/r/ps.result:
        Add test case result for Bug#33798
      mysql-test/t/binlog.test:
        Add test case for Bug#33798
      mysql-test/t/ps.test:
        Add test case for Bug#33798
      sql/item.cc:
        Take the unsigned flag into account when converting the
        user variable.
      cea021da
    • unknown's avatar
      Bug#31590: Wrong error message on sort buffer being too small. · 2c468127
      unknown authored
      The out of memory error was thrown when the sort buffer size were too small.
      This led to a user confusion.
      
      Now filesort throws the error message about sort buffer being too small.
      
      
      mysql-test/t/order_by.test:
        Added a test case for the bug#31590: Wrong error message on sort buffer being too small.
      mysql-test/r/order_by.result:
        Added a test case for the bug#31590: Wrong error message on sort buffer being too small.
      sql/filesort.cc:
        Bug#31590: Wrong error message on sort buffer being too small.
        Now filesort throws the error message about sort buffer being too small
        instead of out of memory error.
      2c468127
  10. 07 Feb, 2008 9 commits
    • unknown's avatar
      25d56d7b
    • unknown's avatar
      Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · ec139476
      unknown authored
      into  mysql.com:/home/psergey/mysql-5.0-bug27732
      
      ec139476
    • unknown's avatar
      Merge pilot.mysql.com:/data/msvensson/mysql/bug31004/my50-bug31004 · 37d8001d
      unknown authored
      into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.0-runtime
      
      
      client/mysqltest.c:
        Auto merged
      37d8001d
    • unknown's avatar
      Merge host.loc:/home/uchum/work/5.0-opt-34223 · 27db386d
      unknown authored
      into  host.loc:/home/uchum/work/5.0-opt
      
      27db386d
    • unknown's avatar
      innodb_mysql.test, variables.result, variables.test, innodb_mysql.result: · 9c4bbbe2
      unknown authored
        Minor post-fix for bug#34223.
      
      
      mysql-test/r/innodb_mysql.result:
        Minor post-fix for bug#34223.
      mysql-test/r/variables.result:
        Minor post-fix for bug#34223.
      mysql-test/t/innodb_mysql.test:
        Minor post-fix for bug#34223.
      mysql-test/t/variables.test:
        Minor post-fix for bug#34223.
      9c4bbbe2
    • unknown's avatar
      BUG#27732 "Possible memory leak with index_merge" · 82f24597
      unknown authored
      The bug was that handler::clone/handler::ha_open() call caused allocation of 
      cloned_copy->ref on the handler->table->mem_root. The allocated memory could not 
      be reclaimed until the table is flushed, so it was possible to exhaust memory by 
      repeatedly running index_merge queries without doing table flushes.  
      
      The fix:
      - make handler::clone() allocate new_handler->ref on the passed mem_root 
      - make handler::ha_open() not allocate this->ref if it has already been allocated
      There is no testcase as it is not possible to check small leaks from testsuite.
      
      
      sql/handler.cc:
        BUG#27732 "Possible memory leak with index_merge"
        - make handler::clone() allocate new_handler->ref on the passed mem_root 
        - make handler::ha_open() not allocate this->ref if it has already been allocated
      82f24597
    • unknown's avatar
      Merge host.loc:/home/uchum/work/5.0-opt-34223 · 95fc3a4c
      unknown authored
      into  host.loc:/home/uchum/work/5.0-opt
      
      95fc3a4c
    • unknown's avatar
      bdb.result: · 4fa75443
      unknown authored
        Minor post-fix for bug#30059.
      
      
      mysql-test/r/bdb.result:
        Minor post-fix for bug#30059.
      4fa75443
    • unknown's avatar
      Fixed bug#34223: Failure on assignment to my_innodb_autoextend_increment · 6023a58e
      unknown authored
      and my_innodb_commit_concurrency global variables.
      
      Type of the my_innodb_autoextend_increment and the
      my_innodb_commit_concurrency variables has been changed to
      GET_ULONG.
      
      
      
      mysql-test/r/variables.result:
        Added test case for bug#34223.
      mysql-test/t/variables.test:
        Added test case for bug#34223.
      sql/mysqld.cc:
        Fixed bug#34223.
        Last update of the getopt_ull_limit_value function introduced
        a sanity check for a variable type (only GET_UINT or GET_ULONG
        are valid types).
        However, my_innodb_autoextend_increment and
        my_innodb_commit_concurrency are declared as GET_LONG.
        Call stack is: 
                sys_var_long_ptr_global::update()
                fix_unsigned()
                getopt_ull_limit_value()
        
        Type of the my_innodb_autoextend_increment and the
        my_innodb_commit_concurrency variables has been changed to
        GET_ULONG.
      6023a58e
  11. 06 Feb, 2008 3 commits
    • unknown's avatar
      Fixed bug#30059. · f54528b9
      unknown authored
      Server handles truncation for assignment of too-long values
      into CHAR/VARCHAR/TEXT columns in a different ways when the
      truncated characters are spaces:
      1. CHAR(N) columns silently ignore end-space truncation;
      2. TEXT columns post a truncation warning/error in the
         non-strict/strict mode.
      3. VARCHAR columns always post a truncation note in
         any mode.
      
      Space truncation processing has been synchronised over
      CHAR/VARCHAR/TEXT columns: current behavior of VARCHAR
      columns has been propagated as standard.
      
      Binary-encoded string/BLOB columns are not affected.
      
      
      mysql-test/r/heap.result:
        Updated test case for bug#30059.
      mysql-test/r/innodb.result:
        Updated test case for bug#30059.
      mysql-test/r/myisam.result:
        Updated test case for bug#30059.
      mysql-test/r/strict.result:
        Updated test case for bug#30059.
      mysql-test/r/type_binary.result:
        Updated test case for bug#30059.
      mysql-test/r/warnings.result:
        Added test case for bug#30059.
      mysql-test/t/warnings.test:
        Added test case for bug#30059.
      sql/field.cc:
        Fixed bug#30059.
        The report_data_too_long function was replaced with the
        Field_longstr::report_if_important_data method.
        
        The Field_string::store and the Field_blob::store
        methods was synchronized with the Field_varstring::store
        method.
        Changes:
        1. to CHAR(N): posting of space truncation note has been added
           in both (strict and non-strict) modes;
        2. to BLOBs: a check for space truncation has been added,
           a warning in the non-strict mode and an error message in
           the strict mode have been replaced with a truncation note.
        
        Similar parts of Field_string::store, Field_blob::store and
        Field_varstring::store have been moved to the
        Field_longstr::report_if_important_data method.
      sql/field.h:
        Fixed bug#30059.
        The Field_longstr::report_if_important_data method has been declared.
      f54528b9
    • unknown's avatar
      Replace windows path separator backslash by unix path separator forward · 270e2f3c
      unknown authored
      slash in filenames also for Create_file_log_event.
      
      
      client/mysqlbinlog.cc:
        BUG#34355: mysqlbinlog outputs backslash as path separator for 4.1 binlogs
        Problem: When the windows version of mysqlbinlog reads 4.1 binlogs
        containing LOAD DATA INFILE, it outputs backslashes as path separators in
        filenames. However, the output is typically piped to a client, and client
        expects forward slashes.
        Fix: Replace '\\' by '/' in filenames.
      270e2f3c
    • unknown's avatar
      Raise version number after cloning 5.0.56 · 94e5b2ed
      unknown authored
      94e5b2ed
  12. 05 Feb, 2008 1 commit
    • unknown's avatar
      Bug #34305 show slave status handling segfaults when slave io is about · 89e828b4
      unknown authored
          to leave
      
      The artifact was caused by
      a flaw in concurrent accessing the slave's io thd by
      the io itself and a handling show slave status thread.
      Namely, show_master_info did not acquire mi->run_lock mutex that is
      specified for mi->io_thd member.
      
      Fixed with deploying the mutex locking and unlocking. The mutex is kept
      short time and without interleaving with mi->data_lock mutex.
      
      Todo: to report and fix an issue with 
          sys_var_slave_skip_counter::{methods} 
      seem to acquire incorrectly
           active_mi->rli.run_lock
      instead of the specified
           active_mi->rli.data_lock
      
      A test case is difficult to compose, so rpl_packet should continue serving
      as the indicator.
      
      
      sql/slave.cc:
        implementing a TODO left at 4.1 time:
        mending access to mi->io_thd with the specified mutex;
      sql/slave.h:
        adding a member name to the list of that run_lock guards.
      89e828b4