An error occurred fetching the project authors.
  1. 29 Sep, 2005 1 commit
    • unknown's avatar
      Many files: · db0ebd74
      unknown authored
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      my_regex.h:
        Rename: regex/regex.h -> regex/my_regex.h
      
      
      client/mysqltest.c:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      os2/MySQL-Source.icc:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/Makefile.am:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/debug.c:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/debug.ih:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/engine.c:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/engine.ih:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/main.c:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/main.ih:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/regcomp.c:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/regerror.c:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/regerror.ih:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/my_regex.h:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/regexec.c:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/regfree.c:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      regex/reginit.c:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      sql/item_cmpfunc.cc:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      sql/item_cmpfunc.h:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      sql/mysqld.cc:
        Prefix regex functions/types with "my_" as our
        library is not compatible with normal regex lib.
      db0ebd74
  2. 12 Sep, 2005 1 commit
    • unknown's avatar
      Review fixes since last pull · d860c0f0
      unknown authored
      Fix for bug #13025; Server crash in filesort because wrong call to handler::position()
      
      
      client/mysqltest.c:
        Code cleanup during review
      mysql-test/r/innodb.result:
        Added test case for bug #13025; Server crash in filesort because wrong call to handler::position()
      mysql-test/t/innodb.test:
        Added test case for bug #13025; Server crash in filesort because wrong call to handler::position()
      sql/filesort.cc:
        Don't call handler::position() if row was not found
      sql/item_cmpfunc.cc:
        Indentation changes
      sql/sql_select.cc:
        Moved variable to outer level
      d860c0f0
  3. 09 Sep, 2005 1 commit
    • unknown's avatar
      BUG #12101: Additional fix. · 85faceb2
      unknown authored
      sql/item_cmpfunc.cc:
        Modified Item_func_between::print(), Item_func_in::print().
        Item_func_between/in objects represent now [NOT]BETWEEN/IN expressions.
      85faceb2
  4. 06 Sep, 2005 2 commits
    • unknown's avatar
      item_cmpfunc.h: · 86b61e97
      unknown authored
        Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
         for some expressions.
         The classes Item_func_between, Item_func_if, Item_func_in are modified.
         Item_func_between/in objects can represent now [NOT]BETWEEN/IN expressions.
         The class Item_func_opt_neg is added to factor out the functionality
         common for the modified classes Item_func_between and Item_func_in.
      item_cmpfunc.cc:
        Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
         for some expressions.
         Added Item_func_between::fix_fields(), Item_func_if::fix_fields(),
         Item_func_in::fix_fields(). They correct generic calculation of
         the not_null_tables attribute when it is needed.
         Modified Item_func_between::val_int(), Item_func_in::val_int().
      opt_range.cc:
        Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
         for some expressions.
         The function get_mm_tree() is modified. There cannot be NOT before
         BETWEEN/IN anymore. Rather Item_func_between/in objects can represent
         now [NOT]BETWEEN/IN expressions.
      sql_yacc.yy:
        Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
         for some expressions.
         Item_func_between/in objects can represent now [NOT]BETWEEN/IN expresions.
      join_outer.result:
        Fixed some testcases results (bugs #12101, #12102)
      join_outer.test:
        Added testcases for bugs #12101, #12102
      
      
      mysql-test/t/join_outer.test:
        Added testcases for bugs #12101, #12102
      mysql-test/r/join_outer.result:
        Fixed some testcases results (bugs #12101, #12102)
      sql/sql_yacc.yy:
        Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
         for some expressions.
         Item_func_between/in objects can represent now [NOT]BETWEEN/IN expresions.
      sql/opt_range.cc:
        Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
         for some expressions.
         The function get_mm_tree() is modified. There cannot be NOT before
         BETWEEN/IN anymore. Rather Item_func_between/in objects can represent
         now [NOT]BETWEEN/IN expressions.
      sql/item_cmpfunc.cc:
        Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
         for some expressions.
         Added Item_func_between::fix_fields(), Item_func_if::fix_fields(),
         Item_func_in::fix_fields(). They correct generic calculation of
         the not_null_tables attribute when it is needed.
         Modified Item_func_between::val_int(), Item_func_in::val_int().
      sql/item_cmpfunc.h:
        Fixed bugs #12101, #12102: wrong calculation of not_null_tables()
         for some expressions.
         The classes Item_func_between, Item_func_if, Item_func_in are modified.
         Item_func_between/in objects can represent now [NOT]BETWEEN/IN expressions.
         The class Item_func_opt_neg is added to factor out the functionality
         common for the modified classes Item_func_between and Item_func_in.
      86b61e97
    • unknown's avatar
      func_like.result, func_like.test: · ad5d187a
      unknown authored
        adding test case.
      item_cmpfunc.cc:
        Bug#12611
        ESCAPE + LIKE do not work when the escape char is a multibyte one
        Additional fix for 8bit character sets:
        escape character must be converted into
        operation character set.
      
      
      sql/item_cmpfunc.cc:
        Bug#12611
        ESCAPE + LIKE do not work when the escape char is a multibyte one
        Additional fix for 8bit character sets:
        escape character must be converted into
        operation character set.
      mysql-test/t/func_like.test:
        adding test case.
      mysql-test/r/func_like.result:
        adding test case.
      ad5d187a
  5. 31 Aug, 2005 1 commit
    • unknown's avatar
      Bug#12611: ESCAPE + LIKE do not work when the escape char is a multibyte one · 24baaea2
      unknown authored
      item_cmpfunc.cc:
        Pass unicode value as "escape" argument to my_wildcmp
        if a multibyte character set is used.
        For single byte character set nothing has changed:
        native (non-unicode) character code is still passed.
      
      ctype_utf8.result, ctype_utf8.test:
        adding test case
      
      
      sql/item_cmpfunc.cc:
        Bug#12611: ESCAPE + LIKE do not work when the escape char is a multibyte one
        Pass unicode code instead of native code as
        "escape" argument to my_wildcmp.
      mysql-test/t/ctype_utf8.test:
        adding test
      mysql-test/r/ctype_utf8.result:
        adding test
      24baaea2
  6. 08 Aug, 2005 1 commit
    • unknown's avatar
      subselect.test, subselect.result: · 5e8126a3
      unknown authored
        Added a test case for bug #12392.
      item_cmpfunc.cc:
        Fixed bug #12392.
        Missing handling of rows containing NULL components
        when evaluating IN predicates caused a crash.
      
      
      sql/item_cmpfunc.cc:
        Fixed bug #12392.
        Missing handling of rows containing NULL components
        when evaluating IN predicates caused a crash.
      mysql-test/r/subselect.result:
        Added a test case for bug #12392.
      mysql-test/t/subselect.test:
        Added a test case for bug #12392.
      5e8126a3
  7. 20 Jun, 2005 1 commit
  8. 13 Jun, 2005 1 commit
    • unknown's avatar
      func_if.result, func_if.test: · b5aae700
      unknown authored
        Added a test case for bug #11142.
      item_cmpfunc.cc:
        Fixed bug #11142.
        Implementation of Item_func_nullif::is_null was corrected.
      
      
      sql/item_cmpfunc.cc:
        Fixed bug #11142.
        Implementation of Item_func_nullif::is_null was corrected.
      mysql-test/t/func_if.test:
        Added a test case for bug #11142.
      mysql-test/r/func_if.result:
        Added a test case for bug #11142.
      b5aae700
  9. 05 Jun, 2005 1 commit
  10. 03 Jun, 2005 1 commit
    • unknown's avatar
      Move USE_PRAGMA_IMPLEMENTATION to proper place · 90931c2e
      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 {}
      90931c2e
  11. 02 Jun, 2005 1 commit
    • unknown's avatar
      tztime.cc: · 504d71aa
      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
      504d71aa
  12. 26 May, 2005 1 commit
    • unknown's avatar
      Add ifdefs to control when "#pragma implementation" should be used · 50dfbb61
      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
      50dfbb61
  13. 30 Mar, 2005 1 commit
    • unknown's avatar
      A fix for Bug#9443 "mysql_client_test fails on linux and some solaris · ae4de278
      unknown authored
      platforms": yet another issue with floating pointer comparisons.
      The fix uses the workaround with volatiles.
      
      
      sql/item_cmpfunc.cc:
        A fix for the failing mysql_client_test on some Intel platforms
        when compiled with optimization.
        We don't use -ffloat-store compileation as it may slow all
        floating point operations.
      ae4de278
  14. 28 Feb, 2005 1 commit
    • unknown's avatar
      Fixed wrong memory references found by purify · d2ce2d2e
      unknown authored
      (No really critical errors found, but a few possible wrong results)
      
      
      innobase/dict/dict0dict.c:
        Replace memcmp with comparison of characters to avoid warnings from purify when 'sptr' points to a very short string
      mysql-test/r/select_found.result:
        Add missing drop table
      mysql-test/r/type_set.result:
        More tests
      mysql-test/t/select_found.test:
        Add missing drop table
      mysql-test/t/type_set.test:
        More tests
      mysys/my_init.c:
        Avoid warning from purify (purify doesn't handle getrusage() properly)
      sql/field.h:
        enum & set are sorted as numbers. This fixes an access to uninitialized memory when enum/set are multi-byte characters
      sql/filesort.cc:
        enum & set are sorted as numbers. This fixes an access to uninitialized memory when enum/set are multi-byte characters
      sql/item_cmpfunc.cc:
        Fixed warning from purify. (Not critical as the arguments are passed to a function but not used)
        Allocate Arg_comparator() with 'new' instead of sql_alloc() to ensure proper initialization
      sql/mysqld.cc:
        Wait for signal handler to stop when running --bootstrap
        (Fixes warning from purify)
      sql/sql_insert.cc:
        Initialize slot used by innodb.cc (not critical)
      sql/sql_lex.h:
        Better comments
      sql/sql_repl.cc:
        memcmp -> bcmp() to avoid warning from purify
      sql/sql_select.cc:
        Fix for out-of-bound memory reference when doing DISTINCT on const expressions
      strings/ctype-simple.c:
        Fixes to not access uninitialized memory
        (Not critical)
      d2ce2d2e
  15. 09 Feb, 2005 1 commit
  16. 08 Feb, 2005 1 commit
    • unknown's avatar
      Better bugfix for "HAVING when refering to RAND()" (Bug #8216) · 8bbefca5
      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.
      8bbefca5
  17. 07 Feb, 2005 1 commit
    • unknown's avatar
      Fixed bug in HAVING when refering to RAND() through alias · 9d01e93c
      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
      9d01e93c
  18. 04 Feb, 2005 1 commit
    • unknown's avatar
      Fix for BUG#7716: in in_string::set() take into account that the value returned · e8acfe21
      unknown authored
      by item->val_str() may be a substring of the passed string. 
      Disallow string=its_substring assignment in String::operator=().
      
      
      mysql-test/r/func_misc.result:
        Testcase for BUG#7716
      mysql-test/t/func_misc.test:
        Testcase for BUG#7716
      sql/item_cmpfunc.cc:
        Fix for BUG#7716: in in_string::set() take into account that the string returned 
        by item->val_str(S) may be not S but use the buffer owned by S.
      sql/sql_string.h:
        * Added assert: String& String::operator=(const String&) may not be used to do 
          assignments like str = string_that_uses_buffer_owned_by_str
        * Added String::uses_buffer_owned_by().
      e8acfe21
  19. 20 Jan, 2005 1 commit
    • unknown's avatar
      item_cmpfunc.cc: · c27fecb8
      unknown authored
        Bug#7834 Illegal mix of collations in IN operator
        IN was the first function supporting 
        character set convertion.
        agg_arg_charsets() was written afterwards,
        which is more flexible.
        Now IN just reuses this function.
      
      
      sql/item_cmpfunc.cc:
        Bug#7834 Illegal mix of collations in IN operator
        IN was the first function supporting 
        character set convertion.
        agg_arg_charsets() was written afterwards,
        which is more flexible.
        Now IN just reuses this function.
      c27fecb8
  20. 18 Jan, 2005 1 commit
    • unknown's avatar
      1. Item now uses my_charset_bin by default, · 9ab94d6c
      unknown authored
      not default_charset_into. It fixes the
      problem that in some cases numbers where
      treated as CHAR(N), not as BINARY(N), e.g.
      wrong 'charsetnr' when sent to the client side.
      2. IFNULL didn't aggregate argument charsets
      and collations, so IFNULL(1,'a') produced
      a CHAR(N). Now produces a BINARY(N).
      3. SELECT PROCEDURE ANALIZE now returns
      BINARY columns, which is much better than it worked
      previously: CHAR with the default character set.
      But in the future it's worth to fix the fields
      'Field_name' and 'Optimal_fieldtype' to use UTF8,
      and 'Min_value' and 'Max_value' to inherit their charsets
      from the original items. But it is not important,
      and BINARY(N) is OK for now.
      4. Tests were fixed accordingly. No new tests were
      made, as the old onces cover everything.
      
      
      mysql-test/r/analyse.result:
        SELECT PROCEDURE ANALIZE now returns
        BINARY columns, which is much better than it worked
        previously: CHAR with the default character set.
        But in the future it's worth to fix the fields
        'Field_name' and 'Optimal_fieldtype' to use UTF8,
        and 'Min_value' and 'Max_value' to inherit their charsets
        from the original items. But it is not important,
        and BINARY(N) is OK for now.
      mysql-test/r/case.result:
        Test fix according to the changes
      mysql-test/r/metadata.result:
        Test fix according to the changes
      mysql-test/r/ps_1general.result:
        Test fix according to the changes
      mysql-test/r/ps_2myisam.result:
        Test fix according to the changes
      mysql-test/r/ps_3innodb.result:
        Test fix according to the changes
      mysql-test/r/ps_4heap.result:
        Test fix according to the changes
      mysql-test/r/ps_5merge.result:
        Test fix according to the changes
      mysql-test/r/ps_6bdb.result:
        Test fix according to the changes
      mysql-test/r/ps_7ndb.result:
        Test fix according to the changes
      mysql-test/r/union.result:
        Test fix according to the changes
      sql/item.cc:
        Item is now BINARY by default
      sql/item_cmpfunc.cc:
        IFNULL now collects arguments collations/charsets
        like other functions do.
      9ab94d6c
  21. 26 Dec, 2004 1 commit
    • unknown's avatar
      subselect.result, subselect.test: · 25372c99
      unknown authored
        Added test cases for bug #7351.
      item_cmpfunc.cc:
        Fixed bug #7351: incorrect result for a query with a
        subquery returning empty set.
        If in the predicate v IN (SELECT a FROM t WHERE cond)
        v is null, then the result of the predicate is either
        INKNOWN or FALSE. It is FALSE if the subquery returns
        an empty set.
      item_subselect.cc:
        Fixed bug #7351: incorrect result for a query with a
        subquery returning empty set.
        The problem was due to not a quite legal transformation
        for 'IN' subqueries. A subquery containing a predicate
        of the form
        v IN (SELECT a FROM t WHERE cond)
        was transformed into
        EXISTS(SELECT a FROM t WHERE cond AND (a=v OR a IS NULL)).
        Yet, this transformation is valid only if v is not null.
        If v is null, then, in the case when
        (SELECT a FROM t WHERE cond) returns an empty set the value
        of the predicate is FALSE, otherwise the result of the
        predicate is INKNOWN.
        The fix resolves this problem by changing the result
        of the transformation to
        EXISTS(SELECT a FROM t WHERE cond AND (v IS NULL OR (a=v OR a IS NULL)))
        in the case when v is nullable.
        The new transformation prevents applying the lookup
        optimization for IN subqueries. To make it still
        applicable we have to introduce guarded access methods.
      
      
      sql/item_subselect.cc:
        Fixed bug #7351: incorrect result for a query with a
        subquery returning empty set.
        The problem was due to not a quite legal transformation
        for 'IN' subqueries. A subquery containing a predicate
        of the form
        v IN (SELECT a FROM t WHERE cond)
        was transformed into
        EXISTS(SELECT a FROM t WHERE cond AND (a=v OR a IS NULL)).
        Yet, this transformation is valid only if v is not null.
        If v is null, then, in the case when
        (SELECT a FROM t WHERE cond) returns an empty set the value
        of the predicate is FALSE, otherwise the result of the
        predicate is INKNOWN.
        The fix resolves this problem by changing the result
        of the transformation to
        EXISTS(SELECT a FROM t WHERE cond AND (v IS NULL OR (a=v OR a IS NULL)))
        in the case when v is nullable.
        The new transformation prevents applying the lookup
        optimization for IN subqueries. To make it still
        applicable we have to introduce guarded access methods.
      sql/item_cmpfunc.cc:
        Fixed bug #7351: incorrect result for a query with a
        subquery returning empty set.
        If in the predicate v IN (SELECT a FROM t WHERE cond)
        v is null, then the result of the predicate is either
        INKNOWN or FALSE. It is FALSE if the subquery returns
        an empty set.
      mysql-test/t/subselect.test:
        Added test cases for bug #7351.
      mysql-test/r/subselect.result:
        Added test cases for bug #7351.
      25372c99
  22. 14 Dec, 2004 1 commit
    • unknown's avatar
      * Added comments and one assert · 0e5537ec
      unknown authored
       * Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      
      
      sql/item.cc:
         * More comments
         * Backport of safety measures from 5.0: make numeorous replaces:
            s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      sql/item.h:
        Assert added
      sql/item_cmpfunc.cc:
        Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      sql/item_func.cc:
        Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      sql/item_strfunc.h:
        Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      sql/item_subselect.cc:
        Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      sql/item_sum.cc:
        Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      sql/set_var.cc:
        Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      sql/sql_base.cc:
        Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      sql/sql_handler.cc:
        Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      sql/sql_help.cc:
        Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      sql/sql_select.cc:
        Backport of safety measures from 5.0: make numeorous replaces:
          s/item->fix_fields()/if (!item->fixed) item->fix_fields()
      0e5537ec
  23. 13 Dec, 2004 2 commits
    • unknown's avatar
      Merge of fix for BUG#6976 continued: pulling in some Item_ref changes from 5.0 · b650644b
      unknown authored
       * Added Item_ref::set_properties 
       * Item_ref::Item_ref now expects to get in *item either
           NULL - then fix_fields() will be called later  or 
           ptr to Item it will refer to - then an equivalent of fix_fields() call is performed
      
      
      sql/item.cc:
        Merge of fix for BUG#6976 continued: pulling in some Item_ref changes from 5.0
         * Added Item_ref::set_properties 
         * Adjusted Item_ref::Item_ref calls to match new calling convention
      sql/item.h:
        Merge of fix for BUG#6976 continued: pulling in some Item_ref changes from 5.0
         * Added Item_ref::set_properties 
         * Item_ref::Item_ref now expects to get in *item either
             NULL - then fix_fields() will be called later or
             ptr to Item it will refer to - then an equivalent of fix_fields() call is performed
      sql/item_cmpfunc.cc:
        Merge of fix for BUG#6976 continued: pulling in some Item_ref changes from 5.0
         * Adjusted Item_ref::Item_ref calls to match new calling convention
      sql/item_func.cc:
        Merge of fix for BUG#6976 continued: pulling in some Item_ref changes from 5.0
         * Added Item_ref::set_properties 
         * Adjusted Item_ref::Item_ref calls to match new calling convention
      sql/item_row.cc:
        Merge of fix for BUG#6976 continued: pulling in some Item_ref changes from 5.0
         * Added Item_ref::set_properties 
         * Adjusted Item_ref::Item_ref calls to match new calling convention
      sql/item_strfunc.cc:
        Merge of fix for BUG#6976 continued: pulling in some Item_ref changes from 5.0
         * Added Item_ref::set_properties 
         * Adjusted Item_ref::Item_ref calls to match new calling convention
      b650644b
    • unknown's avatar
      Merging fix for BUG#6976 from 4.0 to 4.1 · 74a8fdd9
      unknown authored
      The problem in 4.1 was the same as in 4.0 - fix_fields() not called for created Item_ref. 
      The fix is similar too - initialize Item_refs in ctor (but don't interfere with cases when 
      Item_ref is used by subselects). 
      
      
      sql/item.cc:
        Fix for BUG#6976 ported from 4.0
      sql/item_cmpfunc.cc:
        Fix for BUG#6976 ported from 4.0
      sql/item_func.cc:
        Fix for BUG#6976 ported from 4.0
      sql/item_row.cc:
        Fix for BUG#6976 ported from 4.0
      sql/item_strfunc.cc:
        Fix for BUG#6976 ported from 4.0
      74a8fdd9
  24. 12 Dec, 2004 1 commit
    • unknown's avatar
      fixed optimized SOME subquery · a7964606
      unknown authored
      mysql-test/r/subselect.result:
        correct results of SOME subquery
      sql/item_cmpfunc.cc:
        some comments added
        fixed optimized SOME subquery
      a7964606
  25. 07 Dec, 2004 1 commit
    • unknown's avatar
      postreview fix · 5017250d
      unknown authored
      sql/item_cmpfunc.cc:
        comment fixed
      sql/item_subselect.cc:
        comment fixed
        debug info and inherited method call
      sql/item_subselect.h:
        comment fixed
      sql/item_sum.cc:
        comment fixed
      sql/item_sum.h:
        comment fixed
      5017250d
  26. 02 Dec, 2004 1 commit
    • unknown's avatar
      Cleanups during review stage · 9589175a
      unknown authored
      Added auto-correct of field length for enum/set tables for ALTER TABLE
      This is becasue of a bug in previous MySQL 4.1 versions where the length for enum/set was set incorrectly after ALTER TABLE
      
      
      mysql-test/r/rpl_start_stop_slave.result:
        Fixed wrong test
      mysql-test/r/type_enum.result:
        Added test for wrong enum/set length after alter table
      mysql-test/t/ps.test:
        removed empty line
      mysql-test/t/type_enum.test:
        Added test for wrong enum/set length after alter table
      sql/field.cc:
        Added auto-correct of field length for enum/set tables.
        This is becasue of a bug in previous MySQL 4.1 versions where the length for enum/set was set incorrectly after ALTER TABLE
      sql/item_cmpfunc.cc:
        Simple optimization
      sql/mysql_priv.h:
        Made local function global
      sql/set_var.cc:
        Simple cleanup
      sql/sql_table.cc:
        Simple cleanups & optimizations
      9589175a
  27. 26 Nov, 2004 1 commit
    • unknown's avatar
      Fixes while reviewing code · 921bbd95
      unknown authored
      (Cleanups and better bug fixes)
      
      
      mysql-test/r/select.result:
        Fixed test after wrong merge
      mysql-test/t/select.test:
        Fixed test after wrong merge
      scripts/mysql_fix_privilege_tables.sh:
        Don't read defaults files
      sql/item_cmpfunc.cc:
        Fix wrong value for not_null_tables_cache
      sql/item_cmpfunc.h:
        Remove wrong patch (flags are set in fix_length_and_dec())
      sql/item_func.h:
        Fix wrong value for not_null_tables_cache
      sql/slave.cc:
        Fixed indentation
      921bbd95
  28. 22 Nov, 2004 1 commit
  29. 18 Nov, 2004 1 commit
    • unknown's avatar
      reporting empty result added in case of max/min optimisation of ALL/ANY/SOME subqueries · 1a08b575
      unknown authored
      fixed null processing in NOT operation used in ALL subquery (Bug #6247)
      
      
      mysql-test/r/subselect.result:
        new tests of ALL/ANY wiews
      mysql-test/t/subselect.test:
        new tests of ALL/ANY wiews
      sql/item_cmpfunc.cc:
        fixed special NOT ALL processing
        fixed processing max/min optimized subqueries with empty results (added methods to detect empty results) and special NOP operation to process them for SOME/ANY sobqueries
      sql/item_cmpfunc.h:
        fixed processing max/min optimized subqueries with empty results (added methods to detect empty results) and special NOP operation to process them for SOME/ANY sobqueries
      sql/item_subselect.cc:
        reporting empty result added for max/min subqueries
      sql/item_subselect.h:
        reporting empty result added for max/min subqueries
      sql/item_sum.cc:
        reporting empty result added fox max/min aggregate functions
      sql/item_sum.h:
        reporting empty result added fox max/min aggregate functions
      sql/sql_class.cc:
        reporting empty result added for max/min subqueries
      sql/sql_parse.cc:
        reporting empty result added for max/min subqueries
      sql/sql_union.cc:
        reporting empty result added for max/min subqueries
      1a08b575
  30. 07 Nov, 2004 1 commit
    • unknown's avatar
      Simpler arena swapping code · dda7a6a9
      unknown authored
      Now thd->mem_root is a pointer to thd->main_mem_root and THR_MALLOC is a pointer to thd->mem_root.
      This gives us the following benefits:
      - Allow us to easily detect if arena has already been swapped before (this fixes a bug in setup_conds() where arena was swaped twice in some cases)
      - Faster swaps of arenas (as we don't have to copy the whole MEM_ROOT)
      - We don't anymore have to call my_pthread_setspecific_ptr(THR_MALLOC,...) to change where memory is alloced. Now it's enough to set thd->mem_root
      
      
      
      client/mysqltest.c:
        Remove some not needed defines
        (Things like this should be done in config-win.h)
      include/config-win.h:
        Added popen() and pclose() compatibility macros
      mysql-test/t/rpl_failed_optimize-master.opt:
        Portability fix
      sql/ha_berkeley.cc:
        New thd->memroot handling
      sql/item_cmpfunc.cc:
        Simpler arena swapping code
      sql/item_func.cc:
        Simpler arena swapping code
      sql/item_subselect.cc:
        Simpler arena swapping code
        New thd->mem_root handling
      sql/item_sum.cc:
        New thd->mem_root handling
      sql/item_timefunc.cc:
        Fixed not-initalized usage errors found by valgrind
      sql/log_event.cc:
        New thd->mem_root handling
      sql/mysql_priv.h:
        New thd->mem_root handling
      sql/mysqld.cc:
        New thd->mem_root handling
      sql/opt_range.cc:
        New thd->mem_root handling
      sql/repl_failsafe.cc:
        New thd->mem_root handling
      sql/set_var.cc:
        New thd->mem_root handling
      sql/sql_acl.cc:
        New thd->mem_root handling
      sql/sql_base.cc:
        Simpler arena swapping code
        New thd->mem_root handling
      sql/sql_class.cc:
        New thd->mem_root handling
      sql/sql_class.h:
        Simpler arena swapping code
        New thd->mem_root handling
      sql/sql_db.cc:
        New thd->mem_root handling
      sql/sql_error.cc:
        New thd->mem_root handling
      sql/sql_help.cc:
        New thd->mem_root handling
      sql/sql_insert.cc:
        New thd->mem_root handling
      sql/sql_parse.cc:
        New thd->mem_root handling
        Added some extra checking of return value of new
      sql/sql_prepare.cc:
        New thd->mem_root handling
      sql/sql_select.cc:
        New thd->mem_root handling
      sql/sql_select.h:
        New thd->mem_root handling
      sql/sql_union.cc:
        Simpler arena swapping code
      sql/sql_yacc.yy:
        New thd->mem_root handling
      sql/table.cc:
        New thd->mem_root handling
      sql/thr_malloc.cc:
        New thd->mem_root handling
      tests/client_test.c:
        Added drop table to some tests
        Changed some table names to 't1'
      dda7a6a9
  31. 05 Nov, 2004 1 commit
    • unknown's avatar
      func_in.result, func_in.test: · 6ecd35a7
      unknown authored
        Added a case for bug #6365.
      item_cmpfunc.cc:
        Fixed bug #6365 : Server crashed when list of values
        in IN predicate contains NULL while the tested field is
        of the character type and not of the default set;
        e.g. when f in 'f IN (NULL,'aa') belongs to binary
        character set, while the default character set is latin1.
      
      
      sql/item_cmpfunc.cc:
        Fixed bug #6365 : Server crash when list of values
        in IN predicate contains NULL while the tested field is
        of the character type of not of the default set
        e.g. when f in 'f IN (NULL,'aa') belongs to binary
        character set, while the default character set is latin1.
      mysql-test/t/func_in.test:
        Added a case for bug #6365.
      mysql-test/r/func_in.result:
        Added a case for bug #6365.
      6ecd35a7
  32. 02 Nov, 2004 1 commit
    • unknown's avatar
      Many files: · 469889f5
      unknown authored
        Allow mixing of different character sets for more SQL functions.
      item_func.h:
        Allow mixing of different character sets for more SQL functions..
      
      
      sql/item_cmpfunc.cc:
        Allow mixing of different character sets for more SQL functions.
      sql/item_func.cc:
        Allow mixing of different character sets for more SQL functions.
      sql/item_func.h:
        Allow mixing of different character sets for more SQL functions..
      sql/item_strfunc.cc:
        Allow mixing of different character sets for more SQL functions.
      sql/item.cc:
        Allow mixing of different character sets for more SQL functions.
      sql/item.h:
        Allow mixing of different character sets for more SQL functions.
      mysql-test/t/ctype_recoding.test:
        Allow mixing of different character sets for more SQL functions.
      mysql-test/r/ctype_recoding.result:
        Allow mixing of different character sets for more SQL functions.
      469889f5
  33. 29 Oct, 2004 2 commits
    • unknown's avatar
      A fix according to Monty's request: · 08809ca1
      unknown authored
      "uint *errors" is now a non-optional parameter in String:copy()
      and copy_and_convert().
      
      08809ca1
    • unknown's avatar
      Allow to convert to non-Unicode charset when mixing a string · 312fc6da
      unknown authored
      constant with a column. The string is converted into the column
      character set. It conversion doesn't lose data, then operation
      is possible. Otherwise, give an error, as it was earlier.
      
      
      sql/item.h:
        Change bool argument to uint flags:
        we have now two different flags.
      312fc6da
  34. 26 Oct, 2004 1 commit
    • unknown's avatar
      A lot of fixes for prepared statements (PS): · 8255e5a3
      unknown authored
      New mysqltest that can run mysqltest with PS
      Added support for ZEROFILL in PS
      Fixed crash when one called mysql_stmt_store_result() without a preceding mysql_stmt_bind_result()
      Updated test cases to support --ps-protocol
      (Some tests are still run using old protocol)
      Fixed crash in PS when using SELECT * FROM t1 NATURAL JOIN t2...
      Fixed crash in PS when using sub queries
      Create table didn't signal when table was created. This could cause a "DROP TABLE created_table" in another thread to wait "forever"
      Fixed wrong permissions check in PS and multi-table updates (one could get permission denied for legal quries)
      Fix for PS and SELECT ... PROCEDURE
      Reset all warnings when executing a new PS query
      group_concat(...ORDER BY) didn't work with PS
      Fixed problem with test suite when not using innodb
      
      
      BitKeeper/deleted/.del-innodb-lock-master.opt~f76a4a1999728f87:
        Delete: mysql-test/t/innodb-lock-master.opt
      client/Makefile.am:
        mysqltest now uses regex
      client/mysqltest.c:
        Added support for testing of prepared statements (with --ps-protocol)
        Main code was done by Kent, I did mainly some cleanups and minor bug fixes
        New test commands:
        --disable_ps_protocol
        --enable_ps_protocol
        NOTE: new code still has some things that needs to be cleaned up.
        For example run_query_stmt_handle_error() should be made more general so that same code can be used also by 'normal' queries
      configure.in:
        mysqltest now uses regex
      libmysql/libmysql.c:
        Reset warning_count after prepare (safety). In the future we should also provide warnings on prepare
        integer -> string conversion now handles ZEROFILL
        double -> string conversion is now closer to the one in the server
        Fixed crash when one called mysql_stmt_store_result() without preceding mysql_stmt_bind_result()
      libmysqld/examples/Makefile.am:
        mysqltest now uses regex
      mysql-test/include/have_query_cache.inc:
        Fixes for --ps-protocol
      mysql-test/include/ps_conv.inc:
        Fixes for --ps-protocol
      mysql-test/mysql-test-run.sh:
        Added options --ps-protocol
      mysql-test/r/ctype_utf8.result:
        Fixed test case
      mysql-test/r/fulltext_cache.result:
        Changed output of MATCH to use round() to get same numbers with --ps-protocol
      mysql-test/r/fulltext_left_join.result:
        Changed output of MATCH to use round() to get same numbers with --ps-protocol
      mysql-test/r/fulltext_multi.result:
        Changed output of MATCH to use round() to get same numbers with --ps-protocol
      mysql-test/r/innodb-lock.result:
        Fixed test to work even if Innodb is not compiled in.
      mysql-test/t/create.test:
        Fixes for --ps-protocol
      mysql-test/t/ctype_utf8.test:
        Remove warnings
      mysql-test/t/date_formats.test:
        Fixes for --ps-protocol
      mysql-test/t/fulltext_cache.test:
        Changed output of MATCH to use round() to get same numbers with --ps-protocol
      mysql-test/t/fulltext_left_join.test:
        Changed output of MATCH to use round() to get same numbers with --ps-protocol
      mysql-test/t/fulltext_multi.test:
        Changed output of MATCH to use round() to get same numbers with --ps-protocol
      mysql-test/t/func_group.test:
        Fixes for --ps-protocol
      mysql-test/t/func_sapdb.test:
        Fixes for --ps-protocol
      mysql-test/t/innodb-lock.test:
        Fixed test to work even if Innodb is not compiled in.
      mysql-test/t/insert.test:
        Fixes for --ps-protocol
      mysql-test/t/insert_select.test:
        Fixes for --ps-protocol
      mysql-test/t/insert_update.test:
        Fixes for --ps-protocol
      mysql-test/t/metadata.test:
        Fixes for --ps-protocol
      mysql-test/t/multi_statement.test:
        Fixes for --ps-protocol
      mysql-test/t/ps_1general.test:
        Fixes for --ps-protocol
      mysql-test/t/rollback.test:
        Fixes for --ps-protocol
      mysql-test/t/rpl_redirect.test:
        Fixes for --ps-protocol
      mysql-test/t/rpl_user_variables.test:
        Fixes for --ps-protocol
      mysql-test/t/select.test:
        Fixes for --ps-protocol
      mysql-test/t/status.test:
        Fixes for --ps-protocol
      mysql-test/t/type_blob.test:
        Fixes for --ps-protocol
      mysql-test/t/type_float.test:
        Fixes for --ps-protocol
      mysql-test/t/union.test:
        Fixes for --ps-protocol
      mysql-test/t/warnings.test:
        Fixes for --ps-protocol
      mysys/my_alloc.c:
        More debugging information
      sql-common/client.c:
        More debugging information
      sql-common/my_time.c:
        TIME didn't support full range with PS
      sql/field.cc:
        TIME didn't support full range with PS
      sql/item_cmpfunc.cc:
        IN(constants,...) didn't work with PS
      sql/item_subselect.cc:
        Some subqueries didn't work with PS
      sql/item_sum.cc:
        group_concat(...ORDER BY) didn't work with PS
        Removed variable warning_available as 'warning' can be used for this.
      sql/item_sum.h:
        Removed not needed variable
      sql/protocol.cc:
        TIME didn't support full range with PS
      sql/set_var.cc:
        Style fix
      sql/sql_base.cc:
        setup_wild() didn't properly restore old arena, which caused core dump in PS when using
        SELECT * FROM t1 NATURAL JOIN t2...
      sql/sql_class.cc:
        Style fix
      sql/sql_error.cc:
        Style fix
      sql/sql_insert.cc:
        Create table didn't signal when table was created. This could cause a "DROP TABLE created_table" in another thread to wait "forever"
      sql/sql_lex.h:
        Fix for PS and procedures
      sql/sql_parse.cc:
        More debugging information
        Make a copy of 'db' in PS as this may change
        Fixed wrong permissions check in PS and multi-table updates
      sql/sql_prepare.cc:
        Fix for PS and SELECT ... PROCEDURE
        Reset all warnings when executing a new query
      sql/sql_union.cc:
        Fixes for PS and SELECT ... PROCEDURE
        Reset 'with_wild' as 'wild' is resolved on prepare
      8255e5a3
  35. 19 Oct, 2004 1 commit
    • unknown's avatar
      Review of all code pushed since last review · da02110d
      unknown authored
      Simple optimzations and cleanups
      Removed compiler warnings and fixed portability issues
      Added client functions 'mysql_embedded()' to allow client to check if we are using embedded server
      Fixes for purify
      
      
      client/mysqlimport.c:
        Remove not used variable
      client/mysqltest.c:
        Remove usage of MAXPATHLEN (all MySQL code uses FN_REFLEN)
        Simplified code
        Remove usage of sprintf("%llu") as this is not portable
      include/mysql.h:
        Added mysql_embedded() to be able to easily check if we are using the embedded server
      innobase/srv/srv0start.c:
        Don't use memcmp() when using purify (to avoid false warnings)
      libmysql/libmysql.c:
        Added mysql_embedded() to be able to easily check if we are using the embedded server
      libmysql/libmysql.def:
        Added mysql_embedded() to be able to easily check if we are using the embedded server
      myisam/myisam_ftdump.c:
        Remove compiler warning
      myisam/myisamchk.c:
        Remove compiler warning
      myisam/rt_test.c:
        #ifdef not used code
      mysys/hash.c:
        Remove compiler warning (from last push)
      mysys/my_gethwaddr.c:
        Remove compiler warning
      ndb/src/ndbapi/ndberror.c:
        #ifdef not used code
      regex/regcomp.c:
        Remove not used code
      regex/regcomp.ih:
        Remove not used code (to remove compiler warnings)
      sql-common/client.c:
        Remove compiler warnings
      sql/field.cc:
        Simple optimization
      sql/ha_innodb.cc:
        Rename mysql_embedded -> mysqld_embedded
      sql/item.cc:
        Fix comments
        Move variables first on block
        Remove else after return
        Simple optimizations
        (no logic changes)
      sql/item_cmpfunc.cc:
        Added comment
      sql/mysql_priv.h:
        Rename mysql_embedded -> mysqld_embedded
      sql/mysqld.cc:
        Rename mysql_embedded -> mysqld_embedded
      sql/sql_acl.cc:
        Added comments
        simple optimization
        Fixed 'very unlikely' bug when doing REVOKE ALL PRIVILEGES
      sql/sql_select.cc:
        More comments
        Simple optimization
      sql/sql_show.cc:
        Simple changes to make similar code similar
        More comments
      sql/sql_string.cc:
        Trivial optimization and better code layout
      strings/Makefile.am:
        Change xml.c to use bcmp to avoid warnings from purify
      strings/xml.c:
        Change xml.c to use bcmp to avoid warnings from purify
      tests/client_test.c:
        Remove usage of MAXPATHLEN (all MySQL code uses FN_REFLEN)
      da02110d
  36. 09 Oct, 2004 1 commit
    • unknown's avatar
      A small simplification: perform two actions at once, register a · c90fd2c4
      unknown authored
      change, and perform it (the new Item changes registry).
      
      
      sql/item.cc:
        A small simplification: perform two actions at once, register a
        change, and perform it.
      sql/item_cmpfunc.cc:
        register_item_tree_change -> change_item_tree
      sql/item_func.cc:
        register_item_tree_change -> change_item_tree
      sql/item_row.cc:
        register_item_tree_change -> change_item_tree
      sql/item_strfunc.cc:
        register_item_tree_change -> change_item_tree
      sql/sql_class.h:
        register_item_tree_change -> change_item_tree
      sql/sql_select.cc:
        register_item_tree_change -> change_item_tree
      c90fd2c4
  37. 08 Oct, 2004 1 commit
    • unknown's avatar
      Deployment of centralized Item change registry, step 2: Item_ref · 9ba3c23e
      unknown authored
      doesn't need to have it's own recovery mechanism.
      
      
      sql/item.cc:
        Deployment of centralized Item change registry, step 2: Item_ref 
        doesn't need to have it's own recovery mechanism, so it was simplified.
      sql/item.h:
        Deployment of centralized Item change registry, step 2: Item_ref 
        doesn't need to have it's own recovery mechanism, so it was simplified.
      sql/item_cmpfunc.cc:
        - Item::split_sum_func now requires THD
        - use THD::register_item_tree_change
      sql/item_cmpfunc.h:
        - Item::split_sum_func now requires THD
      sql/item_func.cc:
        - Item::split_sum_func now requires THD
        - use THD::register_item_tree_change
      sql/item_func.h:
        - Item::split_sum_func now requires THD
      sql/item_row.cc:
        - Item::split_sum_func now requires THD
        - use THD::register_item_tree_change
      sql/item_row.h:
        - Item::split_sum_func now requires THD
      sql/item_strfunc.cc:
        - Item::split_sum_func now requires THD
        - use THD::register_item_tree_change to register changes in the item
          tree
      sql/item_strfunc.h:
        - Item::split_sum_func now requires THD
      sql/item_subselect.cc:
        - use updated Item_ref constructor
      sql/sql_base.cc:
        - Item::split_sum_func now requires THD
      sql/sql_select.cc:
        - Item::split_sum_func now requires THD
      sql/sql_yacc.yy:
        - use updated Item_ref constructor
      9ba3c23e