1. 19 Nov, 2007 8 commits
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · e424e732
      unknown authored
      into  moonbone.local:/work/31048-bug-5.0-opt-mysql
      
      e424e732
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 0438da39
      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
      0438da39
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 4efdde4f
      unknown authored
      into  moonbone.local:/work/30384-bug-5.0-opt-mysql
      
      
      sql/sql_class.h:
        Auto merged
      4efdde4f
    • unknown's avatar
      Bug#30384: Having SQL_BUFFER_RESULT option in the CREATE .. KEY(..) .. SELECT · c3bbe760
      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.
      c3bbe760
    • unknown's avatar
      Bug#31048: Many nested subqueries may cause server crash. · 54393c2f
      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.
      54393c2f
    • unknown's avatar
      Fixed bug #32282: TEXT silently truncates when value is exactly 65536 · e145597f
      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.
      e145597f
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug32376/my50-bug26215 · 9eb49c48
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
      
      
      client/mysql.cc:
        Auto merged
      9eb49c48
    • unknown's avatar
      Changed the help text for --comments to make it clear which option · 6b080fa8
      unknown authored
      disables the option explicitely.
      Changed the option location in code so that --help will show it in
      lexical option order.
      
      This is for bug #26215: mysql command line client should not strip
      comments from SQL statements
      
      
      client/mysql.cc:
        Changed the help text for --comments to make it clear which option
        disables the option explicitely.
        Changed the option location in code so that --help will show it in
        lexical option order.
      6b080fa8
  2. 17 Nov, 2007 7 commits
    • unknown's avatar
      Merge gleb.loc:/work/bk/5.0-opt-32335 · 179246eb
      unknown authored
      into  gleb.loc:/work/bk/5.0-opt
      
      179246eb
    • unknown's avatar
      Fixed bug #32335. · 8aa822ee
      unknown authored
      Comparison of a BIGINT NOT NULL column with a constant arithmetic
      expression that evaluates to NULL caused error 1048: "Column '...'
      cannot be null".
      
      Made convert_constant_item() check if the constant expression is NULL
      before attempting to store it in a field. Attempts to store NULL in a
      NOT NULL field caused query errors.
      
      
      sql/item_cmpfunc.cc:
        Fixed bug #32335.
        1. Made convert_constant_item() check if the constant expression is NULL
           before attempting to store it in a field. Attempts to store NULL in
           a NOT NULL field caused query errors.
        
        2. Also minor bug has been fixed: the thd->count_cuted_fields value
           was not restored in case of successful conversion.
      mysql-test/t/select.test:
        Added test case for bug #32335.
      mysql-test/r/select.result:
        Added test case for bug #32335.
      8aa822ee
    • unknown's avatar
      Merge mysql.com:/home/hf/work/31158/my41-31158 · da9d774f
      unknown authored
      into  mysql.com:/home/hf/work/31158/my50-31158
      
      da9d774f
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-4.1-opt · 895e939c
      unknown authored
      into  mysql.com:/home/hf/work/31158/my41-31158
      
      895e939c
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.0-opt · 991c3971
      unknown authored
      into  mysql.com:/home/hf/work/31158/my50-31158
      
      
      sql/field.cc:
        Auto merged
      991c3971
    • unknown's avatar
      merging · be99cfef
      unknown authored
      be99cfef
    • unknown's avatar
      Merge mysql.com:/home/hf/work/31158/my41-31158 · 1dfe7db5
      unknown authored
      into  mysql.com:/home/hf/work/31158/my50-31158
      
      
      mysql-test/t/gis.test:
        Auto merged
      sql/field.h:
        Auto merged
      sql/item_geofunc.cc:
        Auto merged
      mysql-test/r/gis.result:
        merging
      sql/field.cc:
        merging
      1dfe7db5
  3. 16 Nov, 2007 4 commits
  4. 15 Nov, 2007 1 commit
  5. 14 Nov, 2007 4 commits
  6. 13 Nov, 2007 6 commits
    • unknown's avatar
      Merge mysql.com:/home/hf/work/31305/my41-31305 · 509582f4
      unknown authored
      into  mysql.com:/home/hf/work/31305/my50-31305
      
      509582f4
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.0-opt · 12997acd
      unknown authored
      into  mysql.com:/home/hf/work/31305/my50-31305
      
      12997acd
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-4.1-opt · 38d1b2f5
      unknown authored
      into  mysql.com:/home/hf/work/31305/my41-31305
      
      38d1b2f5
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 062f27ee
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B31562-5.0-opt
      
      
      sql/item.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      062f27ee
    • unknown's avatar
      Bug #31562: HAVING and lower case · 5dc81f4f
      unknown authored
      The columns in HAVING can reference the GROUP BY and 
      SELECT columns. There can be "table" prefixes when
      referencing these columns. And these "table" prefixes
      in HAVING use the table alias if available.
      This means that table aliases are subject to the same
      storage rules as table names and are dependent on 
      lower_case_table_names in the same way as the table 
      names are.
      Fixed by :
      1. Treating table aliases as table names
      and make them lowercase when printing out the SQL
      statement for view persistence.
      2. Using case insensitive comparison for table 
      aliases when requested by lower_case_table_names
      
      
      mysql-test/r/lowercase_view.result:
        Bug #31562: test case
      mysql-test/t/lowercase_view.test:
        Bug #31562: test case
      sql/item.cc:
        Bug #31562: lower_case_table_name contious comparison
        when searching in GROUP BY
      sql/sql_base.cc:
        Bug #31562: lower_case_table_name contious comparison
        when searching in SELECT
      sql/sql_select.cc:
        Bug #31562: treat table aliases as table names
        and make them lowercase when printing
      5dc81f4f
    • unknown's avatar
      Bug #31158 Spatial, Union, LONGBLOB vs BLOB bug (crops data) · fcfd51f6
      unknown authored
      max_length parameter for BLOB-returning functions must be big enough
      for any possible content. Otherwise the field created for a table
      will be too small.
      
      
      mysql-test/r/gis.result:
        Bug #31158  Spatial, Union, LONGBLOB vs BLOB bug (crops data)
        
        test result
      mysql-test/t/gis.test:
        Bug #31158  Spatial, Union, LONGBLOB vs BLOB bug (crops data)
        
        test case
      sql/field.cc:
        Bug #31158  Spatial, Union, LONGBLOB vs BLOB bug (crops data)
        
        max_field_size used instead of numeric value
      sql/field.h:
        Bug #31158  Spatial, Union, LONGBLOB vs BLOB bug (crops data)
        
        max_field_size constant defined
      sql/item_geofunc.cc:
        Bug #31158  Spatial, Union, LONGBLOB vs BLOB bug (crops data)
        
        max_length parameter fixed
      fcfd51f6
  7. 12 Nov, 2007 10 commits
    • unknown's avatar
      Merge mattiasj@bk-internal.mysql.com:/home/bk/mysql-5.0-engines · f01556d5
      unknown authored
      into  mattiasj-laptop.(none):/home/mattiasj/clones/mysql-5.0-engines_with_main
      
      f01556d5
    • unknown's avatar
      Merge mattiasj-laptop.(none):/home/mattiasj/clones/mysql-5.0-main · 3b7f9911
      unknown authored
      into  mattiasj-laptop.(none):/home/mattiasj/clones/mysql-5.0-engines_with_main
      
      3b7f9911
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/BUG32111/mysql-4.1-engines · 90e09bfb
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG32111/mysql-5.0-engines
      
      
      mysql-test/r/symlink.result:
        Auto merged
      mysql-test/t/symlink.test:
        Auto merged
      90e09bfb
    • unknown's avatar
      symlink.test, symlink.result: · eb3c917d
      unknown authored
        Use proper variable for test.
      
      
      mysql-test/t/symlink.test:
        Use proper variable for test.
      mysql-test/r/symlink.result:
        Use proper variable for test.
      eb3c917d
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/BUG32111/mysql-4.1-engines · 7cc910a0
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG32111/mysql-5.0-engines
      
      
      mysql-test/r/symlink.result:
        Auto merged
      mysql-test/t/symlink.test:
        Auto merged
      mysys/my_symlink2.c:
        Auto merged
      7cc910a0
    • unknown's avatar
      After merge fix. · e8e897bc
      unknown authored
      e8e897bc
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/BUG32111/mysql-4.0 · 0f7e921a
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG32111/mysql-4.1-engines
      
      
      mysys/my_symlink2.c:
        Auto merged
      mysql-test/r/symlink.result:
        SCCS merged
      mysql-test/t/symlink.test:
        SCCS merged
      0f7e921a
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug30666/my50-bug29131 · eb4c1727
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
      
      
      sql/sql_select.cc:
        Auto merged
      mysql-test/r/select.result:
        Manual merge.
      mysql-test/t/select.test:
        Manual merge.
      eb4c1727
    • unknown's avatar
      Merge mysql.com:/home/hf/work/31305/my41-31305 · b07eb0f1
      unknown authored
      into  mysql.com:/home/hf/work/31305/my50-31305
      
      
      BitKeeper/etc/ignore:
        auto-union
      myisam/mi_dynrec.c:
        Auto merged
      b07eb0f1
    • unknown's avatar
      Bug #31305 myisam tables crash when they are near capacity. · 23efd897
      unknown authored
      When we insert a record into MYISAM table which is almost 'full',
      we first write record data in the free space inside a file, and then
      check if we have enough space after the end of the file.
      So if we don't have the space, table will left corrupted.
      Similar error also happens when we updata MYISAM tables.
      
      Fixed by modifying write_dynamic_record and update_dynamic_record functions
      to check for free space before writing parts of a record
      
      
      BitKeeper/etc/ignore:
        Added libmysql_r/client_settings.h libmysqld/ha_blackhole.cc to the ignore list
      myisam/mi_dynrec.c:
        Bug #31305 myisam tables crash when they are near capacity.
        
        now we check space left in table in write_dynamic_record
        and update_dynamic_record functions.
        If we don't have enough room for the new (updated) record, return with the
        error.
      mysql-test/r/almost_full.result:
        New BitKeeper file ``mysql-test/r/almost_full.result''
      mysql-test/t/almost_full.test:
        New BitKeeper file ``mysql-test/t/almost_full.test''
      23efd897