An error occurred fetching the project authors.
  1. 18 Jul, 2005 1 commit
  2. 04 Jul, 2005 1 commit
    • unknown's avatar
      Fixes during review of new code · 306ebf7b
      unknown authored
      - Mostly indentation fixes
      - Added missing test
      - Ensure that Item_func_case() checks for stack overruns
      - Use real_item() instead of (Item_ref*) item
      - Fixed wrong error handling
      
      
      myisam/mi_unique.c:
        Improved comments
      myisam/myisampack.c:
        Updated version number
      mysql-test/r/group_by.result:
        Added test that was lost during earlier merge
      mysql-test/r/information_schema.result:
        Safety fix: Drop procedures before used
      mysql-test/t/group_by.test:
        Added test that was lost during earlier merge
      mysql-test/t/information_schema.test:
        Safety fix: Drop procedures before used
      mysys/hash.c:
        Updated comment
      sql/field.cc:
        false -> FALSE
      sql/ha_ndbcluster.cc:
        Fix some style issues
        - No () around argument to 'case'
        - Space before ( in switch and if
        - Removed 'goto'
        - Added {}
        - Added () to make expressions easier to read
        - my_snprintf -> strmov
      sql/handler.cc:
        if( -> if (
      sql/item.cc:
        Indentation changes
      sql/item.h:
        false -> FALSE
      sql/item_cmpfunc.cc:
        Ensure that Item_func_case() check for stack overrun properly
      sql/item_cmpfunc.h:
        Ensure that Item_func_case() check for stack overrun properly
      sql/item_func.cc:
        Indentation fixes
        Fixed wrong goto label
      sql/mysqld.cc:
        Remove test for opt_disable_networking as this flag can never be set here
      sql/opt_range.cc:
        Simplify code
      sql/sql_class.h:
        Move define out from middle of class definition
      sql/sql_parse.cc:
        Remove extra empty lines
      sql/sql_select.cc:
        use real_item() instead of (Item_ref*) item
        Modifed function comment to be align with others
        Simple optimization
      sql/sql_union.cc:
        Portability fix:
        Don't use 'bool_variable|=...'
      sql/sql_view.cc:
        Move List_iterator_fast out from loops (rewind is faster than creating a new itearator)
      strings/ctype-utf8.c:
        if( -> if (
      strings/ctype.c:
        Remove disabled code
      strings/decimal.c:
        Indentation fixes
      strings/xml.c:
        Indentation fixes
      306ebf7b
  3. 29 Jun, 2005 1 commit
    • unknown's avatar
      Simple optimization · 1aa6343f
      unknown authored
      nsure that delete works not only on table->record[0] for federated tables
      
      
      sql/field.cc:
        Test OOM condition
      sql/ha_federated.cc:
        Simple optimizations
        Ensure that delete works not only on table->record[0]
      sql/opt_range.cc:
        Simplify code
      1aa6343f
  4. 28 Jun, 2005 6 commits
    • unknown's avatar
      opt_range.cc: · 19103bf3
      unknown authored
        Fixed a compilation error.
      
      
      sql/opt_range.cc:
        Fixed a compilation error.
      19103bf3
    • unknown's avatar
      Fixed comments. · d2f7623d
      unknown authored
      sql/opt_range.cc:
        comment fixed.
      sql/sp_head.cc:
        An obsolete comment removed.
      d2f7623d
    • unknown's avatar
      A fix and a test case for Bug#10736 "mysql_stmt_attr_set · 79c1be9e
      unknown authored
      CURSOR_TYPE_READ_ONLY select within select".
      The bug was caused by the reset of thd->mem_root to thd->main_mem_root in 
      Item_subselect::exec, which in turn triggered too early free_root() for
      data which was needed on subsequent fetches from a cursor.
      This reset also caused a memory leak in stored procedures, as 
      subsequent executions of instructions containing a subselect
      were allocating memory in thd->main_mem_root, which is not freed
      until the end of the entire SP, instead of the per-call mem_root,
      which is freed in the end of execution of the instruction.
      
      
      sql/item_subselect.cc:
        Don't try to protect subqueries from the code that assumes that
        it can reset thd->mem_root and get away with it: it's responsibility
        of the caller to ensure that no assumption about the life span
        of the allocated memory made by the called code is broken.
        Besides, this didn't work well with cursors and stored procedures, 
        where the runtime memory root is not the same as &thd->main_mem_root.
      sql/opt_range.cc:
        In get_mm_leaf restore the original mem_root of the thd which has
        been temporarily reset with the quick select mem_root earlier: if 
        thd->mem_root points to the QUICK...::mem_root, the memory allocated
        in JOIN::exec during evaluation of a subquery gets freed too early.
      tests/mysql_client_test.c:
        A test case for Bug#10736 "mysql_stmt_attr_set CURSOR_TYPE_READ_ONLY
         select within select"
      79c1be9e
    • unknown's avatar
      range.result, range.test: · 1031b871
      unknown authored
        Added a test case for bug #10031.
      opt_range.cc:
        Fixed bug #10031: range condition was not used with
        views. Range analyzer did not take into account that
        view columns were always referred through Item_ref.
      
      
      sql/opt_range.cc:
        Fixed bug #10031: range condition was not used with
        views. Range analyzer did not take into account that
        view columns were always referred through Item_ref.
      mysql-test/t/range.test:
        Added a test case for bug #10031.
      mysql-test/r/range.result:
        Added a test case for bug #10031.
      1031b871
    • unknown's avatar
      Move reset of insert_values to ensure it's done also during error conditions · 05c7edf6
      unknown authored
      This fixed a failure of insert_update.test on some platforms
      
      
      mysys/thr_alarm.c:
        Fixed problem noticed by valgrind
      sql/opt_range.cc:
        Simple optimization for common case
      sql/sql_base.cc:
        Safety assert
      sql/sql_insert.cc:
        Added comment
      05c7edf6
    • unknown's avatar
      opt_range.cc: · f7780a1c
      unknown authored
        Added missing `;' to DBUG_RETURN()
      
      
      sql/opt_range.cc:
        Added missing `;' to DBUG_RETURN()
      f7780a1c
  5. 23 Jun, 2005 3 commits
    • unknown's avatar
      opt_range.cc: · dfaf7a01
      unknown authored
        Identation correction.
      
      
      sql/opt_range.cc:
        Identation correction.
      dfaf7a01
    • unknown's avatar
      opt_range.cc: · c4a8325d
      unknown authored
        Fixed buf #11487.
        Added a call of  QUICK_RANGE_SELECT::init to the
        QUICK_RANGE_SELECT::reset method. Without it the second
        evaluation of a subquery employing the range access failed.
      subselect.result, subselect.test:
        Added a test case for bug #11487.
      
      
      mysql-test/t/subselect.test:
        Added a test case for bug #11487.
      mysql-test/r/subselect.result:
        Added a test case for bug #11487.
      sql/opt_range.cc:
        Fixed buf #11487.
        Added a call of  QUICK_RANGE_SELECT::init to the
        QUICK_RANGE_SELECT::reset method. Without it the second
        evaluation of a subquery employing the range access failed.
      c4a8325d
    • unknown's avatar
      Fix for BUG#11185. · e4296f58
      unknown authored
      The source of the problem is in Field_longlong::cmp. If 'this' is
      an unsigned number, the method casts both the current value, and
      the constant that we compare with to an unsigned number. As a
      result if the constant we compare with is a negative number, it
      wraps to some unsigned number, and the comparison is incorrect.
      
      When the optimizer chooses the "range" access method, this problem
      causes handler::read_range_next to reject the current key when the
      upper bound key is a negative number because handler::compare_key
      incorrectly considers the positive and negative keys to be equal.
      
      The current patch does not correct the source of the problem in
      Field_longlong::cmp because it is not easy to propagate sign
      information about the constant at query execution time. Instead
      the patch changes the range optimizer so that it never compares
      unsiged fields with negative constants. As an added benefit,
      queries that do such comparisons will execute faster because
      the range optimizer replaces conditions like:
      (a) (unsigned_int [< | <=] negative_constant) == FALSE
      (b) (unsigned_int [> | >=] negative_constant) == TRUE
      with the corresponding constants.
      In some cases this may even result in constant time execution.
      
      
      mysql-test/r/range.result:
        - Changed incorrect result of an old test
        - Added new results for BUG#11185
      mysql-test/t/range.test:
        - Added new tests for BUG#11185
        - Deleted an old comment because now the problem is fixed
      sql/opt_range.cc:
        Added a new optimization to the range optimizer where we detect that
        an UNSIGNED field is compared with a negative constant. Depending on
        the comparison operator, we know directly that the result of the
        comparison is either TRUE or FALSE for all input values, and we need
        not check each value.
        
        This optimization is also necessary so that the index range access
        method produces correct results when comparing unsigned fields with
        negative constants.
      e4296f58
  6. 22 Jun, 2005 1 commit
    • unknown's avatar
      WL#2286 - Compile MySQL w/YASSL support · 80a62132
      unknown authored
      Fix GCC 4.0 link failure.
      Better CXX_VERSION guessing.
      
      
      config/ac-macros/misc.m4:
        Better CXX_VERSION guessing.
      configure.in:
        CXX_VERSION guessing moved to misc.m4.
        HAVE_EXPLICIT_TEMPLATE_INSTANTIATION moved to config.h.
        Use compiler AR with MIPSpro and Forte instead of instantiating templates explicitly.
      extra/yassl/src/crypto_wrapper.cpp:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      extra/yassl/src/template_instnt.cpp:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      extra/yassl/src/yassl_int.cpp:
        GCC 4.0 link fix. This file needs __cxa_pure_virtual.
      extra/yassl/taocrypt/include/runtime.hpp:
        Fix GCC 4.0 link failure. Instruct compiler to always emit __cxa_pure_virtual even if
        it seems to be never used.
      extra/yassl/taocrypt/include/types.hpp:
        Include config.h.
      extra/yassl/taocrypt/src/algebra.cpp:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      extra/yassl/taocrypt/src/dh.cpp:
        GCC 4.0 link fix. This file needs __cxa_pure_virtual.
      extra/yassl/taocrypt/src/dsa.cpp:
        GCC 4.0 link fix. This file needs __cxa_pure_virtual.
      extra/yassl/taocrypt/src/integer.cpp:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      extra/yassl/taocrypt/src/rsa.cpp:
        GCC 4.0 link fix. This file needs __cxa_pure_virtual.
      extra/yassl/taocrypt/src/template_instnt.cpp:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/field.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/item.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/item_buff.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/mysqld.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/opt_range.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/set_var.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/slave.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/sql_acl.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/sql_class.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/sql_insert.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/sql_map.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/sql_select.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/sql_show.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      sql/table.cc:
        EXPLICIT_TEMPLATE_INSTANTIATION renamed to HAVE_EXPLICIT_TEMPLAE_INSTANTIATION.
      80a62132
  7. 20 Jun, 2005 1 commit
  8. 19 Jun, 2005 1 commit
    • unknown's avatar
      WL#2286 - Compile MySQL w/YASSL support · 2c8ee686
      unknown authored
      Fix for yaSSL link failures with Forte Developer 7, MIPSpro Compilers, Compaq C++.
      These compilers have problem with implicit template instantiation in archives
      (libyassl.a, libtaocrypt.a). Instantiate templates explicitly.
      
      Fix for yaSSL link failure on powermacg5 (gcc 3.3). When -O3 is specified gcc inlines
      __cxa_pure_virtual. This is wrong behavior, __cxa_pure_virtual must never be inlined.
      
      
      configure.in:
        Better CXX_VERSION guessing.
        EXPLICIT_TEMPLATE_INSTANTIATION macro indicates whether to instantiate templates explicitly.
        Instantiate templates explicitly on MIPSpro, Compaq, Forte.
      extra/yassl/src/crypto_wrapper.cpp:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      extra/yassl/src/template_instnt.cpp:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
        More portable templates instantiation.
      extra/yassl/src/yassl_int.cpp:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
        More portable templates instantiation.
      extra/yassl/taocrypt/include/runtime.hpp:
        Fix for link failure on powermacg5 (gcc 3.3). __cxa_pure_virtual must never be inlined.
      extra/yassl/taocrypt/src/algebra.cpp:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      extra/yassl/taocrypt/src/integer.cpp:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      extra/yassl/taocrypt/src/template_instnt.cpp:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/field.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/item.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/item_buff.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/mysqld.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/opt_range.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/set_var.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/slave.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/sql_acl.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/sql_class.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/sql_insert.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/sql_map.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/sql_select.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/sql_show.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      sql/table.cc:
        Replace __GNUC__ by EXPLICIT_TEMPLATE_INSTANTIATION.
      2c8ee686
  9. 14 Jun, 2005 1 commit
    • unknown's avatar
      Fix for BUG#11044 - "SELECT DISTINCT on indexed column returns inconsistent results" · d87c2dd6
      unknown authored
      The problem was that when there was no MIN or MAX function, after finding the
      group prefix based on the DISTINCT or GROUP BY attributes we did not search further
      for a key in the group that satisfies the equi-join conditions on attributes that
      follow the group attributes. Thus we ended up with the wrong rows, and subsequent
      calls to select_cond->val_int() in evaluate_join_record() were filtering those
      rows. Hence - the query result set was empty.
      
      The problem occured both for GROUP BY queries without MIN/MAX and for queries
      with DISTINCT (which were internally executed as GROUP BY queries).
      
      
      mysql-test/r/group_min_max.result:
        Added test result for BUG#11044. Notice that the group by query is
        equivalent to the distinct query and both are executed via the same
        algorithm.
      mysql-test/t/group_min_max.test:
        Added test for BUG#11044. Notice that the group by query is
        equivalent to the distinct query and both are executed via the
        same algorithm.
      sql/opt_range.cc:
        * Use the extended prefix in QUICK_GROUP_MIN_MAX_SELECT::get_next()
          to find keys that satisfy equality conditions in the case when there is
          no MIN or MAX function.
        * Corrected some method comments.
        * Corrected debug printout of cost information.
      d87c2dd6
  10. 05 Jun, 2005 1 commit
  11. 03 Jun, 2005 1 commit
    • unknown's avatar
      Move USE_PRAGMA_IMPLEMENTATION to proper place · 72dd44b9
      unknown authored
      Ensure that 'null_value' is not accessed before val() is called in FIELD() functions
      Fixed initialization of key maps. This fixes some problems with keys when you have more than 64 keys
      Fixed that ROLLUP don't always create a temporary table. This fix ensures that func_gconcat.test results are now predictable
      
      
      mysql-test/r/func_gconcat.result:
        Move innodb specific test to innodb.test
        Changed table name r2 -> t2
        More test to see how ROLLUP was optimized
      mysql-test/r/innodb.result:
        Moved test here form func_gconcat
      mysql-test/r/olap.result:
        New test results after optimization
      mysql-test/t/func_gconcat.test:
        Move innodb specific test to innodb.test
        Changed table name r2 -> t2
        More test to see how ROLLUP was optimized
      mysql-test/t/innodb.test:
        Moved test here form func_gconcat
      sql/field.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_berkeley.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_blackhole.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_heap.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_innodb.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_isam.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_isammrg.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_myisam.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_myisammrg.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_ndbcluster.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/handler.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/hash_filo.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_cmpfunc.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_func.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
        Ensure that 'null_value' is not accessed before val() is called
      sql/item_geofunc.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_strfunc.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_subselect.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_sum.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_timefunc.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_uniq.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/log_event.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/mysql_priv.h:
        Change key_map_full to not be const as we are giving it a proper value on startup
      sql/mysqld.cc:
        Move key_map variables here and initialize key_map_full properly
      sql/opt_range.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/opt_range.h:
        Fix that test_quick_select() works with any ammount of keys
      sql/procedure.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/protocol.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/protocol_cursor.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/set_var.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_analyse.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_class.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_crypt.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_insert.cc:
        Fixed that max_rows is ulong
      sql/sql_list.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_map.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_olap.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_select.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
        Fixed that ROLLUP don't have to always create a temporary table
        Added new argument to remove_const() to make above possible
        Fixed some errors that creapt up when we don't always do a temporary table for ROLLUP
      sql/sql_string.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_table.cc:
        Simple optimizations
        Fixed wrong checking of build_table_path() in undef-ed code
      sql/sql_udf.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_yacc.yy:
        removed extra {}
      72dd44b9
  12. 02 Jun, 2005 3 commits
    • unknown's avatar
    • unknown's avatar
      bitmap bug fixes and interface change · 15ca553a
      unknown authored
      15ca553a
    • unknown's avatar
      tztime.cc: · cee10f97
      unknown authored
        Set #pragma implementation" earlier
      Many files:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      
      
      client/sql_string.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      mysys/raid.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/field.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_berkeley.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_blackhole.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_heap.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_innodb.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_isam.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_isammrg.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_myisam.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_myisammrg.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/ha_ndbcluster.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/handler.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/hash_filo.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_cmpfunc.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_func.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_geofunc.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_strfunc.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_subselect.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_sum.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_timefunc.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/item_uniq.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/log_event.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/opt_range.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/procedure.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/protocol.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/protocol_cursor.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/set_var.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_analyse.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_class.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_crypt.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_list.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_map.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_olap.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/examples/ha_archive.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_select.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_string.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/sql_udf.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/examples/ha_example.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/examples/ha_tina.cc:
        Need to include <my_global.h> before #ifdef USE_PRAGMA_IMPLEMENTATION
      sql/tztime.cc:
        Set #pragma implementation" earlier
      cee10f97
  13. 01 Jun, 2005 1 commit
    • unknown's avatar
      Code cleanups during code reviews · 906b210a
      unknown authored
      Ensure we get error if INSERT IGNORE ... SELECT fails
      Fixed wrong key_part->key_length usage in index_merge
      
      
      client/mysql.cc:
        Code cleanups & simply optimizations
      mysql-test/r/information_schema.result:
        Safety
      mysql-test/t/information_schema.test:
        Safety
      sql/ha_ndbcluster.cc:
        Code cleanups
      sql/item.cc:
        Code cleanups
      sql/item_subselect.cc:
        Code cleanups
      sql/item_sum.cc:
        Code cleanups
      sql/opt_range.cc:
        Made get_index_only_read_time() static (instad of inline) to increase portability (function was not declared before use)
        Simple optimization
        Fixed wrong key_part->key_length usage in index_merge
        Removed not used variable n_used_covered
        Indentation fixes & comment cleanups
      sql/parse_file.cc:
        Code cleanups
      sql/sql_base.cc:
        Code cleanups
      sql/sql_bitmap.h:
        Added missing return
      sql/sql_insert.cc:
        Ensure we get error if INSERT IGNORE ... SELECT fails
      sql/sql_select.cc:
        Code cleanups
      sql/sql_show.cc:
        Safety fix if a LOT of errors are ignored
      sql/sql_update.cc:
        Code cleanups
      sql/table.cc:
        Code cleanups
      sql/table.h:
        Code cleanups
      sql/uniques.cc:
        Code cleanups
      strings/decimal.c:
        Simple optimization
        Code cleanups
      906b210a
  14. 30 May, 2005 2 commits
    • unknown's avatar
      Fixed bug in multiple-table-delete where some rows was not deleted · e2285c54
      unknown authored
      mysql-test/r/delete.result:
        Test case for bug in multiple-table-delete where some rows was not deleted
      mysql-test/t/delete.test:
        Test case for bug in multiple-table-delete where some rows was not deleted
      sql/item_subselect.cc:
        Code cleanup
      sql/opt_range.cc:
        Code cleanup
      sql/sql_delete.cc:
        Fixed bug in multiple-table-delete where some rows was not deleted
        This happend when the first table-to-delete-from was not the the table that was scanned.
        Fixed this by only doing 'delete-on-the-fly' for the first table.
        Fixed also some wrong error handling in multi-table-delete
      e2285c54
    • unknown's avatar
      Preparatory (and the most problematic) patch for Bug#7306 · 78422442
      unknown authored
      "the server side preparedStatement error for LIMIT placeholder",
      which moves all uses of LIMIT clause from PREPARE to OPTIMIZE
      and later steps.
      After-review fixes.
      
      
      mysql-test/r/group_min_max.result:
        Test results fixed for EXPLAINs when using GROUP_MIN_MAX access plan.
      sql/item_subselect.cc:
        Move setting of the internal LIMIT used for IN/ALL/ANY/EXISTS 
        subqueries to one place: Item_exists_subselect::fix_length_and_dec().
        This implies that unit->select_limit_cnt is not set until the item is 
        fixed. This is OK, as now LIMIT values are not used until JOIN::optimize.
      sql/mysql_priv.h:
        setup_tables no longer needs a special flag for the case when
        it's called from JOIN::reinit() (we don't need to call setup_tables
        between two executions of a correlated subquery).
      sql/opt_range.cc:
        Fix a glitch in GROUP_MIN_MAX access plan: we should use table metadata,
        not field data, to evaluate max_used_key_length, which is then
        used for explain.
      sql/sp.cc:
        - setup_tables signature changed.
      sql/sql_base.cc:
        - setup_tables no longer needs a special mode for subqueries.
          Unused checks were removed.
      sql/sql_delete.cc:
        - setup_tables signature changed
      sql/sql_help.cc:
        - setup_tables signature changed
      sql/sql_insert.cc:
        - setup_tables signature changed
      sql/sql_lex.cc:
        Consolidate setting of internal LIMIT for IN/ALL/ANY/EXISTS subqeries
        in one place, and hence remove it from st_select_lex::test_limit().
      sql/sql_lex.h:
        Cleanup signature of st_select_lex_unit::init_prepare_fake_select_lex().
      sql/sql_load.cc:
        - setup_tables signature changed
      sql/sql_olap.cc:
        - setup_tables signature changed
      sql/sql_parse.cc:
        - st_select_lex_unit::set_limit() signature changed
      sql/sql_select.cc:
        Move setting of JOIN::select_limit from JOIN::prepare
        to JOIN::optimize. At prepare, limit is unknown yet.
        Remove excessive cleanups from JOIN::reinit which were overwriting
        join->join_tab[i]->table->used_keys. This fixes the bug which was triggered
        by the change in item_subselect.cc.
      sql/sql_union.cc:
        Class st_select_lex_unit was changed to avoid calls to 
         st_select_lex_unit::set_limit from places where it may be unknown.
        Now unit->select_limit_cnt is set at ::exec(). 
        st_select_lex_unit::init_prepare_fake_select_lex(): 
         - move out set_limit functionality
         - remove a few lines of dead code.
        st_select_lex_unit::prepare():
          - now we don't call set_limit at the time of prepare, so the value  
            of unit->select_limit_cnt may be unknown here. Use sl->select_limit
            instead.
        st_select_lex_unit::exec():
          - cleanup
          - call set_limit explicitly as it has been moved out of 
           init_prepare_fake_select_lex.
      sql/sql_update.cc:
        - setup_tables signature changed
      78422442
  15. 26 May, 2005 1 commit
    • unknown's avatar
      Add ifdefs to control when "#pragma implementation" should be used · 22944a95
      unknown authored
      Added some more ifdefs for "#pragma interface"
      
      
      client/sql_string.cc:
        USE_PRAGMA_IMPLEMENTATION
      client/sql_string.h:
        USE_PRAGMA_INTERFACE
      include/my_global.h:
        Use pragma implementation for gcc pre version 3
      mysys/raid.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/field.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_berkeley.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_blackhole.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_heap.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_innodb.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_isam.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_isammrg.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_myisam.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_myisammrg.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/ha_ndbcluster.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/handler.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/hash_filo.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_cmpfunc.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_func.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_geofunc.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_strfunc.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_subselect.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_sum.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_timefunc.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_uniq.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/item_uniq.h:
        USE_PRAGMA_INTERFACE
      sql/log_event.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/log_event.h:
        USE_PRAGMA_INTERFACE
      sql/opt_range.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/procedure.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/protocol.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/protocol_cursor.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/set_var.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_analyse.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_analyse.h:
        USE_PRAGMA_INTERFACE
      sql/sql_class.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_crypt.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_crypt.h:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_list.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_map.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_map.h:
        USE_PRAGMA_INTERFACE
      sql/sql_olap.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_select.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_string.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/sql_udf.cc:
        USE_PRAGMA_IMPLEMENTATION
      sql/tztime.cc:
        USE_PRAGMA_IMPLEMENTATION
      22944a95
  16. 25 May, 2005 1 commit
    • unknown's avatar
      Cleanup's during review · c6283dbb
      unknown authored
      Added ASSERT() to detect wrongly packed fields
      
      
      sql/field.h:
        Fixed comments to right format
      sql/opt_range.cc:
        Merged code
      sql/sql_base.cc:
        Fixed indentation
      sql/sql_insert.cc:
        Fixed comments to right format
      sql/sql_select.cc:
        Simplify code
      sql/unireg.cc:
        Simply code for calculating key_buff_length
        Added ASSERT() to detect wrongly packed fields
      c6283dbb
  17. 21 May, 2005 2 commits
    • unknown's avatar
      opt_range.cc: · d844dab1
      unknown authored
        Post review corrections for optimization request #10561.
      
      
      sql/opt_range.cc:
        Post review corrections for optimization request #10561.
      d844dab1
    • unknown's avatar
      range.result, range.test: · 8f7bca3a
      unknown authored
        Added test cases for optimization request #10561.
      opt_range.cc, sql_select.cc:
        Fixed bug #10561: an optimization request to allow
        range analysis for NOT IN and NOT BETWEEN.
      
      
      sql/sql_select.cc:
        Fixed bug #10561: an optimization request to allow
        range analysis for NOT IN and NOT BETWEEN.
      sql/opt_range.cc:
        Fixed bug #10561: an optimization request to allow
        range analysis for NOT IN and NOT BETWEEN.
      mysql-test/t/range.test:
        Added test cases for optimization request #10561.
      mysql-test/r/range.result:
        Added test cases for optimization request #10561.
      8f7bca3a
  18. 19 May, 2005 1 commit
  19. 12 May, 2005 1 commit
  20. 09 May, 2005 1 commit
    • unknown's avatar
      Fix for bug #9798: Rollup crash with InnoDB in setup_sum_funcs(). · 51e86278
      unknown authored
      sql/opt_range.cc:
        Fix for bug #9798: Rollup crash with InnoDB in setup_sum_funcs().
        Disable mix/max group by optimization for queries with rollup for now.
        Note: the actual bug was hidden; if this optimization works with rollup
        queries we will have to change some code:
        
        the problem is that we call the join->make_sum_func_list() function against 
        changed thd->mem_root (see SQL_SELECT::test_quick_select()) which creates some
        items for rollup, then we free that mem_root, then we try to reuse (free) those
        items.
      51e86278
  21. 07 May, 2005 1 commit
    • unknown's avatar
      WL 1682: Bitvector for updated/read fields in handler interface · fdde665e
      unknown authored
      Fixed clear issues of bitvector and memory allocation issues
      
      
      sql/bitvector.cc:
        Made bitvector memroot class
      sql/bitvector.h:
        Made bitvector memroot class
      sql/handler.cc:
        Need to add updated fields to read set to ensure that they are
        updated since the update code doesn't update if records haven't
        changed
        Added DBUG printout's
      sql/handler.h:
        Moved clear of bitvector's to reset function
        Introduced ha_reset for this purpose to ensure that it isn't
        necessary to perform this clear in all handlers.
      sql/lock.cc:
        Removed clear that has been moved to ha_reset
      sql/opt_range.cc:
        Changed reset to ha_reset
        Added delete file
      sql/sql_base.cc:
        Removed clear and changed reset to ha_reset
      sql/sql_insert.cc:
        Removed clear and changed reset to ha_reset
      sql/sql_select.cc:
        Made sure delete file is done if needed
      sql/sql_table.cc:
        Added delete file in another place needed
      sql/sql_update.cc:
        Bug for multi-update fixed
      fdde665e
  22. 06 May, 2005 1 commit
    • unknown's avatar
      Fixes while reviewing new code · ab54e167
      unknown authored
      Added option --count to mysqlshow (to show number of rows)
      Fixed possible core dump in information schema
      
      
      client/client_priv.h:
        --count for mysqlshow
      client/mysqlshow.c:
        Added option --count to be used when the user want's number of rows per table in the output
        (We shouldn't use count(*) as default as this can be a slow operation)
      mysys/my_thr_init.c:
        Correct comment
      sql/ha_berkeley.cc:
        Remove not used variable
      sql/ha_berkeley.h:
        Remove not used variable
      sql/ha_innodb.cc:
        Remove not used function
      sql/ha_ndbcluster.cc:
        false -> FALSE
        true -> TRUE
      sql/handler.cc:
        Added and fixed comments
        Remove 'strange' code to remove compiler warnings (better to do things like this with attribute)
      sql/item.cc:
        false -> FALSE
      sql/item_cmpfunc.cc:
        Fixed indentation
      sql/item_cmpfunc.h:
        marked BETWEEN as a bool function
      sql/item_func.cc:
        Simple optimzation
      sql/key.cc:
        Removed wrong code
      sql/log.cc:
        Check result from open_index_file()
      sql/mysql_priv.h:
        Simplyfy some test of netware
      sql/mysqld.cc:
        Fixed indentation
        Check result form open_index_file()
        Simplify code with IF_NETWARE()
      sql/opt_range.cc:
        false -> FALSE
        true -> TRUE
        Fixed indentation
      sql/opt_sum.cc:
        Fixed comments
      sql/sp_head.cc:
        Simple optimzation
        Move variable declarations to begining of blocks
      sql/sql_acl.cc:
        Fix long lines
        Rename xx -> column
        Move declaration to beginning of block
      sql/sql_parse.cc:
        Removed comment
      sql/sql_select.cc:
        Indentation fixes
      sql/sql_show.cc:
        Fixed reference outside of array (possible core dump)
      sql/sql_table.cc:
        Simplify code
        Combine common code
      sql/sql_test.cc:
        false -> FALSE
      sql/sql_trigger.cc:
        false -> false
        true -> TRUE
      sql/sql_yacc.yy:
        Simpler test
      sql/unireg.cc:
        Added comment
      ab54e167
  23. 02 May, 2005 1 commit
    • unknown's avatar
      WL 1682: After review fixes + update bitvector class + bitvector test · 7689fcfb
      unknown authored
      cases + bug fixes
      
      
      mysys/my_bitmap.c:
        Removed debug comments
      sql/bitvector.h:
        Changed a number of things
        Added new methods, new handling of end bits, faster search
        for bits using word by word search..
      sql/field.h:
        Added comment
      sql/ha_federated.cc:
        Fixes
      sql/ha_innodb.cc:
        Fixes
      sql/ha_innodb.h:
        InnoDB still needs the extra calls not needed by anybody else
      sql/ha_ndbcluster.cc:
        Removed some timestamp set bit stuff
        Always write all fields in write_row
      sql/handler.cc:
        No inline methods in bit interface (caused strange bugs)
        initialise method
      sql/handler.h:
        Changed to bitvector from bitmap
        Removed init variable
      sql/opt_range.cc:
        Removed all extra HA_EXTRA_RETRIEVE_*
      sql/sql_acl.cc:
        Removed all extra HA_EXTRA_RETRIEVE_*
      sql/sql_base.cc:
        Set bits previously missed
      sql/sql_insert.cc:
        Removed all extra HA_EXTRA_RETRIEVE_*
        Timestamp handling
      sql/sql_load.cc:
        Updated comments plus set all bits in bitvector
      sql/sql_select.cc:
        Removed ifdef since NDB and Federated needs the same calls
        Added comment or rather changed comment.
      sql/sql_table.cc:
        Removed HA_EXTRA_RETRIEVE_* calls
        Updated comments
      sql/sql_udf.cc:
        Removed HA_EXTRA_RETRIEVE_* calls
        Updated comments
      sql/sql_update.cc:
        Removed HA_EXTRA_RETRIEVE_* calls
        Timstamp updating
      7689fcfb
  24. 28 Apr, 2005 2 commits
    • unknown's avatar
      Fix for BUG#10244: · fe40de6f
      unknown authored
      Make get_quick_select_for_ref() accept estimated # records as parameter and 
      set QUICK_RANGE_SELECT::records, as this value is used to allocate buffers 
      in Multi-Range Read. 
      
      
      sql/opt_range.cc:
        Make get_quick_select_for_ref() accept estimated # records as parameter and 
        set QUICK_RANGE_SELECT::records, as this value is used to allocate buffers 
        in Multi-Range Read.
      sql/opt_range.h:
        Added "records" parameter to get_quick_select_for_ref()
      sql/sql_select.cc:
        Added "records" parameter to get_quick_select_for_ref()
      fe40de6f
    • unknown's avatar
      WL 1682: Use bitvector instead of query_id to tell handler which fields · 5d3af2b0
      unknown authored
      to read and write
      Changed Server code, added new interface to handler and changed the
      NDB handler, InnoDB handler and Federated handler that previously used
      query_id
      Bug#10202 fix (one-liner fix for memory leak)
      
      
      mysys/my_bitmap.c:
        Debug code
      sql/field.cc:
        Initialise fieldnr to 0 if not set anywhere else
      sql/field.h:
        Introduce a fieldnr (first field = 1 and last = table->s->fields
        in field object to be able to quickly set appropriate bit in
        read/write set
      sql/ha_federated.cc:
        Changed federated handler to use write set instead of query_id
      sql/ha_innodb.cc:
        Changed InnoDB handler to use write set instead of query_id
      sql/ha_ndbcluster.cc:
        Changed NDB handler to use write set instead of query_id
      sql/ha_ndbcluster.h:
        Changed NDB handler to use write set instead of query_id
      sql/handler.cc:
        Allocate read_set and write_set either in get_new_handler or in
        special routine
        Routines used at destruction of handler object
        plus routine to set all primary key fields in read_set
      sql/handler.h:
        bool to keep track if read/write set allocated or not in handler
        Deallocate read/write set at delete of handler object
        New bitmap's for read/write set
      sql/item.cc:
        Set bits in read or write set (set_query_id = 2 => write_set
        set_query_id = 1 => read_set
      sql/lock.cc:
        Clear bit set when starting a new statement in external lock
      sql/mysql_priv.h:
        changed set_query_id from bool to ulong
      sql/opt_range.cc:
        Set primary key read set in all places where HA_EXTRA_RETRIEVE_PRIMARY_KEY
        is used
      sql/sql_acl.cc:
        set all bits in read set all places where HA_EXTRA_RETRIEVE_ALL_COLS
        are used
      sql/sql_base.cc:
        Clear all bits before start new statement when table locked already
        Set bit in read/write set dependent on set_query_id and fieldnr
        bool -> ulong for set_query_id
        set all bits in read set for SELECT * queries where table is not view
      sql/sql_class.h:
        Added comments + changed type of set_query_id
      sql/sql_insert.cc:
        Use 2 when setup_fields called for fields to updated in UPDATE
        and INSERT statements
        set primary key fields when EXTRA param used
      sql/sql_load.cc:
        Set all bits in write set if no fields specified in LOAD DATA FROM
        INFILE
        Otherwise use 2 to set specific fields to be updated by LOAD DATA...
      sql/sql_select.cc:
        Set primary key read set when EXTRA param specified
        Set fieldnr for temporary tables
        Set number of fields before calling get_new_handler
        and only set all bits if there at least one field in table
      sql/sql_table.cc:
        Set all bits in read set for old table and all bits in write set for
        new table for ALTER TABLE copy method
        Set all bits in read set when EXTRA param used
      sql/sql_udf.cc:
        Set all bits in read set when EXTRA param used
      sql/sql_update.cc:
        Set fields to UPDATE to use 2 for set_query_id
        Set all bits in read set when EXTRA param used
      sql/table.cc:
        Set fieldnr in openfrm
        Reallocate read/write set in openfrm since table->s->fields==0
        at call to get_new_handler
      sql/unireg.cc:
        Fix Bug #10202
      5d3af2b0
  25. 25 Apr, 2005 2 commits
  26. 20 Apr, 2005 1 commit
    • unknown's avatar
      Fix for BUG#10037 · a52359e0
      unknown authored
      * Add 0.01 to cost of 'range'+'using index' scan to avoid optimizer choice races with 
        'index' scan.
      
      
      mysql-test/r/range.result:
        Update the test result after the changed cost
      sql/opt_range.cc:
        Fix for BUG#10037
        * Add 0.01 to cost of 'range'+'using index' scan to avoid optimizer choice races with 
          'index' scan.
        * make QUICK_GROUP_MIN_MAX_SELECT handle the case where the source table is empty.
      a52359e0
  27. 18 Apr, 2005 1 commit
    • unknown's avatar
      Fix for BUG#9103: · 955ec71f
      unknown authored
      Don't produce data truncation warnings from within cp_buffer_from_ref(). This function
      is only used to make index search tuples and data truncation that occurs here has no
      relation with truncated values being saved into tables.
      
      
      mysql-test/r/update.result:
        Testcase for BUG#9103
      mysql-test/t/update.test:
        Testcase for BUG#9103
      sql/opt_range.cc:
        cp_buffer_from_ref now has THD* parameter
      sql/sql_select.h:
        cp_buffer_from_ref now has THD* parameter
      955ec71f