An error occurred fetching the project authors.
  1. 12 Sep, 2006 1 commit
    • unknown's avatar
      Post-review fixes for bug #20924 · 5aa6e861
      unknown authored
      mysql-test/r/case.result:
        Post-review fix for bug #20924
      mysql-test/r/func_if.result:
        Post-review fix for bug #20924
      mysql-test/r/func_test.result:
        Post-review fix for bug #20924
      mysql-test/r/user_var.result:
        Post-review fix for bug #20924
      mysql-test/t/case.test:
        Post-review fix for bug #20924
      mysql-test/t/func_if.test:
        Post-review fix for bug #20924
      mysql-test/t/func_test.test:
        Post-review fix for bug #20924
      mysql-test/t/user_var.test:
        Post-review fix for bug #20924
      sql/item_func.cc:
        Post-review fix for bug #20924
      sql/item_func.h:
        Post-review fix for bug #20924
      sql/log_event.cc:
        Post-review fix for bug #20924
      5aa6e861
  2. 08 Sep, 2006 1 commit
    • unknown's avatar
      Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions · f64483cb
      unknown authored
      - Honor unsigned_flag in the corresponding functions
      - Use compare_int_signed_unsigned()/compare_int_unsigned_signed() instead of explicit comparison in GREATEST() and LEAST()
      
      
      mysql-test/r/case.result:
        Added test case for bug #20924
      mysql-test/r/func_if.result:
        Added test case for bug #20924
      mysql-test/r/func_test.result:
        Added test case for bug #20924
      mysql-test/r/user_var.result:
        Added test case for bug #20924
      mysql-test/t/case.test:
        Added test case for bug #20924
      mysql-test/t/func_if.test:
        Added test case for bug #20924
      mysql-test/t/func_test.test:
        Added test case for bug #20924
      mysql-test/t/user_var.test:
        Added test case for bug #20924
      sql/item_cmpfunc.cc:
        Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
        
        - Moved some code out of Arg_comparator to external functions to be reused in Item_func_min_max
        - Fixed IFNULL(), IF(), CASE() and COALESCE()
      sql/item_cmpfunc.h:
        Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
        
        - Moved some code out of Arg_comparator to external functions to be reused in Item_func_min_max
      sql/item_func.cc:
        Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
        
        Fixed LEAST(), GREATEST() and "SET @A=..." parts
      sql/item_func.h:
        Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
        
        Fixed "SET @A=..." part
      sql/sql_class.h:
        Bug #20924: CAST(expr as UNSIGNED) returns SIGNED value when used in various functions
        
        Fixed "SET @A=..." part
      f64483cb
  3. 07 Jun, 2006 1 commit
    • unknown's avatar
      Fix for bug #6880: LAST_INSERT_ID() within a statement · febe7eb6
      unknown authored
      mysql-test/r/auto_increment.result:
        Fix for bug #6880: LAST_INSERT_ID() within a statement
          - test result
      mysql-test/r/rpl_log.result:
        Fix for bug #6880: LAST_INSERT_ID() within a statement
          - test result
      mysql-test/t/auto_increment.test:
        Fix for bug #6880: LAST_INSERT_ID() within a statement
          - test case
      mysql-test/t/rpl_log.test:
        Fix for bug #6880: LAST_INSERT_ID() within a statement
          - test case
      sql/item_func.cc:
        Fix for bug #6880: LAST_INSERT_ID() within a statement
          - return the first thd->last_insert_id set (within a query)
      febe7eb6
  4. 05 May, 2006 1 commit
    • unknown's avatar
      Bug#19136: Crashing log-bin and uninitialized user variables in a derived table · 4ab4631b
      unknown authored
      The reason of the bug is in that `get_var_with_binlog' performs missed
      assingment of
      the variables as side-effect. Doing that it eventually calls
      `free_underlaid_joins' to pass as an argument `thd->lex->select_lex' of the lex
      which belongs to the user query, not 
      to one which is emulated i.e SET @var1:=NULL.
      
      
      `get_var_with_binlog' is refined to supply a temporary lex to sql_set_variables's stack.
      
      
      mysql-test/r/rpl_user_variables.result:
        results changed
      mysql-test/t/rpl_user_variables.test:
        a problematic query to be binlogged is added
      sql/item_func.cc:
        BUG#19136: Crashing log-bin and uninitialized user variables
        
        The reason of the bug is in that how `get_var_with_binlog' performs missed
        assingment of the variables: `free_underlaid_joins' gets as an argument `thd->lex->select_lex'
        which belongs to the user query, not to one which is emulated i.e SET @var1:=NULL.
        
        `get_var_with_binlog' is refined to supply a temporary lex to sql_set_variables's stack.
      4ab4631b
  5. 24 Apr, 2006 1 commit
    • unknown's avatar
      Bug#16501: IS_USED_LOCK does not appear to work · 9fc25141
      unknown authored
      Update User_level_lock::thread_id on acquiring an existing lock,
      and reset it on lock release.
      
      
      mysql-test/r/func_misc.result:
        Add result for bug#16501.
      mysql-test/t/func_misc.test:
        Add test case for bug#16501.
      sql/item_func.cc:
        Update User_level_lock::thread_id on acquiring an existing lock,
        and reset it on lock release (for safety).
      9fc25141
  6. 12 Apr, 2006 1 commit
    • unknown's avatar
      Fixed bug#14169: type of group_concat() result changed to blob if tmp_table was · a2066982
      unknown authored
      used
      
      In a simple queries a result of the GROUP_CONCAT() function was always of 
      varchar type.
      But if length of GROUP_CONCAT() result is greater than 512 chars and temporary
      table is used during select then the result is converted to blob, due to
      policy to not to store fields longer than 512 chars in tmp table as varchar
      fields.
      
      In order to provide consistent behaviour, result of GROUP_CONCAT() now
      will always be converted to blob if it is longer than 512 chars.
      Item_func_group_concat::field_type() is modified accordingly.
      
      
      mysql-test/t/func_gconcat.test:
        Added test case for bug#14169: type of group_concat() result changed to blob if tmp_table was used
      mysql-test/r/func_gconcat.result:
        Added test case for bug#14169: type of group_concat() result changed to blob if tmp_table was used
      sql/unireg.h:
        Added the CONVERT_IF_BIGGER_TO_BLOB constant
      sql/sql_select.cc:
        Fixed bug#14169: type of group_concat() result changed to blob if tmp_table was used
        The unnamed constant 255 in the create_tmp_field() and create_tmp_field_from_item() functions now defined as the CONVERT_IF_BIGGER_TO_BLOB constant.
        The create_tmp_field() function now converts the Item_sum string result to a blob field based on its char length.
      sql/item_sum.h:
        Fixed bug#14169: type of group_concat() result changed to blob if tmp_table was used
        To the Item_func_group_concat calls added the member function field_type() which returns the BLOB or VAR_STRING type based on the items length.
      sql/item_func.cc:
        Fixed bug#14169: type of group_concat() result changed to blob if tmp_table was used
        In the Item_func::tmp_table_field() function the unnamed constant 255 is changed to the CONVERT_IF_BIGGER_TO_BLOB constant.
        The Item_func::tmp_table_field() function now measures the result length in chars rather than bytes when converting string result to a blob.
      a2066982
  7. 07 Nov, 2005 1 commit
    • unknown's avatar
      fix for BUG#7947 - failure to log DO RELEASE_LOCK() if we disconnect in the middle of · 3004c8de
      unknown authored
      transaction while holding the lock. Also test to make sure other binlogging issues
      reported in the bug have been addressed.
      
      
      sql/item_func.cc:
        fix for BUG#7947
      mysql-test/r/rpl_bug7947.result:
        New BitKeeper file ``mysql-test/r/rpl_bug7947.result''
      mysql-test/t/rpl_bug7947.test:
        New BitKeeper file ``mysql-test/t/rpl_bug7947.test''
      3004c8de
  8. 06 Nov, 2005 1 commit
  9. 01 Nov, 2005 1 commit
    • unknown's avatar
      Review of new pushed code · fffe7417
      unknown authored
      Removed wrong fix for bug #14009 (use of abs() on null value causes problems with filesort)
      Mark that add_time(), time_diff() and str_to_date() can return null values
      
      
      myisam/mi_check.c:
        keyoffset is not a position (no %lx here)
      mysql-test/r/func_sapdb.result:
        Fixed test after marking that timediff() can return NULL
      sql/item_func.cc:
        Removed wrong fix for bug #14009 (use of abs() on null value causes problems with filesort)
      sql/item_timefunc.cc:
        Mark that add_time and str_to_date() can return null values
      sql/item_timefunc.h:
        Mark that time_diff can return 0
      sql/spatial.cc:
        Simple cleanups during review of new code
      fffe7417
  10. 18 Oct, 2005 2 commits
  11. 15 Oct, 2005 1 commit
    • unknown's avatar
      Fix for bug #9855 (Inconsistend column type in create select) · 0f1516b9
      unknown authored
      mysql-test/r/func_gconcat.result:
        result fixed
      mysql-test/r/subselect.result:
        result fixed
      mysql-test/r/type_float.result:
        result fixed
      mysql-test/t/type_float.test:
        testcase added
      sql/item_func.cc:
        Now we set decimals to NOT_FIXED_DEC if the max_length is longer than
        maximum possible double length
      0f1516b9
  12. 07 Oct, 2005 1 commit
    • unknown's avatar
      ctype_utf8.result, ctype_utf8.test: · c657d5a7
      unknown authored
        Adding test case.
      item_func.cc:
        Bug#13751 find_in_set: Illegal mix of collations.
        Character set conversion was forgotten in find_in_set.
      
      
      sql/item_func.cc:
        Bug#13751 find_in_set: Illegal mix of collations.
        Character set conversion was forgotten in find_in_set.
      mysql-test/t/ctype_utf8.test:
        Adding test case.
      mysql-test/r/ctype_utf8.result:
        Adding test case.
      c657d5a7
  13. 06 Sep, 2005 1 commit
  14. 26 Jul, 2005 1 commit
    • unknown's avatar
      func_gconcat.result, func_gconcat.test: · 8624bcfd
      unknown authored
        Adding test
      item_sum.cc:
        Adding a call for collation/charset aggregation,
            to collect attributes from the arguments. The actual bug fix.
      item_func.h, item_func.cc, item.h, item.cc:
        - Removing collation aggrgation functions from Item_func class
            in item.cc, and adding it as non-class functions in item.cc
            to be able to reuse this code for group_concat.
            - Adding replacement for these functions into Item_func class
            as wrappers for moved functions, to minizize patch size,
      
      
      sql/item.cc:
        - Removing collation aggrgation functions from Item_func class
            in item.cc, and adding it as non-class functions in item.cc
            to be able to reuse this code for group_concat.
            - Adding replacement for these functions into Item_func class
            as wrappers for moved functions, to minizize patch size,
      sql/item.h:
        - Removing collation aggrgation functions from Item_func class
            in item.cc, and adding it as non-class functions in item.cc
            to be able to reuse this code for group_concat.
            - Adding replacement for these functions into Item_func class
            as wrappers for moved functions, to minizize patch size,
      sql/item_func.cc:
        - Removing collation aggrgation functions from Item_func class
            in item.cc, and adding it as non-class functions in item.cc
            to be able to reuse this code for group_concat.
            - Adding replacement for these functions into Item_func class
            as wrappers for moved functions, to minizize patch size,
      sql/item_func.h:
        - Removing collation aggrgation functions from Item_func class
            in item.cc, and adding it as non-class functions in item.cc
            to be able to reuse this code for group_concat.
            - Adding replacement for these functions into Item_func class
            as wrappers for moved functions, to minizize patch size,
      sql/item_sum.cc:
        Adding a call for collation/charset aggregation,
            to collect attributes from the arguments. The actual bug fix.
      mysql-test/t/func_gconcat.test:
        Adding test
      mysql-test/r/func_gconcat.result:
        Adding test
      8624bcfd
  15. 25 Jul, 2005 1 commit
    • unknown's avatar
      Don't force column header to @@session.var_name if @@local.var_name · f8a6e9d3
      unknown authored
      was used. (Bug #10724)
      
      
      mysql-test/r/key_cache.result:
        Updated results
      mysql-test/r/ps_1general.result:
        Updated results
      mysql-test/r/user_var.result:
        Add new results
      mysql-test/r/variables.result:
        Update results
      mysql-test/t/user_var.test:
        Add new regression test
      sql/item_func.cc:
        Don't set name explicitly in get_system_var(), let it get set by the
        select_item: rule in sql_parse.yy or other callers of get_system_var().
      sql/sql_parse.cc:
        Set the name on the Item returned by get_system_var().
      f8a6e9d3
  16. 19 Jul, 2005 1 commit
    • unknown's avatar
      Simple fixes during review of new code · 3a31f7b9
      unknown authored
      include/my_global.h:
        Added floatget() to read unaligned flaot
      mysql-test/r/select.result:
        Added test for found_rows()
      mysql-test/t/select.test:
        Added test for found_rows()
      sql/des_key_file.cc:
        Moved initalization of LOCK_des_key_file to mysqld to make simpler code and avoid theoretical race condition
      sql/field_conv.cc:
        Added optimizzed varsion of do_cut_string (for simple character sets)
      sql/item_func.cc:
        Simplify code (and ensure DBUG_ENTER is excuted before main code)
      sql/item_strfunc.cc:
        Safe calculation of max_length
        This was needed as max_length can now be 1<<32-1 (after konstantins recent patch to fix BLOB_LENGTH)
        Remove init_des_key_file() as this is not initialized in mysqld.cc
      sql/item_timefunc.cc:
        Safe calculation of max_length
        This was needed as max_length can now be 1<<32-1 (after konstantins recent patch to fix BLOB_LENGTH)
      sql/log_event.cc:
        Simplify code
      sql/mysql_priv.h:
        Moved initalization of LOCK_des_key_file to mysqld to make simpler code and avoid theoretical race condition
      sql/mysqld.cc:
        Moved initalization of LOCK_des_key_file to mysqld to make simpler code and avoid theoretical race condition
        Revert wrong patch of calling close_connection() in first close_connections() loop. (Bug #7403)
        Instead we now print a warning for closed connections only if mysqld is sarted with --warnings
        Added comments to make the close_connections() logic clearer
      sql/sql_prepare.cc:
        Use floatget() and doubleget() to protect against unaligned data
      sql/sql_select.cc:
        Fixed some cases unlikely cases where found_rows() would return wrong for queries that would return 0 or 1 rows
      3a31f7b9
  17. 15 Jul, 2005 1 commit
    • unknown's avatar
      A fix and a test case for Bug#9359 "Prepared statements take snapshot · e83e1053
      unknown authored
       of system vars at PREPARE time": implement a special Item
      to handle system variables. This item substitutes itself with 
      a basic constant containing variable value at fix_fields.
      
      
      mysql-test/r/ps.result:
        - test results fixed (Bug#9359).
      mysql-test/t/ps.test:
        - add a test case for Bug#9359 "Prepared statements take snapshot
         of system vars at PREPARE time"
      sql/item_func.cc:
        - implement Item_func_get_system_var: we should not evaluate system
        variables in the parser, but instead should create an item which 
        is evaluated to a constant at execute.
        - remove an unused function
      sql/item_func.h:
        Add a new item, Item_func_get_system_var
      sql/mysql_priv.h:
        Move necessary declarations to make set_var.h objects visible in 
        item_func.h
      sql/set_var.cc:
        - we should not print to network from get_system_var: if it's called
        from prepared statement prepare, we get packets out of order when using
        the binary protocol. Instead report the error to be sent to the user later.
        This is a backport from 5.0.
      sql/set_var.h:
        - declaration of enum_var_type moved to mysql_priv.h
      e83e1053
  18. 14 Jul, 2005 1 commit
  19. 13 Jul, 2005 1 commit
    • unknown's avatar
      A fix and a test case for Bug#9379 (collation of a parameter marker is · 98248f04
      unknown authored
      binary).
      
      
      mysql-test/r/ps.result:
        Test results fixed (Bug#9379)
      mysql-test/t/ps.test:
        A test case for Bug#9379 (collation of a parameter marker is binary)
      sql/item.cc:
        - set Item_param::collation to str_value collation, if Item_param
        is assigned a string. Reset it to default in Item_param::reset() (on 
        the next execution it can be assigned a number).
      sql/item_func.cc:
        - now that item collation can change between executions
        (if this item is Item_param), we need to register the change
        of the execution tree in the rollback list.
      98248f04
  20. 23 Jun, 2005 1 commit
  21. 05 Jun, 2005 1 commit
  22. 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
  23. 02 Jun, 2005 2 commits
    • unknown's avatar
      item_func.cc: · 17678a7b
      unknown authored
      set_var.cc:
      variables.result
      variables.test
      
        Bug #10904 Illegal mix of collations between a system variable and a constant
        Changing coercibility of system variables to SYSCONST,
        to be the same with USER(), DATABASE(), etc.
      
      
      sql/item_func.cc:
        Bug #10904 Illegal mix of collations between a system variable and a constant
        Changing coercibility of system variables to SYSCONST
        To be the same with USER(), DATABASE(), etc.
      17678a7b
    • 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
  24. 01 Jun, 2005 1 commit
  25. 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
  26. 14 May, 2005 1 commit
    • unknown's avatar
      After merge fixes · 2059908b
      unknown authored
      BitKeeper/deleted/.del-outfile2.result~fb702ee2518d8e6d:
        Delete: mysql-test/r/outfile2.result
      libmysql/libmysql.c:
        Fix indentation for new function mysql_set_character_set()
      mysql-test/r/alter_table.result:
        Fix test to be in same order as in 4.0
      mysql-test/r/innodb.result:
        After merge fix
      mysql-test/r/insert_update.result:
        Add extra test for insert into ... on duplicate key upate
      mysql-test/r/outfile.result:
        After merge fix
      mysql-test/t/alter_table.test:
        Fix test to be in same order as in 4.0
      mysql-test/t/insert_update.test:
        Add extra test for insert into ... on duplicate key upate
      mysql-test/t/outfile.test:
        After merge fix
      sql/item_func.cc:
        After merge fix
      sql/sql_table.cc:
        After merge fix
      2059908b
  27. 07 May, 2005 1 commit
    • unknown's avatar
      BUG#7709 fix - Boolean fulltext query against unsupported engines does not · 1392f482
      unknown authored
      fail.
      
      
      mysql-test/r/innodb.result:
        Test case for BUG#7709 - Boolean fulltext query against
        unsupported engines does not fail added.
      mysql-test/t/innodb.test:
        Test case for BUG#7709 - Boolean fulltext query against
        unsupported engines does not fail added.
      sql/item_func.cc:
        Check if table supports fulltext.
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      1392f482
  28. 03 May, 2005 1 commit
    • unknown's avatar
      A fix and test case for Bug#9096 "select doesn't return all matched · 9fcda7fc
      unknown authored
      records if prepared statements is used".
      This fix changes equality evaluation method of basic constants from
      by-name to by-value, thus effectively enabling use of parameter markers
      in some optimizations (constants propagation, evaluation of possible
      keys for query).
      
      
      mysql-test/r/ps.result:
        Test results for the test case for Bug#9096
      mysql-test/t/ps.test:
        A short test case for Bug#9096 "select doesn't return all matched records if
         prepared statements is used". The is enough to reproduce the
        glitch in update_ref_and_keys causing the bug to occur.
      sql/item.cc:
        Implement by-value equality evaluation of basic constants.
        This is needed to work with Item_param values. Until now
        Item_param was compared with other items by its name, which is always "?".
        The bug at hand showed up when an integer
        constant was created from one parameter marker (with value 200887 and
         name "?") and then compared by-name with another parameter marker
        (with value 860 and name "?"). True returned by this comparison resulted
        in a wrong table access method used to evaluate the query.
        Implement Item_param methods needed to emulate "basic constant" mode at 
        full.
      sql/item.h:
        Change declaration of basic_const_item(): now it also widens its 
        argument from const Item * to Item * if the argument is a basic constant.
        Declare eq() for all basic constatns, as long as now they 
        are compared by value, not by name. Each constant needs its own
        comparison method.
        Declarations of Item_param methods needed to fully emulate 
        a basic constant when parameter value is set.
      sql/item_func.cc:
        Fix wrong casts.
      9fcda7fc
  29. 30 Apr, 2005 1 commit
    • unknown's avatar
      Fix for Bug #9913 "udf_deinit is not called after execution of PS" · e6ce543f
      unknown authored
      (aka "deinit is not called when calling udf from trigger").
      
      We should call udf_deinit() function during cleanup phase after prepared
      (or ordinary) statement execution instead of calling it from Item's
      desctructor.
      
      No test case is provided since it is hard to test UDF's from our test
      suite.
      
      
      sql/item_func.cc:
        udf_handler:
         Moved all functionality from udf_handler::~udf_handler() to 
         udf_handler::cleanup() method which will be called after
         each PS execution, thus allowing udf_deinit() to be executed
         symetrically with udf_init() (which is executed for each
         execution of PS).
        Added Item_udf_func::cleanup() which performs proper cleanup after
        execution of PS with UDF function.
      sql/item_func.h:
        Added Item_udf_func::cleanup() method to perform cleanup properly after
        execution of PS with UDF function.
      sql/item_sum.cc:
        Added Item_udf_sum::cleanup() method to perform cleanup properly after
        execution of PS with aggregate UDF function.
      sql/item_sum.h:
        Added Item_udf_sum::cleanup() method to perform cleanup properly after
        execution of PS with aggregate UDF function.
      sql/sql_udf.h:
        Added udf_handler::cleanup() method declaration which is responsible
        for cleaning up UDF execution context at the end of execution of
        statement (using ~udf_handler() for this purprose did not worked for PS).
      e6ce543f
  30. 29 Apr, 2005 1 commit
    • unknown's avatar
      CAST(string_argument AS UNSIGNED) didn't work for big integers above the signed range. (Bug #7036) · 97b08214
      unknown authored
      Produce warnings of wrong cast of strings to signed/unsigned.
      Don't block not resolved IP's if DNS server is down (Bug #8467)
      Fix compiler problems with MinGW (Bug #8872)
      
      
      configure.in:
        Fix compiler problems with MinGW (Bug #8872)
      include/config-win.h:
        Fix compiler problems with MinGW (Bug #8872)
      include/my_global.h:
        Fix compiler problems with MinGW (Bug #8872)
      mysql-test/r/cast.result:
        Test for cast to signed/unsigned outside of range (Bug #7036)
      mysql-test/t/cast.test:
        Test for cast to signed/unsigned outside of range (Bug #7036)
      mysys/default.c:
        Cleanup (combine identical code). 
        Done mainly by Jani
      sql/field.h:
        Added cast_to_int_type() to ensure that enums are casted as numbers
      sql/hostname.cc:
        Don't block not resolved IP's if DNS server is down (Bug #8467)
      sql/item.h:
        Added cast_to_int_type() to ensure that enums are casted as numbers
      sql/item_func.cc:
        CAST(string_argument AS UNSIGNED) didn't work for big integers above the
        signed range. (Bug #7036)
        Produce warnings of wrong cast of strings to signed/unsigned
      sql/item_func.h:
        CAST(string_argument AS UNSIGNED) didn't work for big integers above the
        signed range. (Bug #7036)
      97b08214
  31. 19 Apr, 2005 1 commit
  32. 28 Mar, 2005 1 commit
  33. 16 Mar, 2005 1 commit
    • unknown's avatar
      Bugs#9129: CHARSET(), COLLATION(), COERCIBILITY() · b3a5e5b1
      unknown authored
      not always correct for NULL values.
      Now they always result a non NULL value even
      the argument is NULL. It is more usefull for 
      debugging purposes.
      
      
      mysql-test/r/func_str.result:
        Bugs#9129: CHARSET(), COLLATION(), COERCIBILITY()
        not always correct for NULL values.
        
        Also, a mistake in EXPORT_SET was fixed.
      mysql-test/t/func_str.test:
        Bugs#9129: CHARSET(), COLLATION(), COERCIBILITY()
        not always correct for NULL values.
      sql/item_func.cc:
        Bugs#9129: CHARSET(), COLLATION(), COERCIBILITY()
        not always correct for NULL values.
      sql/item_strfunc.cc:
        Bugs#9129: CHARSET(), COLLATION(), COERCIBILITY()
        not always correct for NULL values.
        
        A minor mistake in EXPORT_SET() was fixed.
      b3a5e5b1
  34. 04 Mar, 2005 1 commit
    • unknown's avatar
      type_blob.result, func_system.result, func_str.result, ctype_collate.result: · c56d0283
      unknown authored
        fixing test results accordingly.
      func_system.test:
        New test that illegal mix of collations does not happen anymore.
      item_strfunc.h:
          safe_charset_converter() was added for system constants.
      item_strfunc.cc:
        safe_charset_converter() was added for system constants.
      item_func.cc, item.h, item.cc:
        Bug#8291: Illegal collation mix with USER() function.
        After discussion with PeterG and Serge, a new coercibility
        level for "system constants" was introduced, between
        COERRIBLE and IMPLICIT. Thus:
        SELECT col1 = USER() FROM t1; - is done according to col1 collation.
        SELECT 'string' = USER(); - is done according to USER() collation.
        At the same time, "nagg" and "strong" members were removed as unused.
      item_create.cc:
        Version is a system constant too.
      
      
      sql/item.cc:
        Bug#8291: Illegal collation mix with USER() function.
        After discussion with PeterG and Serge, a new coercibility
        level for "system constants" was introduced, between
        COERRIBLE and IMPLICIT. Thus:
        SELECT col1 = USER() FROM t1; - is done according to col1 collation.
        SELECT 'string' = USER(); - is done according to USER() collation.
        At the same time, "nagg" and "strong" members were removed as unused.
      sql/item.h:
        Bug#8291: Illegal collation mix with USER() function.
        After discussion with PeterG and Serge, a new coercibility
        level for "system constants" was introduced, between
        COERRIBLE and IMPLICIT. Thus:
        SELECT col1 = USER() FROM t1; - is done according to col1 collation.
        SELECT 'string' = USER(); - is done according to USER() collation.
        At the same time, "nagg" and "strong" members were removed as unused.
      sql/item_create.cc:
        Version is a system constant too.
      sql/item_func.cc:
        Bug#8291: Illegal collation mix with USER() function.
        After discussion with PeterG and Serge, a new coercibility
        level for "system constants" was introduced, between
        COERRIBLE and IMPLICIT. Thus:
        SELECT col1 = USER() FROM t1; - is done according to col1 collation.
        SELECT 'string' = USER(); - is done according to USER() collation.
        At the same time, "nagg" and "strong" members were removed as unused.
      sql/item_strfunc.cc:
        safe_charset_converter() was added for system constants.
      sql/item_strfunc.h:
          safe_charset_converter() was added for system constants.
      mysql-test/t/func_system.test:
        New test that illegal mix of collations does not happen anymore.
      mysql-test/r/ctype_collate.result:
        fixing test results accordingly.
      mysql-test/r/func_str.result:
        fixing test results accordingly.
      mysql-test/r/func_system.result:
        fixing test results accordingly.
      mysql-test/r/type_blob.result:
        fixing test results accordingly.
      c56d0283
  35. 22 Feb, 2005 1 commit
    • unknown's avatar
      A user variable are now always have IMPLICIT coercibility, · 2fb807d1
      unknown authored
      independently from the expression it is initialized from.
      In other words, this change treats a user variable like
      a table with one column and one record. Discussed with 
      PeterG, Serg and Lars. This change also simplifies replication
      allowing not to replicate variables' coercibility.
      
      
      mysql-test/r/user_var.result:
        Test changes accordintly
      mysql-test/t/user_var.test:
        Test changes accordintly
      2fb807d1
  36. 08 Feb, 2005 1 commit
    • unknown's avatar
      Better bugfix for "HAVING when refering to RAND()" (Bug #8216) · 63982db9
      unknown authored
      Ensure that references in HAVING, ORDER BY or GROUP BY are calculated after fields in SELECT.
      This will ensure that any reference to these has a valid value.
      Generalized the code for split_sum_func()
      
      
      BitKeeper/etc/ignore:
        added support-files/ndb-config-2-node.ini
      mysql-test/r/group_by.result:
        More complicated test to assure that rand() is only calulated once
      mysql-test/r/user_var.result:
        Back to old results :(  (ok but not perfect)
      mysql-test/t/group_by.test:
        More complicated test to assure that rand() is only calulated once
      sql/item.cc:
        Better bugfix for "HAVING when refering to RAND()"
        This will ensure that when refering to things like RAND() in HAVING through an alias we will not recalculate that rand() value in the HAVING part but use the value in the row
        Generalize split_sum_func()
      sql/item.h:
        Better bugfix for "HAVING when refering to RAND()"
        T
      sql/item_cmpfunc.cc:
        Better bugfix for "HAVING when refering to RAND()"
        Use generalized split_sum_func2() function
      sql/item_func.cc:
        Better bugfix for "HAVING when refering to RAND()"
        Use generalized split_sum_func2() function
      sql/item_row.cc:
        Better bugfix for "HAVING when refering to RAND()"
        Use generalized split_sum_func2() function
      sql/item_strfunc.cc:
        Better bugfix for "HAVING when refering to RAND()"
        Use generalized split_sum_func2() function
      sql/sql_list.h:
        Add functions to concatenate lists
      sql/sql_select.cc:
        Better bugfix for "HAVING when refering to RAND()"
        Ensure that references in HAVING, ORDER BY or GROUP BY are calculated after fields in SELECT.
        This will ensure that any reference to these has a valid value.
      63982db9
  37. 07 Feb, 2005 1 commit
    • unknown's avatar
      Fixed bug in HAVING when refering to RAND() through alias · d6ed8cd7
      unknown authored
      (BUG 8216)
      
      
      mysql-test/r/group_by.result:
        New test case
      mysql-test/r/user_var.result:
        Test changed (to be more correct) with bug fix
      mysql-test/t/group_by.test:
        Added test for HAVING bug
      sql/item_cmpfunc.cc:
        Fixed bug in HAVING when refering to RAND()
      sql/item_func.cc:
        Fixed bug in HAVING when refering to RAND()
      sql/item_row.cc:
        Fixed bug in HAVING when refering to RAND()
      sql/item_strfunc.cc:
        Fixed bug in HAVING when refering to RAND()
      sql/unireg.h:
        Added PSEUDO_TABLES_BITS for easy testing of real table reference
      d6ed8cd7
  38. 04 Feb, 2005 1 commit
    • unknown's avatar
      indexless boolean fulltext search was depending on default_charset_info - Bug#8159 · 8c750c46
      unknown authored
      ftbw->off wasn't cleared on reinit - Bug#8234
      
      
      include/ft_global.h:
        get rid of default_charset_info in indexless fulltext searches
      myisam/ft_boolean_search.c:
        get rid of default_charset_info in indexless fulltext searches
        clear ftbw->off on reinits
      myisam/ft_static.c:
        get rid of default_charset_info in indexless fulltext searches
      myisam/ftdefs.h:
        get rid of default_charset_info in indexless fulltext searches
      sql/ha_myisam.h:
        get rid of default_charset_info in indexless fulltext searches
      sql/handler.h:
        get rid of default_charset_info in indexless fulltext searches
      sql/item_func.cc:
        get rid of default_charset_info in indexless fulltext searches
      8c750c46