1. 23 Nov, 2007 2 commits
    • unknown's avatar
      merge 5.0-opt -> 5.1-opt · 339e8f5d
      unknown authored
      339e8f5d
    • unknown's avatar
      Merge magare.gmz:/home/kgeorge/mysql/work/mysql-5.0-opt · c00bfc3b
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/work/merge-5.1-opt
      
      
      mysql-test/r/gis.result:
        Auto merged
      mysql-test/r/type_bit.result:
        Auto merged
      mysql-test/r/type_blob.result:
        Auto merged
      mysql-test/t/gis.test:
        Auto merged
      mysql-test/t/type_bit.test:
        Auto merged
      mysql-test/t/type_blob.test:
        Auto merged
      sql/item.h:
        Auto merged
      sql/item_subselect.cc:
        Auto merged
      sql/opt_range.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_string.cc:
        Auto merged
      tests/mysql_client_test.c:
        Auto merged
      mysql-test/r/subselect.result:
        null merge. resolve latete.
      mysql-test/t/subselect.test:
        merge 5.0-opt -> 5.1-opt
      sql/key.cc:
        merge 5.0-opt -> 5.1-opt
      sql/sql_class.h:
        merge 5.0-opt -> 5.1-opt
      sql/sql_insert.cc:
        merge 5.0-opt -> 5.1-opt
      sql/sql_table.cc:
        merge 5.0-opt -> 5.1-opt
      c00bfc3b
  2. 22 Nov, 2007 12 commits
  3. 21 Nov, 2007 6 commits
    • unknown's avatar
      Fixed bug #32556: assert in "using index for group-by" : · a7c04594
      unknown authored
                        is_last_prefix <= 0, file .\opt_range.cc.
      
      SELECT ... GROUP BY bit field failed with an assertion if the
      bit length of that field was not divisible by 8.
      
      
      
      sql/key.cc:
        Fixed bug #32556.
        Copying of "uneven" bits of a bit field was duplicated in the
        key_copy() and in the Field_bit::get_key_image().
        So, instead of copying of the rest of a bit field, 
        Field_bit::get_key_image() copied "uneven" bits to key image again,
        and the lowest field byte was not copied to key at all.
        
        Duplicated code has been removed from the key_copy function.
      mysql-test/t/type_bit.test:
        Added test case for bug #32556.
      mysql-test/r/type_bit.result:
        Added test case for bug #32556.
      a7c04594
    • unknown's avatar
      Bug #31171: test alter_table, fulltext2, ps, sp fail, · 0b489d3f
      unknown authored
       "Table is already up to date" vs. "OK"
      
      On MacOSX 10.5 when you cast something to "bool"
      (the built in C type) it takes values 0 or 1 
      instead of 0-255 as it seems to be on older compilers.
      Fixed by removing the typecast (not needed).
      No test case needed : there are tests that test it.
      
      
      storage/myisam/mi_open.c:
        Bug #31171: don't typecast when not needed
      0b489d3f
    • unknown's avatar
      merge of bug 30788 to 5.1-opt · 16f15dba
      unknown authored
      16f15dba
    • unknown's avatar
      Merge magare.gmz:/home/kgeorge/mysql/work/B30788-5.0-opt · 4b910676
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/work/B30788-5.1-opt
      
      
      mysql-test/r/subselect3.result:
        Auto merged
      sql/item.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      mysql-test/r/subselect.result:
        merge of bug 30788 to 5.1-opt
      mysql-test/t/subselect.test:
        merge of bug 30788 to 5.1-opt
      4b910676
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · bb3e8781
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B30788-5.0-opt
      
      
      sql/item.h:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      mysql-test/r/subselect.result:
        merge of 5.0-opt
      mysql-test/t/subselect.test:
        merge of 5.0-opt
      bb3e8781
    • unknown's avatar
      Bug #30788: Inconsistent retrieval of char/varchar · e9832cee
      unknown authored
      Index lookup does not always guarantee that we can
      simply remove the relevant conditions from the WHERE
      clause. Reasons can be e.g. conversion errors, 
      partial indexes etc. 
      The optimizer was removing these parts of the WHERE 
      condition without any further checking.
      This leads to "false positives" when using indexes.
      Fixed by checking the index reference conditions
      (using WHERE) when using indexes with sub-queries.
      
      
      mysql-test/r/subselect.result:
        Bug #30788: 
         - using where
         - test case
      mysql-test/r/subselect3.result:
        Bug #30788: using where
      mysql-test/t/subselect.test:
        Bug #30788: test case
      sql/item.h:
        Bug #30788: 
         - Declare eq() method of Item_cache descendants : this is used in
         test_if_ref()
         - preserve the field that is being cached for type comparisions
      sql/sql_select.cc:
        Bug #30788: Don't remove the WHERE when using index lookup 
        with subqueries.
      e9832cee
  4. 20 Nov, 2007 14 commits
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 72891dd3
      unknown authored
      into  moonbone.local:/work/31048-bug-5.0-opt-mysql
      
      
      72891dd3
    • unknown's avatar
      sql_select.cc: · 3a0d1f30
      unknown authored
        Additional stack check for the bug#31048.
      
      
      sql/sql_select.cc:
        Additional stack check for the bug#31048.
      3a0d1f30
    • unknown's avatar
      Merge gleb.loc:/work/bk/5.0-opt-32533 · 2fd89a72
      unknown authored
      into  gleb.loc:/work/bk/5.0-opt
      
      
      2fd89a72
    • unknown's avatar
      Fixed bug #32533. · 0a91f285
      unknown authored
      8bit escape characters, termination and enclosed characters
      were silently ignored by SELECT INTO query, but LOAD DATA INFILE
      algorithm is 8bit-clean, so data was corrupted during 
      encoding.
      
      
      sql/sql_class.cc:
        Fixed bug #32533.
        SELECT INTO OUTFILE encoding was not 8bit clear, it
        has been fixed for a symmetry with the LOAD DATA INFILE
        decoding algorithm.
      mysql-test/t/outfile_loaddata.test:
        Added test case for bug #32533.
      mysql-test/r/outfile_loaddata.result:
        Added test case for bug #32533.
      0a91f285
    • unknown's avatar
      Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · 70e22876
      unknown authored
      into  mysql.com:/home/psergey/mysql-5.1-bug30573
      
      
      70e22876
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.0-opt · 86744a32
      unknown authored
      into  mysql.com:/home/hf/work/mysql-5.0-opt
      
      
      86744a32
    • unknown's avatar
      test case added for the bug #31155 · a8dd1299
      unknown authored
      
      mysql-test/r/gis.result:
        test result complete
      mysql-test/t/gis.test:
        test case added for the bug
      a8dd1299
    • unknown's avatar
      merging · 2eaa6352
      unknown authored
      2eaa6352
    • unknown's avatar
      Merge mysql.com:/home/hf/work/31868/my41-31868 · 39da7c8a
      unknown authored
      into  mysql.com:/home/hf/work/31868/my50-31868
      
      
      sql/sql_table.cc:
        merging
      39da7c8a
    • unknown's avatar
      Merge mysql.com:/home/hf/work/32211/my51-32211 · e3c44e3e
      unknown authored
      into  mysql.com:/home/hf/work/31868/my51-31868
      
      
      e3c44e3e
    • unknown's avatar
      Merge mysql.com:/home/hf/work/32063/my41-32063 · 5d385571
      unknown authored
      into  mysql.com:/home/hf/work/31868/my41-31868
      
      
      5d385571
    • unknown's avatar
      Merge mysql.com:/home/hf/work/31960/my51-31960 · abb1afba
      unknown authored
      into  mysql.com:/home/hf/work/31868/my51-31868
      
      
      sql/sql_parse.cc:
        Auto merged
      sql/mysql_priv.h:
        merging
      abb1afba
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.1-opt · 3ae44c90
      unknown authored
      into  mysql.com:/home/hf/work/31868/my51-31868
      
      
      BitKeeper/etc/ignore:
        auto-union
      libmysqld/lib_sql.cc:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      3ae44c90
    • unknown's avatar
      BUG#30573: Ordered range scan over partitioned tables returns some rows twice · 0b22925c
      unknown authored
      The problem: ha_partition::read_range_first() could return a record that is 
      outside of the scanned range. If that record happened to be in the next 
      subsequent range, it would satisfy the WHERE and appear in the output twice.
      (we would get it the second time when scanning the next subsequent range)
      
      Fix: 
      Made ha_partition::read_range_first() check if the returned recod is within
      the scanned range, like other read_range_first() implementations do.
      
      
      mysql-test/r/partition_range.result:
        BUG#30573: Ordered range scan over partitioned tables returns some rows twice
         - Testcase
      mysql-test/t/partition_range.test:
        BUG#30573: Ordered range scan over partitioned tables returns some rows twice
         - Testcase
      sql/ha_partition.cc:
        BUG#30573: Ordered range scan over partitioned tables returns some rows twice
        - Make ha_partition::read_range_first() check if the returned record is 
          within the range.
      0b22925c
  5. 19 Nov, 2007 6 commits
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 524e1cd9
      unknown authored
      into  moonbone.local:/work/31048-bug-5.0-opt-mysql
      
      
      524e1cd9
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · b3347a6a
      unknown authored
      into  moonbone.local:/work/31048-bug-5.0-opt-mysql
      
      
      sql/item_subselect.cc:
        Auto merged
      mysql-test/r/subselect.result:
        Manual merge
      mysql-test/t/subselect.test:
        Manual merge
      b3347a6a
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 1c232504
      unknown authored
      into  moonbone.local:/work/30384-bug-5.0-opt-mysql
      
      
      sql/sql_class.h:
        Auto merged
      1c232504
    • unknown's avatar
      Bug#30384: Having SQL_BUFFER_RESULT option in the CREATE .. KEY(..) .. SELECT · 4addb6b7
      unknown authored
      led to creating corrupted index.
      
      Corrected fix. The new method called prepare2 is added to the select_create
      class. As all preparations are done by the select_create::prepare function
      it doesn't do anything. Slightly changed algorithm of calling the 
      start_bulk_insert function. Now it's called from the select_insert::prepare2
      function when the SQL_BUFFER_RESULT flags is set.
      The is_bulk_insert_mode flag is removed as it is not needed anymore.
      
      
      sql/sql_class.h:
        Bug#30384: Having SQL_BUFFER_RESULT option in the CREATE .. KEY(..) .. SELECT
        led to creating corrupted index.
        Corrected fix. The new method called prepare2 is added to the select_create
        class. As all preparetions are done by the select_create::prepare function
        it doesn't do anything.
        The is_bulk_insert_mode flag is removed as it is not needed anymore.
      sql/sql_insert.cc:
        Bug#30384: Having SQL_BUFFER_RESULT option in the CREATE .. KEY(..) .. SELECT
        led to creating corrupted index. Slightly changed algorithm of calling the
        start_bulk_insert function. Now it's called from the select_insert::prepare2
        function when the SQL_BUFFER_RESULT flags is set.
        Corrected fix. The is_bulk_insert_mode flag is removed as it is not needed
        anymore.
      4addb6b7
    • unknown's avatar
      Bug#31048: Many nested subqueries may cause server crash. · 13105534
      unknown authored
      This bug is actually two. The first one manifests itself on an EXPLAIN
      SELECT query with nested subqueries that employs the filesort algorithm.
      The whole SELECT under explain is marked as UNCACHEABLE_EXPLAIN to preserve
      some temporary structures for explain. As a side-effect of this values of
      nested subqueries weren't cached and subqueries were re-evaluated many
      times. Each time buffer for filesort was allocated but wasn't freed because
      freeing occurs at the end of topmost SELECT. Thus all available memory was
      eaten up step by step and OOM event occur.
      The second bug manifests itself on SELECT queries with conditions where
      a subquery result is compared with a key field and the subquery itself also
      has such condition. When a long chain of such nested subqueries is present
      the stack overrun occur. This happens because at some point the range optimizer
      temporary puts the PARAM structure on the stack. Its size if about 8K and
      the stack is exhausted very fast.
      
      Now the subselect_single_select_engine::exec function allows subquery result
      caching when the UNCACHEABLE_EXPLAIN flag is set.
      Now the SQL_SELECT::test_quick_select function calls the check_stack_overrun
      function for stack checking purposes to prevent server crash.
      
      
      mysql-test/t/subselect.test:
        Added a test case for the bug#31048: Many nested subqueries may cause server crash.
      mysql-test/r/subselect.result:
        Added a test case for the bug#31048: Many nested subqueries may cause server crash.
      sql/opt_range.cc:
        Bug#31048: Many nested subqueries may cause server crash.
        Now the SQL_SELECT::test_quick_select function calls the check_stack_overrun
        function for stack checking purposes to preven server crash.
      sql/item_subselect.cc:
        Bug31048: Many nested subqueries may cause server crash.
        Now the subselect_single_select_engine::exec function allows subquery result
        caching when the UNCACHEABLE_EXPLAIN flag is set.
      13105534
    • unknown's avatar
      Fixed bug #32282: TEXT silently truncates when value is exactly 65536 · ea739898
      unknown authored
      bytes length.
      
      The server has been modified to report warnings on truncation to
      65536 bytes as usual.
      
      
      
      sql/sql_string.cc:
        Fixed bug #32282.
        The well_formed_copy_nchars function returned an incorrect value
        of copied bytes of the truncated input string: extra length of
        the first truncated character added to the *from_end_pos pointer.
        That has been fixed.
      mysql-test/r/type_blob.result:
        Added test case for bug #32282.
      mysql-test/t/type_blob.test:
        Added test case for bug #32282.
      ea739898