1. 26 Aug, 2006 1 commit
  2. 24 Aug, 2006 2 commits
    • unknown's avatar
      BUG#16255: Post-review fixes: adjust the testcase. · 9642b4b9
      unknown authored
      
      mysql-test/r/subselect.result:
        BUG#16255: A proper testcase
      mysql-test/t/subselect.test:
        BUG#16255: A proper testcase
      9642b4b9
    • unknown's avatar
      Bug #16255: Subquery in WHERE (the cset by Georgi Kodinov) · 3f7d3c3d
      unknown authored
       Must not use Item_direct_ref in HAVING because it points to
       the new value (witch is not yet calculated for the first row).
      
      
      mysql-test/r/subselect.result:
        Bug #16255: Subquery in where
         - test case
      mysql-test/t/subselect.test:
        Bug #16255: Subquery in where
         - test case
      sql/item_subselect.cc:
        Bug #16255: Subquery in where
         Must not use Item_direct_ref in HAVING because it points to
         the new value (witch is not yet calculated for the first row).
      3f7d3c3d
  3. 15 Aug, 2006 1 commit
    • unknown's avatar
      BUG#21077: Possible crash caused by invalid sequence of handler::* calls: ... · fa3f0bc1
      unknown authored
      BUG#21077: Possible crash caused by invalid sequence of handler::* calls:                                                
      The crash was caused by invalid sequence of handler::** calls:                                                           
        ha_smth->index_init();                                                                                                 
        ha_smth->index_next_same(); (2)                                                                                        
      (2) is an invalid call as it was not preceeded by any 'scan setup' call
      like index_first() or index_read(). The cause was that QUICK_SELECT::reset()
      didn't "fully reset" the quick select- current QUICK_RANGE wasn't forgotten,
      and quick select might attempt to continue reading the range, which would
      result in the above mentioned invalid sequence of handler calls.
      
      5.x versions are not affected by the bug - they already have the missing
      "range=NULL" clause.                                                    
                                                             
      
      
      mysql-test/r/innodb_mysql.result:
        Testcase for BUG#21077
      mysql-test/t/innodb_mysql.test:
        Testcase for BUG#21077
      sql/opt_range.h:
        BUG#21077: Possible crash caused by invalid sequence of handler::* calls:                                              
         - Make QUICK_SELECT::reset() really reset the quick select
      fa3f0bc1
  4. 10 Aug, 2006 1 commit
    • unknown's avatar
      Fix for bug #20709: Collation not used in group by on 4.1. · 8db27099
      unknown authored
      myisam/mi_uniue.c:mi_check_unique() should skip trailing spaces comparing 
      TEXT and VARTTEXT key segments.
      
      
      myisam/mi_unique.c:
        Fix for bug #20709: Collation not used in group by on 4.1.    
        
        myisam/mi_uniue.c:mi_check_unique() should skip trailing spaces comparing 
        TEXT and VARTTEXT key segments.
          
        Example: assume, we have a 'char(200) collate utf8_unicode_ci' field,
        there are two records with _utf8"0x65" and _utf8"0xC3A9" characters;
        these values are equal according
        to the utf8_unicode_ci collation, but two 600 byte length corresponding keys:  
        "0x65<0x20 repeats 599 times>" and "0xC3A9<0x20 repeats 598 times>" are not    
        equal if we count trailing spaces and it may cause inconsequent behavior.
        
        So, let's pass 1 as the skip_end_space parameter value to the mi_compare_text()
        function for proper TEXT and VARTTEXT key segments comparison.
      mysql-test/r/ctype_utf8.result:
        Fix for bug #20709: Collation not used in group by on 4.1.    
          - test results.
      mysql-test/t/ctype_utf8.test:
        Fix for bug #20709: Collation not used in group by on 4.1.    
          - test case.
      8db27099
  5. 09 Aug, 2006 3 commits
    • unknown's avatar
      Removed iggy's accidentally checked-in test files. · b52d862c
      unknown authored
      
      BitKeeper/deleted/.del-bug20328.test:
        Delete: mysql-test/t/bug20328.test
      BitKeeper/deleted/.del-bug20328.result:
        Delete: mysql-test/r/bug20328.result
      b52d862c
    • unknown's avatar
      Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1 · 135169aa
      unknown authored
      into  may.pils.ru:/home/svoj/devel/mysql/BUG20060/mysql-4.1
      
      135169aa
    • unknown's avatar
      BUG#20060 - mysqld option "--flush " doesn't work for update statement · de7f8c67
      unknown authored
      Problem described in this bug report affects MyISAM tables only.
      
      Running mysqld --flush instructs mysqld to sync all changes to disk
      after each SQL statement. It worked well for INSERT and DELETE
      statements, but it did sync for UPDATE only in case if there was
      index change (change of colum that has an index). If no updated column
      has an index, data wasn't synced to disk.
      
      This fix makes UPDATE statement to sync data to disk even if there is
      no index change (that is only data change) and mysqld is run with
      --flush option.
      
      
      myisam/mi_update.c:
        Every myisam function that updates myisam table must end with
        call to _mi_writeinfo(). If operation (second param of
        _mi_writeinfo()) is not 0 it sets share->changed to 1, that is
        flags that data has changed. If operation is 0, this function
        equals to no-op in this case.
        
        mi_update() must always pass !0 value as operation, since even if
        there is no index change there could be data change.
      de7f8c67
  6. 07 Aug, 2006 1 commit
  7. 03 Aug, 2006 5 commits
    • unknown's avatar
      Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1 · 71f53be3
      unknown authored
      into  may.pils.ru:/home/svoj/devel/mysql/BUG7391/mysql-4.1
      
      71f53be3
    • unknown's avatar
      Bug#21419 test case lowercase_fs_off fails on Windows · cc127576
      unknown authored
       - Backport patch from 5.0
      
      
      sql/mysqld.cc:
        Add else case to set "lower_case_file_system" also when lower_case_table_names are 1
      cc127576
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/my41-bug21218 · 5a901250
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-4.1
      
      
      mysql-test/t/mysqlbinlog.test:
        Auto merged
      5a901250
    • unknown's avatar
      Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1 · 466faf80
      unknown authored
      into  may.pils.ru:/home/svoj/devel/mysql/BUG7391/mysql-4.1
      
      466faf80
    • unknown's avatar
      BUG#7391 - Cross-database multi-table UPDATE uses active database · ae419374
      unknown authored
                 privileges
      
      This problem is 4.1 specific. It doesn't affect 4.0 and was fixed
      in 5.x before.
      
      Having any mysql user who is allowed to issue multi table update
      statement and any column/table grants, allows this user to update
      any table on a server (mysql grant tables are not exception).
      
      check_grant() accepts number of tables (in table list) to be checked
      in 5-th param. While checking grants for multi table update, number
      of tables must be 1. It must never be 0 (actually we have
      DBUG_ASSERT(number > 0) in 5.x in grant_check() function).
      
      
      mysql-test/r/grant.result:
        Addition to test case for bug#7391:
        - Added grant statement to trigger this problem in 4.1.
        - Fixed error messages.
      mysql-test/t/grant.test:
        Addition to test case for bug#7391:
        - Added grant statement to trigger this problem in 4.1.
        - Fixed error messages.
      sql/sql_update.cc:
        check_grant() accepts number of tables (in table list) to be checked
        in 5-th param. For this particular check number of tables must be 1.
        It must never be 0 (actually we have DBUG_ASSERT(number > 0) in 5.x
        in grant_check() function).
      ae419374
  8. 02 Aug, 2006 7 commits
  9. 01 Aug, 2006 2 commits
  10. 31 Jul, 2006 5 commits
  11. 30 Jul, 2006 1 commit
  12. 29 Jul, 2006 2 commits
  13. 28 Jul, 2006 4 commits
    • unknown's avatar
      Merge mysql.com:/Users/kent/mysql/bk/mysql-4.0 · 608d7e92
      unknown authored
      into  mysql.com:/Users/kent/mysql/bk/mysql-4.1
      
      
      configure.in:
        Auto merged
      scripts/make_binary_distribution.sh:
        Auto merged
      support-files/mysql.spec.sh:
        SCCS merged
      608d7e92
    • unknown's avatar
      Makefile.am, configure.in: · 4f0c394c
      unknown authored
        Man page for mysqld command move to section 8 (bug#21220)
      
      
      configure.in:
        Man page for mysqld command move to section 8 (bug#21220)
      man/Makefile.am:
        Man page for mysqld command move to section 8 (bug#21220)
      4f0c394c
    • unknown's avatar
      make_binary_distribution.sh: · 3423142a
      unknown authored
        Man page for "mysqld" command move to section 8 (bug#21220)
      
      
      scripts/make_binary_distribution.sh:
        Man page for "mysqld" command move to section 8 (bug#21220)
      3423142a
    • unknown's avatar
      mysql.spec.sh: · 00c97fe0
      unknown authored
        Man page for "mysqld" command move to section 8 (bug#21220)
      
      
      support-files/mysql.spec.sh:
        Man page for "mysqld" command move to section 8 (bug#21220)
      00c97fe0
  14. 27 Jul, 2006 1 commit
  15. 26 Jul, 2006 4 commits
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt · 18723dc9
      unknown authored
      into  rakia.(none):/home/kgeorge/mysql/autopush/B20792-4.1-opt
      
      
      sql/sql_select.cc:
        Auto merged
      18723dc9
    • unknown's avatar
      * Bug #20792: Incorrect results from aggregate subquery · 1f318e3c
      unknown authored
      When processing aggregate functions all tables values are reset
      to NULLs at the end of each group. 
      When doing that if there are no rows found for a group
      the const tables must not be reset as they are not recalculated 
      by do_select()/sub_select() for each group.
      
      
      mysql-test/r/subselect2.result:
        * Bug #20792: Incorrect results from aggregate subquery
         - test suite for the bug. This is dependent on InnoDB despite
           the fact that the bug and the fix are not InnoDB specific.
           This is because of the table flag HA_NOT_EXACT_COUNT.
           When this flag is off (as in MyISAM) both t2 and t3 become of
           join type 'system' as they are estimated to have 1 record and
           and this statistics can be trusted (according to the absence of
           HA_NOT_EXACT_COUNT).
      mysql-test/t/subselect2.test:
        * Bug #20792: Incorrect results from aggregate subquery
         - test suite for the bug
      sql/sql_select.cc:
        * Bug #20792: Incorrect results from aggregate subquery
         - when clearing results if there are not rows found for group
           the const tables must not be reset as they are not recalculated
           for each group.
      1f318e3c
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt · 7a12b237
      unknown authored
      into  rakia.(none):/home/kgeorge/mysql/autopush/B21019-4.1-opt
      
      
      sql/sql_select.cc:
        Auto merged
      mysql-test/r/select.result:
        SCCS merged
      mysql-test/t/select.test:
        SCCS merged
      7a12b237
    • unknown's avatar
      BUG#21206: memory corruption when too many cursors are opened at once · 3fcef0c7
      unknown authored
      Too many cursors (more than 1024) could lead to memory corruption.
      This affects both, stored routines and C API cursors, and the
      threshold is per-server, not per-connection.  Similarly, the
      corruption could happen when the server was under heavy load
      (executing more than 1024 simultaneous complex queries), and this is
      the reason why this bug is fixed in 4.1, which doesn't support
      cursors.
      
      The corruption was caused by a bug in the temporary tables code, when
      an attempt to create a table could lead to a write beyond allocated
      space.  Note, that only internal tables were affected (the tables
      created internally by the server to resolve the query), not tables
      created with CREATE TEMPORARY TABLE.  Another pre-condition for the
      bug is TRUE value of --temp-pool startup option, which, however, is a
      default.
      
      The cause of a bug was that random memory was overwritten in
      bitmap_set_next() due to out-of-bound memory access.
      
      
      mysys/my_bitmap.c:
        Local 'bitmap_size' is measured in bytes, no need to multiply it by 8.
      sql/sql_select.cc:
        Clear the temp_pool_slot bit only if we have set it previously.
      3fcef0c7