An error occurred fetching the project authors.
  1. 15 Jun, 2005 1 commit
  2. 14 Jun, 2005 1 commit
  3. 10 Jun, 2005 2 commits
    • unknown's avatar
      Post-merge fix. · bea2fe87
      unknown authored
      bea2fe87
    • unknown's avatar
      Post review and additional fix for BUG#10968: Stored procedures: crash if long loop. · 03949f8c
      unknown authored
        Fixed valgrind complaints. This fixes the memory leak problems for
        procedured, and partially for functions. There's still a leak involving
        results from functions that turned out to be too involved, so it will be
        fixed separately.
      
      
      mysql-test/r/sp.result:
        Fixed some minor mistake (spotted while debugging).
      mysql-test/t/sp.test:
        Fixed some minor mistake (spotted while debugging).
      sql/item_func.cc:
        Moved Item_func_sp::cleanup() from item_func.h to ease debugging,
        and made a debug output come out right.
      sql/item_func.h:
        Moved Item_func_sp::cleanup() to item_func.cc to ease debugging.
      sql/sp_head.cc:
        Fixed valgrind problems with the previous memory leak fix (unit cleanup and
        putting result field in a differen mem_root), and removed prealloc flag from
        init_alloc_root() calls.
      sql/sp_rcontext.cc:
        New mem_root pointer used for return fields from functions.
      sql/sp_rcontext.h:
        New mem_root pointer used for return fields from functions.
      03949f8c
  4. 09 Jun, 2005 1 commit
  5. 07 Jun, 2005 2 commits
    • unknown's avatar
      Fix for bug #10015 "Crash in InnoDB if stored routines are used". · 49357ae8
      unknown authored
      We should not allow explicit or implicit transaction commits inside
      of stored functions or triggers (so in autocommit mode we should not
      do commits after execution of sub-statement).
      Also since we don't support nested statement transactions in 5.0,
      we shouldn't commit or rollback stmt transactions while we are inside
      stored functions or triggers. This should be fixed in later (>=5.1)
      releases.
      
      
      mysql-test/r/sp_trans.result:
        Added test for bug #10015 "Crash in InnoDB if stored routines are used"
        and for general transaction handling inside of functions.
      mysql-test/t/sp_trans.test:
        Added test for bug #10015 "Crash in InnoDB if stored routines are used"
        and for general transaction handling inside of functions.
      sql/handler.cc:
        ha_trans_commit()/ha_trans_rollback():
          Since we don't support nested statement transactions in 5.0,
          we can't commit or rollback stmt transactions while we are inside
          stored functions or triggers. So we simply do nothing now.
          This should be fixed in later ( >= 5.1) releases.
      sql/item_func.cc:
        Item_func_sp::execute():
          Set THD::transaction.in_sub_stmt flag to TRUE during stored function
          execution to prevent commits and rollbacks for statement level
          transactions, since doing them will ruin such transaction for
          stateemtn which calls this function.
      sql/share/errmsg.txt:
        Added error message which says that statements doing explicit or implicit
        commits are disallowed in triggers and stored functions.
      sql/sql_base.cc:
        close_thread_tables():
          Clarified comment about committing of statement transactions in
          prelocked mode.
      sql/sql_class.h:
        THD::transaction:
          Added in_sub_stmt method which indicates that we are executing
          statements from trigger or stored function now, and thus
          statement transaction belongs to statement which invoked this
          routine and we should not commit or rollback it while executing
          these sub-statements.
      sql/sql_parse.cc:
        end_active_trans()/begin_trans()/end_trans():
          We should not commit or rollback global (non-stmt) transaction
          if we are executing stored function or trigger. These checks will
          catch situation when we are trying to do commit or rollback in stored
          procedure which is called from function or trigger.
      sql/sql_trigger.h:
        Table_triggers_list::process_triggers():
          Set THD::transaction.in_sub_stmt flag to TRUE during trigger
          execution to prevent commits and rollbacks for statement level
          transactions, since doing them will ruin such transaction for
          stateemtn which invokes this trigger.
      sql/sql_yacc.yy:
        Prohibited usage of statements which do explicit or implicit commit or
        rollback inside of stored functions and triggers.
      49357ae8
    • unknown's avatar
      After merge fixes · e90b64cd
      unknown authored
      mysql-test/r/innodb.result:
        Update results
      mysql-test/r/warnings.result:
        Update results
      sql/item.cc:
        Simple optimization
      sql/item_func.cc:
        After merge fix
      sql/item_sum.cc:
        Fixes for group_concat and rollup (From Ramil)
      sql/sql_parse.cc:
        Remove compiler warning
      sql/sql_select.cc:
        Fixed problem with rollup
      e90b64cd
  6. 06 Jun, 2005 1 commit
    • unknown's avatar
      Some Windows compile improvements: · a0d18bd4
      unknown authored
       - removed some unreferenced variables
       - fixed the libmysql project file by removing a duplicate file reference (merge error)
      
      
      sql/item_func.cc:
        - removed unused variable "Field" from Item_func_sp::sp_result_field
      sql/sql_select.cc:
        - removed unreferenced variable "filename" from create_tmp_table
      sql/unireg.cc:
        - removed unused variable "firstpos" from make_empty_rec
      VC++Files/libmysql/libmysql.dsp:
        - after-merge fix: removed duplicate file ctype-cp932.c
      a0d18bd4
  7. 05 Jun, 2005 2 commits
    • unknown's avatar
      a compiler must see '#pragma implementation' *before* · 062a1b8b
      unknown authored
      '#pragma interface' (that comes with the #include'd header file)
      
      
      062a1b8b
    • unknown's avatar
      Cleanup during review · b08b3a15
      unknown authored
      Simple optimization for 2 argument usage to function of variable arguments
      Fix stack overrun when using 1+1+1+1+1+1+1+....
      Update crash-me results for 5.0
      Don't call post_open if pre_open() fails (optimization)
      
      
      
      sql-bench/limits/mysql-4.1.cfg:
        Rename: sql-bench/limits/mysql.cfg -> sql-bench/limits/mysql-4.1.cfg
      libmysql/libmysql.c:
        More portable define
      mysql-test/mysql-test-run.sh:
        Write also InnoDB warnings to warnings.log
      mysql-test/t/type_newdecimal.test:
        Don't get errors if innodb is not defined
      mysys/my_alloc.c:
        Cleanup comments
      mysys/thr_lock.c:
        Cleanup comments
      sql/item.h:
        Remove not needed initializer
      sql/item_func.cc:
        Simple optimization for 2 argument usage to function of variable arguments
      sql/mysql_priv.h:
        We use more stackspace with the introduction of int_op() etc.
        This change ensures we don't run out of stack when doing 1+1+1+1...
        (Tested on x86, 32 bit)
      sql/sp_head.cc:
        Don't call post_open if pre_open() fails
      sql/sp_rcontext.cc:
        More comments
        Change so that post_open() doesn't have to be called if pre_open() fails
      sql/sql_parse.cc:
        Fold long lines
      sql/sql_select.cc:
        Simple reorganization to reduce number of if's
        Ensure that table_map is updated for where clause (fixed warning from valgrind)
      b08b3a15
  8. 03 Jun, 2005 2 commits
    • 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
    • unknown's avatar
      yassl template instantiation - don't do too much · 2906e27a
      unknown authored
      mysys/my_access.c: remove incorrect fix
      comments
      
      
      extra/yassl/taocrypt/src/integer.cpp:
        yassl template instantiation - don't do too much
      extra/yassl/taocrypt/src/template_instnt.cpp:
        yassl template instantiation - don't do too much
      mysys/my_access.c:
        remove incorrect fix
      sql/item_func.cc:
        a couple of comment. assert added.
      2906e27a
  9. 02 Jun, 2005 5 commits
    • unknown's avatar
      item_func.h: · 21989e7d
      unknown authored
        Fixed bug #9939: a wrong conversion of arguments
        for functions COALESCE and IFNULL.
        The str_op virtual method was added into Item_func_numhybrid.
      item_func.cc:
        Fixed bug #9939: a wrong conversion of arguments
        for functions COALESCE and IFNULL.
        The str_op virtual method was added into Item_func_numhybrid.
      item_cmpfunc.h, item_cmpfunc.cc:
        Fixed bug #9939: a wrong conversion of arguments
        for functions COALESCE and IFNULL.
        Item_func_coalesce and Item_func_ifnull now
        inherit from a modified Item_func_numhybrid.
      case.test, case.result:
        Added test cases for bug #9939.
      
      
      mysql-test/r/case.result:
        Added test cases for bug #9939.
      mysql-test/t/case.test:
        Added test cases for bug #9939.
      sql/item_cmpfunc.cc:
        Fixed bug #9939: a wrong conversion of arguments
        for functions COALESCE and IFNULL.
        Item_func_coalesce and Item_func_ifnull now
        inherit from a modified Item_func_numhybrid.
      sql/item_cmpfunc.h:
        Fixed bug #9939: a wrong conversion of arguments
        for functions COALESCE and IFNULL.
        Item_func_coalesce and Item_func_ifnull now
        inherit from a modified Item_func_numhybrid.
      sql/item_func.cc:
        Fixed bug #9939: a wrong conversion of arguments
        for functions COALESCE and IFNULL.
        The str_op virtual method was added into Item_func_numhybrid.
      sql/item_func.h:
        Fixed bug #9939: a wrong conversion of arguments
        for functions COALESCE and IFNULL.
        he str_op virtual method was added into Item_func_numhybrid.
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      21989e7d
    • unknown's avatar
      cleanup · 1ea49fec
      unknown authored
      extra/yassl/src/ssl.cpp:
        unresolved __cxa_pure_virtual
      sql/item_func.cc:
        don't call arg[0]->val_xxx() twice
      1ea49fec
    • 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
      Restore a bit of code accidently deleted during merge · c0df79f9
      unknown authored
      sql/item_func.cc:
        Restore accidently deleted code
      c0df79f9
    • 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
  10. 01 Jun, 2005 1 commit
  11. 31 May, 2005 1 commit
    • unknown's avatar
      Post-review fixes of BUG#9937: Crash on call to stored procedure. · 2e113ada
      unknown authored
      sql/item_cmpfunc.cc:
        Put the buff parameter back in check_stack_overrun().
      sql/item_func.cc:
        Put the buff parameter back in check_stack_overrun().
      sql/item_subselect.cc:
        Put the buff parameter back in check_stack_overrun().
      sql/mysql_priv.h:
        Put the buff parameter back in check_stack_overrun().
      sql/mysqld.cc:
        Style fixes.
      sql/sp_head.cc:
        Put the buff parameter back in check_stack_overrun().
      sql/sql_parse.cc:
        Put the buff parameter back in check_stack_overrun(), and added comment explaining the purpose.
      sql/table.cc:
        Put the buff parameter back in check_stack_overrun().
      2e113ada
  12. 27 May, 2005 1 commit
  13. 26 May, 2005 2 commits
    • unknown's avatar
      Fixed BUG#9937: Crash on call to stored procedure. · 0d8dce03
      unknown authored
      This only showed up on two known platforms, both ia64 (one HP-UX and one Linux wich icc).
      For some reason, they only get half the stack size they are supposed to have, which
      makes deep SP recursion overrun the stack before check_stack_overrun() is triggered.
      Also made som minor fixes in the check_stack_overrun() definition, supporting variable
      margins.
      No test case added, but the reason for the bug report was a failed existing test case
      on these machines, which now works.
      
      
      sql/item_cmpfunc.cc:
        Adopted call to new check_stack_overrun() definition.
      sql/item_func.cc:
        Adopted calls to new check_stack_overrun() definition.
      sql/item_subselect.cc:
        Adopted call to new check_stack_overrun() definition.
      sql/mysql_priv.h:
        Changed definition of check_stack_overrun(), thread_stack_min variable no longer needed.
      sql/mysqld.cc:
        thread_stack_min variable no longer needed (with variable margin arg. to check_thread_overrun()).
        On (at least some) ia64 machines, it seems we only get half the requested stack in reality,
        so deep SP recursion crashes before the thread overrun check is triggered.
        We work around this by requesting twice the stack requested to get expected size.
      sql/sp_head.cc:
        Adopted call to new check_stack_overrun() definition, and use a wider margin
        execution.
      sql/sql_parse.cc:
        Modified check_stack_overrun() definition. Removed unused arg that didn't sever any
        purpose, and added a 'margin' argument to support different margins for different
        callrers.
      sql/table.cc:
        Adopted call to new check_stack_overrun() definition.
      0d8dce03
    • 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
  14. 19 May, 2005 3 commits
    • unknown's avatar
      hf's fix for bug #9060 (FORMAT returns incorrect result) · 4482604e
      unknown authored
      we need proper rounding there
      
      
      mysql-test/r/func_math.result:
        test result fixed
      mysql-test/t/func_math.test:
        test case added
      sql/item_func.cc:
        my_double_round implementation added
      sql/item_strfunc.cc:
        my_double_round used
      sql/mysql_priv.h:
        my_double_round interface
      4482604e
    • unknown's avatar
      a fix (bug #10599: Numeric function 'abs' make server crash). · 4387f4d9
      unknown authored
      sql/item_func.cc:
        a fix (bug #10599: Numeric function 'abs' make server crash).
        Item_func_abs::decimal_op() now returns 0 if NULL.                              
        trivial optimization - get rid of an extra jump for common situations.          
        fixed Item_func_neg::decimal_op() return value if NULL.
      4387f4d9
    • unknown's avatar
      a fix (bug #10599: Numeric function 'abs' make server crash). · c1ed128f
      unknown authored
      sql/item_func.cc:
        a fix (bug #10599: Numeric function 'abs' make server crash).
        Item_func_abs::decimal_op() and Item_func_neg::decimal_op()
        now return 0 if NULL.
        Trivial optimization - get rid of an extra jump for common situations.
      c1ed128f
  15. 18 May, 2005 1 commit
  16. 17 May, 2005 1 commit
    • unknown's avatar
      Bug#10246 - Parser: bad syntax for GRANT EXECUTE · 55171821
      unknown authored
        Rename some functions
        more fine-grained sp privileges
        make grant/revoke sp grammar less ambigious
      
      
      mysql-test/r/sp-security.result:
        change test for new syntax
      mysql-test/r/system_mysql_db.result:
        change test for new syntax
      mysql-test/t/sp-security.test:
        change test for new syntax
      scripts/mysql_create_system_tables.sh:
        now store routine_type for procs_priv
      scripts/mysql_fix_privilege_tables.sql:
        now store routine_type for procs_priv
      sql/item_func.cc:
        rename of function
      sql/mysql_priv.h:
        rename of function
      sql/sp_head.cc:
        extra arg for check_some_routine_access
      sql/sql_acl.cc:
        rename of function. now handle func/proc acls seperately
      sql/sql_acl.h:
        rename of function
      sql/sql_parse.cc:
        rename of function
        grants for procs handled distinctly from funcs
      sql/sql_show.cc:
        check_some_routine_access extra arg
      sql/sql_base.cc:
        fix for build
      sql/sql_yacc.yy:
        fix for build
      55171821
  17. 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
  18. 13 May, 2005 1 commit
  19. 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
  20. 06 May, 2005 1 commit
    • unknown's avatar
      Fixes while reviewing new code · ab54e167
      unknown authored
      Added option --count to mysqlshow (to show number of rows)
      Fixed possible core dump in information schema
      
      
      client/client_priv.h:
        --count for mysqlshow
      client/mysqlshow.c:
        Added option --count to be used when the user want's number of rows per table in the output
        (We shouldn't use count(*) as default as this can be a slow operation)
      mysys/my_thr_init.c:
        Correct comment
      sql/ha_berkeley.cc:
        Remove not used variable
      sql/ha_berkeley.h:
        Remove not used variable
      sql/ha_innodb.cc:
        Remove not used function
      sql/ha_ndbcluster.cc:
        false -> FALSE
        true -> TRUE
      sql/handler.cc:
        Added and fixed comments
        Remove 'strange' code to remove compiler warnings (better to do things like this with attribute)
      sql/item.cc:
        false -> FALSE
      sql/item_cmpfunc.cc:
        Fixed indentation
      sql/item_cmpfunc.h:
        marked BETWEEN as a bool function
      sql/item_func.cc:
        Simple optimzation
      sql/key.cc:
        Removed wrong code
      sql/log.cc:
        Check result from open_index_file()
      sql/mysql_priv.h:
        Simplyfy some test of netware
      sql/mysqld.cc:
        Fixed indentation
        Check result form open_index_file()
        Simplify code with IF_NETWARE()
      sql/opt_range.cc:
        false -> FALSE
        true -> TRUE
        Fixed indentation
      sql/opt_sum.cc:
        Fixed comments
      sql/sp_head.cc:
        Simple optimzation
        Move variable declarations to begining of blocks
      sql/sql_acl.cc:
        Fix long lines
        Rename xx -> column
        Move declaration to beginning of block
      sql/sql_parse.cc:
        Removed comment
      sql/sql_select.cc:
        Indentation fixes
      sql/sql_show.cc:
        Fixed reference outside of array (possible core dump)
      sql/sql_table.cc:
        Simplify code
        Combine common code
      sql/sql_test.cc:
        false -> FALSE
      sql/sql_trigger.cc:
        false -> false
        true -> TRUE
      sql/sql_yacc.yy:
        Simpler test
      sql/unireg.cc:
        Added comment
      ab54e167
  21. 05 May, 2005 2 commits
    • unknown's avatar
      A lot of fixes to Precision math · 6de14a23
      unknown authored
      Mostly about precision/decimals of the results of the operations
      
      
      include/decimal.h:
        decimal interface changed a little
      sql/field.cc:
        a lot of precision/decimals related changes to the Field_new_decimal
      sql/field.h:
        Field_new_decimal interface changed
      sql/ha_ndbcluster.cc:
        f->precision should be used here
      sql/item.cc:
        precision/decimals counting related changes
      sql/item.h:
        precision/decimals counting related changes
      sql/item_cmpfunc.cc:
        precision/decimals counting related changes
      sql/item_cmpfunc.h:
        precision/decimals counting related changes
      sql/item_func.cc:
        precision/decimals counting related changes
      sql/item_func.h:
        precision/decimals counting related changes
      sql/item_sum.cc:
        precision/decimals counting related changes
      sql/item_sum.h:
        precision/decimals counting related changes
      sql/my_decimal.cc:
        precision/decimals counting related changes
      sql/my_decimal.h:
        precision/decimals counting related changes
      sql/mysqld.cc:
        precision/decimals counting related changes
      sql/set_var.cc:
        precision/decimals counting related changes
      sql/sp_head.cc:
        dbug_decimal_print was replaced with dbug_decimal_as_string
      sql/sql_class.h:
        div_precincrement variable added
      sql/sql_parse.cc:
        precision/decimals counting related changes
      sql/sql_select.cc:
        precision/decimals counting related changes
      sql/sql_show.cc:
        Field::representation_length was removed
      strings/decimal.c:
        decimal_actual_fraction was introduced
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      6de14a23
    • unknown's avatar
      Approximative fixes for BUG#2610,2611,9100 i.e. WL#2146... · af12ff65
      unknown authored
        Approximative fixes for BUG#2610,2611,9100 i.e. WL#2146 binlogging/replication of routines (stored procs and functions).
        Approximative, because it's using our binlogging way (what we call "query"-level) and this is not as good as record-level binlog (5.1) would be. It imposes several
        limitations to routines, and has caveats (which I'll document, and for which the server will try to issue errors but that is not always possible).
        Reason I don't propagate caller info to the binlog as planned is that on master and slave
        users may be different; even with that some caveats would remain.
      
      
      mysql-test/mysql-test-run.sh:
        In the testsuite we know what we do, we are not creating nasty routines, and breaking binlog is ok except in rpl_sp.
      mysql-test/r/blackhole.result:
        Updating results now that 4.1 has been merged
      mysql-test/valgrind.supp:
            Some suppressions for Valgrind (useful on my machine Suse 9.1);
            this is just adding to the already existing suppressions of pthread and dl.
      sql/item_func.cc:
            Don't binlog the substatements when executing a function. If the function
            is declared to modify data and does not complete, warning "broken binlog".
            Note that SELECT myfunc() will not be binlogged even if myfunc() updates data (will be documented);
            but INSERT INTO t VALUES(myfunc()) will be binlogged (what decides is if the caller
            gets binlogged; the function changes nothing to binlogging).
      sql/log_event.cc:
            Just making functions which can be re-used when we binlog more strings
            in status_vars in Query_log_event (e.g. one day "user", "host").
      sql/log_event.h:
        comment
      sql/mysql_priv.h:
            --log-bin-trust-routine-creators
      sql/mysqld.cc:
            --log-bin-trust-routine-creators
      sql/set_var.cc:
            --log-bin-trust-routine-creators
      sql/share/errmsg.txt:
        error messages to warn about problems with routines and binlog
      sql/slave.cc:
            If in a routine, replication table inclusion/exclusion rules always answer "replicate!" (see comment in code).
      sql/sp.cc:
            If binlog is on: errors if one wants to create a non-deterministic update routine
            (repeatability problem - note that the test is not perfect for functions) or does not have SUPER (because routines can easily
            be made to destroy slave's data with just CREATE ROUTINE and EXECUTE priv on master).
            --log-bin-trust-routine-creators removes these errors.
            Binlogging of CREATE PROCEDURE|FUNCTION.
      sql/sql_acl.cc:
            No thd==0 in tables_ok().
      sql/sql_parse.cc:
            Binlogging of CALL (and not of the substatements of the SP).
            If SP returns error, we don't binlog it (see comment); we push warning in this case.
            Binlogging of ALTER|DROP PROCEDURE|FUNCTION with safety messages.
      af12ff65
  22. 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
  23. 30 Apr, 2005 3 commits
    • unknown's avatar
      yassl changeset 2: · d3d56609
      unknown authored
        remove FIX_GCC_LINKING_PROBLEM and -DDEFINE_CXA_PURE_VIRTUAL
        replace echo in configure.in with AC_MSG_WARN/AC_MSG_ERROR
        don't set -DUSE_MYSYS_NEW for gcc 2.95
        set $USE_MYSYS_NEW even if CXX is g++
        yassl bugfixes
        instantiate all yassl templates explicitly
      
      
      client/Makefile.am:
        mysqlbinlog as a c++ program may need my_new.cc (if CXX=gcc)
        no FIX_GCC_LINKING_PROBLEM anymore - it's in my_new.cc
      client/mysqladmin.cc:
        no FIX_GCC_LINKING_PROBLEM anymore - it's in my_new.cc
      client/mysqlbinlog.cc:
        no FIX_GCC_LINKING_PROBLEM anymore - it's in my_new.cc
      configure.in:
        echo should be AC_MSG_WARN or AC_MSG_ERROR
        don't set -DUSE_MYSYS_NEW for gcc 2.95 (to restore old behaviour)
        set $USE_MYSYS_NEW even if CXX is g++ (for yassl, as it can be linked with C programs)
        remove -DDEFINE_CXA_PURE_VIRTUAL - -DUSE_MYSYS_NEW is enough
      extra/yassl/mySTL/list.hpp:
        bugfixes
      extra/yassl/src/Makefile.am:
        no need to mess with CXXFLAGS anymore. Instantiate all templates explicitly
      extra/yassl/src/crypto_wrapper.cpp:
        instantiate templates explicitly
      extra/yassl/src/yassl_imp.cpp:
        instantiate templates explicitly
      extra/yassl/src/yassl_int.cpp:
        instantiate templates explicitly
      extra/yassl/taocrypt/include/runtime.hpp:
        use -DUSE_MYSYS_NEW not -DDEFINE_CXA_PURE_VIRTUAL
        assert in __cxa_pure_virtual
        remove dummy (and thus dangerous) __cxa_guard_acquire/__cxa_guard_release
      extra/yassl/taocrypt/src/Makefile.am:
        no need to mess with CXXFLAGS anymore. Instantiate all templates explicitly
      extra/yassl/taocrypt/src/integer.cpp:
        instantiate templates explicitly
      extra/yassl/taocrypt/src/rsa.cpp:
        instantiate templates explicitly
      include/my_global.h:
        no FIX_GCC_LINKING_PROBLEM anymore - it's in my_new.cc
      mysys/my_new.cc:
        no FIX_GCC_LINKING_PROBLEM anymore - it's in my_new.cc
      server-tools/instance-manager/command.cc:
        no FIX_GCC_LINKING_PROBLEM anymore - it's in my_new.cc
      sql/ha_blackhole.cc:
        typo fixed
      sql/ha_innodb.cc:
        warning fixed
      sql/item_func.cc:
        use LL()
      sql/mysqld.cc:
        no FIX_GCC_LINKING_PROBLEM anymore - it's in my_new.cc
      d3d56609
    • 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
    • unknown's avatar
      Setting a variable to CAST(NULL as X) set the result type of the variable to X. (Bug #6598) · ac82a2d5
      unknown authored
      mysql-test/r/bigint.result:
        Test to show show that the parser threats big longlong values as unsigned
      mysql-test/r/user_var.result:
        Test of CAST(NULL as SIGNED/UNSIGNED)
      mysql-test/t/bigint.test:
        Test to show show that the parser threats big longlong values as unsigned
      mysql-test/t/user_var.test:
        Test of CAST(NULL as SIGNED/UNSIGNED)
      sql/item_func.cc:
        Setting a variable to CAST(NULL as X) set the result type of the variable to X. (Bug #6598)
        Setting a variable to NULL doesn't change the old result type.
      sql/item_func.h:
        Detect setting a variable to NULL
      sql/unireg.cc:
        Safety fix
      ac82a2d5
  24. 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
  25. 27 Apr, 2005 1 commit
    • unknown's avatar
      Post-review fixes of the patch for BUG#8408: Stored procedure crash if function contains SHOW · 5c44e1ac
      unknown authored
      (Review on irc by monty)
      
      
      mysql-test/r/sp-error.result:
        Renamed a procedure and function to avoid confusion
      mysql-test/t/sp-error.test:
        Renamed a procedure and function to avoid confusion
      sql/item_func.cc:
        Corrected (and better) way to set/reset the client cap. flag in Item_func_sp::execute()
      sql/share/errmsg.txt:
        Changed the ER_SP_BADSELECT error; more accurate, and includes the procedure name.
      sql/sql_parse.cc:
        Include the procedure name in the new error message.
      5c44e1ac
  26. 26 Apr, 2005 1 commit
    • unknown's avatar
      Fixed BUG#8408: Stored procedure crash if function contains SHOW · ede52616
      unknown authored
        We simply have to disallow any kind of result set being sent back
        from a function. Can't see any way to make that to work.
      
      
      mysql-test/r/sp-error.result:
        New test case for BUG#8408.
      mysql-test/t/sp-error.test:
        New test case for BUG#8408.
      sql/item_func.cc:
        Disable result sets from functions but temporarily turning CLIENT_MULTI_RESULTS off.
      sql/share/errmsg.txt:
        Added error message for statements not allowed in functions (detected during parsing).
      sql/sql_yacc.yy:
        Don't allow result sets in functions.
      ede52616