1. 01 Dec, 2007 2 commits
  2. 30 Nov, 2007 6 commits
    • unknown's avatar
      Merge mysql.com:/home/hf/work/mrg/my41-mrg · 4100e3e4
      unknown authored
      into  mysql.com:/home/hf/work/mrg/my50-mrg
      
      
      include/mysql_com.h:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      4100e3e4
    • unknown's avatar
      Merge mysql.com:/home/hf/work/32624/my50-32624 · 11c17294
      unknown authored
      into  mysql.com:/home/hf/work/mrg/my50-mrg
      
      
      11c17294
    • unknown's avatar
      Merge mysql.com:/home/hf/work/32374/my50-32374 · 104bba77
      unknown authored
      into  mysql.com:/home/hf/work/mrg/my50-mrg
      
      
      104bba77
    • unknown's avatar
      Merge mysql.com:/home/hf/work/31900/my41-31900 · d87a75c1
      unknown authored
      into  mysql.com:/home/hf/work/mrg/my41-mrg
      
      
      d87a75c1
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug9481/my50-bug9481 · 07be2ef5
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
      
      
      sql/sql_class.h:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      tests/mysql_client_test.c:
        Auto merged
      07be2ef5
    • unknown's avatar
      Bug #32374 crash with filesort when selecting from federated table and view. · cef31e05
      unknown authored
      filesort() uses file->estimate_rows_upper_bound() call to allocate
      internal buffers. If this function returns a value smaller than
      a number of row that will be returned later in find_all_keys(),
      that can cause server crash.
      Fixed by implementing ha_federated::estimate_rows_upper_bound() to
      return maximum possible number of rows.
      Present estimation for FEDERATED always returns 0 if the linked to the VIEW.
      
      
      mysql-test/r/federated.result:
        Bug #32374 crash with filesort when selecting from federated table and view.
        
        test result
      mysql-test/t/federated.test:
        Bug #32374 crash with filesort when selecting from federated table and view.
        
        test case
      sql/ha_federated.cc:
        Bug #32374 crash with filesort when selecting from federated table and view.
        
        ha_federated::estimate_rows_upper_bound() implemented
      sql/ha_federated.h:
        Bug #32374 crash with filesort when selecting from federated table and view.
        
        ha_federated::estimate_rows_upper_bound() interface
      cef31e05
  3. 29 Nov, 2007 2 commits
    • unknown's avatar
      Bug #29085 A small double precision number becomes zero. · 23e402bf
      unknown authored
      Denormalized DOUBLE-s can't be properly handled by old MIPS processors.
      So we need to enable specific mode for them so IRIX will do use
      software round to handle such numbers. 
      
      
      sql/mysqld.cc:
        Bug #29085 A small double precision number becomes zero.
        
        reset_floating_point_exeption() renamed as set_proper_floating_point_mode()
        #ifdef __sgi code added to enable denormalized DOUBLE-s on IRIX
      23e402bf
    • unknown's avatar
      Bug #32624 Error with multi queries in MySQL embedded server 5.1.22. · 1d062682
      unknown authored
      server status wasn't properly sent to the client after the error
      by the embedded server. Wasn't noticed before as one usually stopped
      retrieving results after he gets an error.
      
      
      libmysqld/lib_sql.cc:
        Bug #32624 Error with multi queries in MySQL embedded server 5.1.22.
        
        server status transferred to the client after errors
      sql/protocol.cc:
        Bug #32624 Error with multi queries in MySQL embedded server 5.1.22.
        
        set server status before net_send_error_packet() call as this
        function sends it to the client in the embedded server
      tests/mysql_client_test.c:
        Bug #32624 Error with multi queries in MySQL embedded server 5.1.22.
        
        testcase added
      1d062682
  4. 27 Nov, 2007 5 commits
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 962d40b4
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B30355-5.0-opt
      
      
      962d40b4
    • unknown's avatar
      Merge gleb.loc:/work/bk/5.0-opt-32403 · a5799544
      unknown authored
      into  gleb.loc:/work/bk/5.0-opt
      
      
      sql/opt_range.cc:
        Auto merged
      a5799544
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · d0bfc6c1
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B30355-5.0-opt
      
      
      d0bfc6c1
    • unknown's avatar
      Bug #30355: Incorrect ordering of UDF results · 63b65169
      unknown authored
      There's currently no way of knowing the determinicity of an UDF.
      And the optimizer and the sequence() UDFs were making wrong
      assumptions about what the is_const member means.
      Plus there was no implementation of update_system_tables()
      causing the optimizer to overwrite the information returned by
      the <udf>_init function.
      
      Fixed by equating the assumptions about the semantics of 
      is_const and providing a implementation of update_used_tables().
      Added a TODO item for the UDF API change needed to make a better 
      implementation.
      
      
      include/mysql_com.h:
        Bug #30355: comment added
      mysql-test/r/udf.result:
        Bug #30355: test case
      mysql-test/t/udf.test:
        Bug #30355: test case
      sql/item_func.cc:
        Bug #30355: keep const_item_cache and used_tables_cache in sync
      sql/item_func.h:
        Bug #30355: 
         - a better implementation of update_used_tables()
         - keep const_item_cache and used_tables_cache in sync
      sql/udf_example.c:
        Bug #30355: Wrong value for const_item fixed.
      63b65169
    • unknown's avatar
      Fixed bug #32403: query causes a crash due to stack and · d068dd1a
      unknown authored
                        memory corruptions.
      
      The right pointer field of the SEL_ARG structure was not
      initialized in the constructor and sometimes that led to
      server crashes.
      
      There is no testcase because the bug occurs only when
      uninitialized memory has particular values, which can't be
      re-created in the test suite.
      
      
      sql/opt_range.cc:
        Fixed bug #32403.
        
        The eq_tree function requires that SEL_ARG::left and
        SEL_ARG::right are equal to null pointer if SEL_ARG
        type is MAYBE_KEY, but SEL_ARG::right was not initialized
        and contained garbage.
      d068dd1a
  5. 26 Nov, 2007 8 commits
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug28837/my50-bug29131 · 29cdc47e
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
      
      
      sql/ha_myisam.cc:
        Auto merged
      mysql-test/r/merge.result:
        Manual merge.
      mysql-test/r/myisam.result:
        Manual merge.
      mysql-test/t/merge.test:
        Manual merge.
      mysql-test/t/myisam.test:
        Manual merge.
      29cdc47e
    • unknown's avatar
      Fix for bug #28837: MyISAM storage engine error (134) doing delete with · 67bf39f2
      unknown authored
      self-join
      
      When doing DELETE with self-join on a MyISAM or MERGE table, it could
      happen that a record being retrieved in join_read_next_same() has
      already been deleted by previous iterations. That caused the engine's
      index_next_same() method to fail with HA_ERR_RECORD_DELETED error and
      the whole DELETE query to be aborted with an error.
      
      Fixed by suppressing the HA_ERR_RECORD_DELETED error in
      hy_myisam::index_next_same() and ha_myisammrg::index_next_same(). Since
      HA_ERR_RECORD_DELETED can only be returned by MyISAM, there is no point
      in filtering this error in the SQL layer.
      
      
      mysql-test/r/merge.result:
        Added a test case for bug #28837.
      mysql-test/r/myisam.result:
        Added a test case for bug #28837.
      mysql-test/t/merge.test:
        Added a test case for bug #28837.
      mysql-test/t/myisam.test:
        Added a test case for bug #28837.
      sql/ha_myisam.cc:
        Skip HA_ERR_RECORD_DELETED silently when calling mi_rnext_same().
      sql/ha_myisammrg.cc:
        Skip HA_ERR_RECORD_DELETED silently when calling mi_rnext_same().
      67bf39f2
    • unknown's avatar
      5.0 version of the fix for bug #9481: mysql_insert_id() returns 0 after · 1836b736
      unknown authored
      insert ... select.
      
      The 5.0 manual page for mysql_insert_id() does not mention anything
      about INSERT ... SELECT, though its current behavior is incosistent
      with what the manual says about the plain INSERT.
      
      Fixed by changing the AUTO_INCREMENT and mysql_insert_id() handling
      logic in INSERT ... SELECT to be consistent with the INSERT behavior,
      the manual, and the changes in 5.1 introduced by WL3146:
      
      
      - mysql_insert_id() now returns the first automatically generated
      AUTO_INCREMENT value that was successfully inserted by INSERT ... SELECT
      
      -  if an INSERT ... SELECT statement is executed, and no automatically
      generated value is successfully inserted, mysql_insert_id() now returns
      the ID of the last inserted row.
      
      
      sql/sql_class.h:
        Replaced last_insert_id with autoinc_value_of_last_inserted_row to be
        consistent with 5.1 code.
      sql/sql_insert.cc:
        Revised the AUTO_INCREMENT and mysql_insert_id() handling logic in
        INSERT ... SELECT to be consistent with INSERT behavior, the manual, and
        changes in 5.1 introduced by WL3146:
        
        - mysql_insert_id() now returns the first automatically generated
        AUTO_INCREMENT value that was successfully inserted;
        
        -  if an INSERT ... SELECT statement is executed, and no automatically
        generated value is successfully inserted, mysql_insert_id() now returns
        the ID of the last inserted row.
      tests/mysql_client_test.c:
        Backported the test cases related to INSERT ... SELECT and
        mysql_insert_id() from WL3146 patch to 5.0.
      1836b736
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · c81eb57b
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B32036-5.0-opt
      
      
      c81eb57b
    • unknown's avatar
      Bug #31900 Wrong confusing comment in mysql_com.h header file. · 7257ed0e
      unknown authored
      comment fixed as we truly need const_item to be 1 to mark
      constant function
      
      
      include/mysql_com.h:
        Bug #31900 Wrong confusing comment in mysql_com.h header file.
        
        comment fixed
      7257ed0e
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · cf84ca46
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B32036-5.0-opt
      
      
      mysql-test/r/subselect.result:
        merge of fix for bug 32036 to 5.0-opt
      mysql-test/t/subselect.test:
        merge of fix for bug 32036 to 5.0-opt
      cf84ca46
    • unknown's avatar
      Bug #32036: EXISTS within a WHERE clause with a UNION · f3f9855d
      unknown authored
        crashes MySQL 5.122
      There was a difference in how UNIONs are handled
      on top level and when in sub-query.
      Because the rules for sub-queries were syntactically
      allowing cases that are not currently supported by
      the server we had crashes (this bug) or wrong results
      (bug 32051).
      Fixed by making the syntax rules for UNIONs match the 
      ones at top level.
      
      These rules however do not support nesting UNIONs, e.g.
      (SELECT a FROM t1 UNION ALL SELECT b FROM t2) 
       UNION
      (SELECT c FROM t3 UNION ALL SELECT d FROM t4)
      Supports for statements with nested UNIONs will be
      added in a future version.
      
      
      mysql-test/r/subselect.result:
        Bug #32036: test case
      mysql-test/t/subselect.test:
        Bug #32036: test case
      sql/sql_yacc.yy:
        Bug #32036: Make the syntax rules for UNIONs in subqueries the same
        as for top level UNIONs.
      f3f9855d
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 8fd43262
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B32268-5.0-opt
      
      
      sql/sql_select.cc:
        Auto merged
      8fd43262
  6. 24 Nov, 2007 5 commits
  7. 23 Nov, 2007 1 commit
  8. 22 Nov, 2007 5 commits
  9. 21 Nov, 2007 3 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
      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
  10. 20 Nov, 2007 3 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
      Bug #32400: Complex SELECT query returns correct result · 870d4681
      unknown authored
       only on some occasions
      
      Referencing an element from the SELECT list in a WHERE 
      clause is not permitted. The namespace of the WHERE
      clause is the table columns only. This was not enforced
      correctly when resolving outer references in sub-queries.
      
      Fixed by not allowing references to aliases in a 
      sub-query in WHERE.
      
      
      mysql-test/include/ps_query.inc:
        Bug #32400: fixed old test queries
      mysql-test/r/ps_2myisam.result:
        Bug #32400: fixed old test queries
      mysql-test/r/ps_3innodb.result:
        Bug #32400: fixed old test queries
      mysql-test/r/ps_4heap.result:
        Bug #32400: fixed old test queries
      mysql-test/r/ps_5merge.result:
        Bug #32400: fixed old test queries
      mysql-test/r/ps_6bdb.result:
        Bug #32400: fixed old test queries
      mysql-test/r/ps_7ndb.result:
        Bug #32400: fixed old test queries
      mysql-test/r/subselect.result:
        Bug #32400: test case
      mysql-test/t/subselect.test:
        Bug #32400: test case
      sql/item.cc:
        Bug #32400: don't allow references to aliases in WHERE
      tests/mysql_client_test.c:
        Bug #32400: fixed old test queries
      870d4681