1. 25 Jul, 2006 1 commit
    • unknown's avatar
      Fixed bug#19862: Sort with filesort by function evaluates function twice · 9a63adc8
      unknown authored
      When there is no index defined filesort is used to sort the result of a
      query. If there is a function in the select list and the result set should be
      ordered by it's value then this function will be evaluated twice. First time to
      get the value of the sort key and second time to send its value to a user.
      This happens because filesort when sorts a table remembers only values of its
      fields but not values of functions.
      All functions are affected. But taking into account that SP and UDF functions
      can be both expensive and non-deterministic a temporary table should be used 
      to store their results and then sort it to avoid twice SP evaluation and to 
      get a correct result.
      
      If an expression referenced in an ORDER clause contains a SP or UDF 
      function, force the use of a temporary table.
      
      A new Item_processor function called func_type_checker_processor is added
      to check whether the expression contains a function of a particular type.
      
      
      mysql-test/t/udf.test:
        Added test case for bug#19862: Sort with filesort by function evaluates function twice
      mysql-test/t/sp.test:
        Added test case for bug#19862: Sort with filesort by function evaluates function twice
      mysql-test/r/sp.result:
        Added test case for bug#19862: Sort with filesort by function evaluates function twice
      mysql-test/r/udf.result:
        Added test case for bug#19862: Sort with filesort by function evaluates function twice
      sql/sql_select.cc:
        Fixed bug#19862: Sort with filesort by function evaluates function twice
        If an expression referenced in an ORDER clause contains a SP or UDF
        function, force the use of a temporary table.
      sql/item_func.h:
        Fixed bug#19862: Sort with filesort by function evaluates function twice
        A new Item_processor function called func_type_checker_processor is added
        to check whether the expression contains a function of a particular type.
      sql/item.h:
        Fixed bug#19862: Sort with filesort by function evaluates function twice
        A new Item_processor function called func_type_checker_processor is added
        to check whether the expression contains a function of a particular type.
      sql/item_func.cc:
        Fixed bug#19862: Sort with filesort by function evaluates function twice
        A new Item_processor function called func_type_checker_processor is added
        to check whether the expression contains a function of a particular type.
      9a63adc8
  2. 19 Jul, 2006 3 commits
    • unknown's avatar
      Added a test case with views for bug #17526. · f8dda7bf
      unknown authored
      
      mysql-test/r/func_str.result:
        Adjusted results for the test case of bug 17526.
      sql/item_strfunc.cc:
        Post-merge modification
      f8dda7bf
    • unknown's avatar
      Merge olga.mysql.com:/home/igor/mysql-4.1-opt · ef9e6346
      unknown authored
      into  olga.mysql.com:/home/igor/mysql-5.0-opt
      
      
      mysql-test/r/func_str.result:
        Auto merged
      mysql-test/t/func_str.test:
        Auto merged
      sql/item_strfunc.cc:
        Auto merged
      sql/item_strfunc.h:
        Auto merged
      ef9e6346
    • unknown's avatar
      Fixed bug #17526: incorrect print method · 6ec7976d
      unknown authored
      for class Item_func_trim. 
      For 4.1 it caused wrong output for EXPLAIN EXTENDED commands
      if expressions with the TRIM function of two arguments were used.
      For 5.0 it caused an error message when trying to select
      from a view with the TRIM function of two arguments.
      This unexpected error message was due to the fact that the
      print method for the class Item_func_trim was inherited from
      the class Item_func. Yet the TRIM function does not take a list
      of its arguments. Rather it takes the arguments in the form:
        [{BOTH | LEADING | TRAILING} [remstr] FROM] str) |
        [remstr FROM] str
      
      
      mysql-test/r/func_str.result:
        Added a test case for bug #17526: uncorrect print method
        for class Item_func_trim.
      mysql-test/t/func_str.test:
        Added a test case for bug #17526: incorrect print method
        for class Item_func_trim.
      sql/item_strfunc.cc:
        Fixed bug #17526: incorrect print method
        for class Item_func_trim.
            
        Added an implementation for the virtual function print
        in the class Item_func_trim.
        The implementation takes into account the fact the TRIM
        function takes the arguments in the following forms:
          [{BOTH | LEADING | TRAILING} [remstr] FROM] str) |
          [remstr FROM] str
      sql/item_strfunc.h:
        Fixed bug #17526: incorrect print method
        for class Item_func_trim.
            
        Added an implementation for the virtual function print
        in the class Item_func_trim.
        Declared a virtual method to return the mode of the TRIM 
        function: LEADING, TRAILING or BOTH.
        Added implementations of this method for Item_func_trim and
        its descendants Item_func_ltrim and Item_func_rtrim.
      6ec7976d
  3. 18 Jul, 2006 3 commits
  4. 17 Jul, 2006 5 commits
    • unknown's avatar
      Post-merge fix. · c3f0d2f6
      unknown authored
      c3f0d2f6
    • unknown's avatar
      Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 8972b0bf
      unknown authored
      into  rurik.mysql.com:/home/igor/mysql-5.0-opt
      
      
      mysql-test/r/subselect.result:
        Manual merge
      mysql-test/t/subselect.test:
        Manual merge
      8972b0bf
    • unknown's avatar
      Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · ddde1432
      unknown authored
      into  olga.mysql.com:/home/igor/mysql-5.0-opt
      
      
      ddde1432
    • unknown's avatar
      select.result, select.test: · 14d72663
      unknown authored
        Test case for bug#10977 altered to make it work in both plain and ps-protocol modes.
      
      
      mysql-test/t/select.test:
        Test case for bug#10977 altered to make it work in both plain and ps-protocol modes.
      mysql-test/r/select.result:
        Test case for bug#10977 altered to make it work in both plain and ps-protocol modes.
      14d72663
    • unknown's avatar
      mysql.test, mysql.result: · 9a5daa60
      unknown authored
        Corrected the test case after fixing bug#10977
      
      
      mysql-test/t/mysql.test:
        Corrected the test case after fixing bug#10977
      mysql-test/r/mysql.result:
        Corrected the test case after fixing bug#10977
      9a5daa60
  5. 16 Jul, 2006 1 commit
  6. 15 Jul, 2006 4 commits
    • unknown's avatar
      errmsg.txt: · 84245d4e
      unknown authored
        Fixed bug#10977: No warning issued if a column name is truncated
        New warning message is added.
      
      
      sql/share/errmsg.txt:
        Fixed bug#10977: No warning issued if a column name is truncated
        New warning message is added.
      84245d4e
    • unknown's avatar
      Fixed bug#10977: No warning issued if a column name is truncated · 1c96f2d7
      unknown authored
      When an alias is set to a column leading spaces are removed from the alias.
      But when this is done on aliases set by user this can lead to confusion.
      
      Now Item::set_name() method issues the warning if leading spaces were removed
      from an alias set by user.
      
      New warning message is added.
      
      
      mysql-test/t/select.test:
        Added test case for bug#10977:No warning issued if a column name is truncated.
      mysql-test/r/select.result:
        Added test case for bug#10977:No warning issued if a column name is truncated.
      sql/sql_yacc.yy:
        Fixed bug#10977: No warning issued if a column name is truncated
        The is_autogenerated_name flag is set before set_name() method call.
      sql/item.cc:
        Fixed bug#10977: No warning issued if a column name is truncated
        Now Item::set_name() method issues the warning if leading spaces were removed
        from an alias set by user.
      1c96f2d7
    • unknown's avatar
      Fixed bug #20869. · 10961504
      unknown authored
      The bug caused a crash of the server if a subquery with
      ORDER BY DESC used the range access method.
      The bug happened because the method QUICK_SELECT_DESC::reset
      was not reworked after MRR interface had been introduced.
      
      
      mysql-test/r/subselect.result:
        Added a test case for bug #20869.
      mysql-test/t/subselect.test:
        Added a test case for bug #20869.
      10961504
    • unknown's avatar
      Fixed bug #20519. · 203d46bb
      unknown authored
      The bug was due to a loss happened during a refactoring made
      on May 30 2005 that modified the function JOIN::reinit.
      As a result of it for any subquery the value of offset_limit_cnt
      was not restored for the following executions. Yet the first 
      execution of the subquery made it equal to 0.
      The fix restores this value in the function JOIN::reinit.  
      
      
      mysql-test/r/subselect.result:
        Added a test case fir bug #20519.
      mysql-test/t/subselect.test:
        Added a test case fir bug #20519.
      203d46bb
  7. 14 Jul, 2006 6 commits
    • unknown's avatar
      Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 233ff83c
      unknown authored
      into  rurik.mysql.com:/home/igor/mysql-5.0-opt
      
      
      VC++Files/sql/mysqld.dsp:
        Auto merged
      233ff83c
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt · e71cf7c4
      unknown authored
      into  rakia.(none):/home/kgeorge/mysql/autopush/B17212-4.1-opt
      
      
      e71cf7c4
    • unknown's avatar
      fix for a compatibility build problem on MacOSX intel. · 728fbb3a
      unknown authored
      Discussed with Kent.
      
      
      ndb/test/ndbapi/Makefile.am:
        Fix for a compatibility build problem on MacOSX Intel.
      728fbb3a
    • unknown's avatar
      Merge macbook.gmz:/Users/kgeorge/mysql/work/B17212-4.1-opt · 4f580b3e
      unknown authored
      into  macbook.gmz:/Users/kgeorge/mysql/work/B17212-5.0-opt
      
      
      mysql-test/r/innodb_mysql.result:
        Merge 4.1->5.0 for bug #17212
      mysql-test/t/innodb_mysql.test:
        Merge 4.1->5.0 for bug #17212
      sql/sql_select.cc:
        Merge 4.1->5.0 for bug #17212
      4f580b3e
    • unknown's avatar
      Correction for test tesults after pushing the fix for bug 19714. · 6c18e75c
      unknown authored
      
      mysql-test/r/ps_7ndb.result:
        Correction for test results after pushing the fix for bug 19714.
      6c18e75c
    • unknown's avatar
      Fixed bug #19714. · 1e442594
      unknown authored
      DESCRIBE returned the type BIGINT for a column of a view if the column
      was specified by an expression over values of the type INT.
          
      E.g. for the view defined as follows:
        CREATE VIEW v1 SELECT COALESCE(f1,f2) FROM t1
      DESCRIBE returned type BIGINT for the only column of the view if f1,f2 are
      columns of the INT type.
      At the same time DESCRIBE returned type INT for the only column of the table
      defined by the statement:
        CREATE TABLE t2 SELECT COALESCE(f1,f2) FROM t1.
          
      This inconsistency was removed by the patch.
      
      Now the code chooses between INT/BIGINT depending on the
      precision of the aggregated column type.
       
      Thus both DESCRIBE commands above returns type INT for v1 and t2.
       
      
      
      mysql-test/r/analyse.result:
        Adjusted the results after having fixed bug #19714.
      mysql-test/r/bigint.result:
        Adjusted the results after having fixed bug #19714.
      mysql-test/r/create.result:
        Adjusted the results after having fixed bug #19714.
      mysql-test/r/olap.result:
        Adjusted the results after having fixed bug #19714.
      mysql-test/r/ps_2myisam.result:
        Adjusted the results after having fixed bug #19714.
      mysql-test/r/ps_3innodb.result:
        Adjusted the results after having fixed bug #19714.
      mysql-test/r/ps_4heap.result:
        Adjusted the results after having fixed bug #19714.
      mysql-test/r/ps_5merge.result:
        Adjusted the results after having fixed bug #19714.
      mysql-test/r/ps_6bdb.result:
        Adjusted the results after having fixed bug #19714.
      mysql-test/r/ps_7ndb.result:
        Adjusted the results after having fixed bug #19714.
      mysql-test/r/sp.result:
        Adjusted the results after having fixed bug #19714.
      mysql-test/r/subselect.result:
        Adjusted the results after having fixed bug #19714.
      mysql-test/r/type_ranges.result:
        Adjusted the results after having fixed bug #19714.
      mysql-test/r/view.result:
        Added a test case for bug #19714.
      mysql-test/t/view.test:
        Added a test case for bug #19714.
      1e442594
  8. 13 Jul, 2006 4 commits
    • unknown's avatar
      Merge moonbone.local:/work/16302-bug-4.1-opt-mysql · 80eae1a3
      unknown authored
      into  moonbone.local:/work/tmp_merge-5.0-opt-mysql
      
      
      sql/item_subselect.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      mysql-test/r/subselect.result:
        Manual merge
      mysql-test/t/subselect.test:
        Manual merge
      80eae1a3
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0 · 805c33a5
      unknown authored
      into  moonbone.local:/work/tmp_merge-5.0-opt-mysql
      
      
      mysql-test/r/rpl_insert_id.result:
        Auto merged
      mysql-test/t/rpl_insert_id.test:
        Auto merged
      sql/item_strfunc.cc:
        Auto merged
      sql/item_strfunc.h:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      805c33a5
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · f783a15a
      unknown authored
      into  moonbone.local:/home/evgen/bk-trees/mysql-5.0-opt
      
      
      sql/item.h:
        Auto merged
      sql/item_strfunc.cc:
        Auto merged
      f783a15a
    • unknown's avatar
      Bug#20432: mysql client interprets commands in comments · 76215977
      unknown authored
      do not look for client-specific commands while inside a multi-line comment.
      we will allow multi-comments pretty much anywhere within SQL-statements,
      but client-specific commands (help, use, print, ...) must be the first token
      in the input.
      
      
      client/mysql.cc:
        Bug#20432: mysql client interprets commands in comments
      mysql-test/r/mysql_client.result:
        Bug#20432: mysql client interprets commands in comments
        test client-side parsing of comments and client-specific commands
      mysql-test/t/mysql_client.test:
        Bug#20432: mysql client interprets commands in comments
        test client-side parsing of comments and client-specific commands
      76215977
  9. 12 Jul, 2006 4 commits
    • unknown's avatar
      Fix a valgrind warning in type_date test. · a7dddd3b
      unknown authored
      
      sql/item_timefunc.cc:
        Fix a valgrind warning in type_date test.	
      a7dddd3b
    • unknown's avatar
      Merge dl145k.mysql.com:/data0/mkindahl/bkroot/mysql-5.0 · a08a6f9f
      unknown authored
      into  dl145k.mysql.com:/data0/mkindahl/bk/mysql-5.0-rpl
      
      
      ndb/include/kernel/GlobalSignalNumbers.h:
        Auto merged
      ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
        Auto merged
      ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
        Auto merged
      ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
        Auto merged
      ndb/src/ndbapi/ndberror.c:
        Auto merged
      sql/ha_ndbcluster.cc:
        Auto merged
      sql/handler.h:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      a08a6f9f
    • unknown's avatar
      Bug #17212 results not sorted correctly by ORDER BY when using index · 41445430
      unknown authored
        * don't use join cache when the incoming data set is already ordered
          for ORDER BY
          This choice must be made because join cache will effectively
          reverse the join order and the results will be sorted by the index
          of the table that uses join cache.
      
      
      mysql-test/r/innodb_mysql.result:
        Bug #17212 results not sorted correctly by ORDER BY when using index
          * Test suite for the bug
      mysql-test/t/innodb_mysql.test:
        Bug #17212 results not sorted correctly by ORDER BY when using index
          * Test suite for the bug
      sql/sql_select.cc:
        Bug #17212 results not sorted correctly by ORDER BY when using index
          * don't use join cache when the incoming data set is already sorted
      41445430
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1-opt · e2c448fb
      unknown authored
      into  moonbone.local:/work/16302-bug-4.1-opt-mysql
      
      
      mysql-test/r/subselect.result:
        SCCS merged
      mysql-test/t/subselect.test:
        SCCS merged
      e2c448fb
  10. 11 Jul, 2006 9 commits
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1-opt · 03dbc219
      unknown authored
      into  moonbone.local:/work/18503-bug-4.1-mysql
      
      
      sql/sql_select.cc:
        Auto merged
      03dbc219
    • unknown's avatar
      Fixed bug#18503: Queries with a quantified subquery returning empty set · d2bbf288
      unknown authored
      may return a wrong result.
      
      An Item_sum_hybrid object has the was_values flag which indicates whether any
      values were added to the sum function. By default it is set to true and reset
      to false on any no_rows_in_result() call. This method is called only in
      return_zero_rows() function. An ALL/ANY subquery can be optimized by MIN/MAX
      optimization. The was_values flag is used to indicate whether the subquery
      has returned at least one row. This bug occurs because return_zero_rows() is
      called only when we know that the select will return zero rows before
      starting any scans but often such information is not known.
      In the reported case the return_zero_rows() function is not called and
      the was_values flag is not reset to false and yet the subquery return no rows
      Item_func_not_all and Item_func_nop_all functions return a wrong
      comparison result.
      
      The end_send_group() function now calls no_rows_in_result() for each item
      in the fields_list if there is no rows were found for the (sub)query.
      
      
      mysql-test/t/subselect.test:
        Added test case for bug#18503: Queries with a quantified subquery returning empty set may return a wrong result.
      mysql-test/r/subselect.result:
        Added test case for bug#18503: Queries with a quantified subquery returning empty set may return a wrong result.
      sql/sql_select.cc:
        Fixed bug#18503: Queries with a quantified subquery returning empty set may return a wrong result.
        
        The end_send_group() function now calls no_rows_in_result() for each item
        in the fields_list if there is no matching rows were found.
      d2bbf288
    • unknown's avatar
      Bug#20729: Bad date_format() call makes mysql server crash · ed001f18
      unknown authored
          
      The problem is that the author used the wrong function to send a warning to the 
      user about truncation of data.  push_warning() takes a constant string and 
      push_warning_printf() takes a format and variable arguments to fill it.
      
      Since the string we were complaining about contains percent characters, the 
      printf() code interprets the "%Y" et c. that the user sends.  That's wrong, and
      often causes a crash, especially if the date mentions seconds, "%s".
      
      A alternate fix would be to use  push_warning_printf(..., "%s", warn_buff) .
      
      
      mysql-test/r/date_formats.result:
        Test that an invalid date doesn't crash the server.  We should get a warning back 
        instead of a dead socket.
      mysql-test/t/date_formats.test:
        Test that an invalid date doesn't crash the server.  We should get a warning back 
        instead of a dead socket.
      sql/time.cc:
        Don't try to use warn_buf as the start of a varible arguement list to send 
        to a warning-formatted my_vsnprintf() .
      ed001f18
    • unknown's avatar
      Merge moonbone.local:/work/allany-4.1-mysql · bf01313c
      unknown authored
      into  moonbone.local:/work/16302-bug-4.1-opt-mysql
      
      
      bf01313c
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1-opt · 7642d181
      unknown authored
      into  moonbone.local:/home/evgen/bk-trees/mysql-4.1-opt
      
      
      sql/sql_class.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      7642d181
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 67d53e36
      unknown authored
      into  bodhi.local:/opt/local/work/mysql-5.0-runtime-merge-41
      
      
      sql/sql_table.cc:
        Auto merged
      67d53e36
    • unknown's avatar
      Merge chilla.local:/home/mydev/mysql-5.0-release · 034522f4
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-amerge
      
      
      sql/handler.h:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      034522f4
    • unknown's avatar
      Raise the version number. · 0859819a
      unknown authored
      0859819a
    • unknown's avatar
      Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.0 · 0e694880
      unknown authored
      into  trift2.:/M50/mysql-5.0
      
      
      0e694880