1. 26 May, 2005 4 commits
  2. 25 May, 2005 11 commits
    • unknown's avatar
      Merge mysql.com:/Users/kent/mysql/bk/mysql-5.0-build · 5752ecea
      unknown authored
      into mysql.com:/Users/kent/mysql/bk/mysql-5.0
      
      
      myisammrg/myrg_open.c:
        Auto merged
      mysys/my_getwd.c:
        Auto merged
      sql/unireg.cc:
        Auto merged
      5752ecea
    • unknown's avatar
      Fix MERGE tables on Microsoft Windows. This a backport of the · 55301a10
      unknown authored
      fix from the main 5.0 tree. (Bug #10687)
      
      
      myisammrg/myrg_open.c:
        Call fn_format() if file has a path.
      mysys/my_getwd.c:
        Check for '/' even if it is not FN_LIBCHAR in has_path()
      55301a10
    • unknown's avatar
      Move function from header file to make it easier to debug · 865b8917
      unknown authored
      
      sql/item.cc:
        Move function to make it easier to debug
      sql/item.h:
        Move function to make them easier to debug
      865b8917
    • unknown's avatar
      Merge hasky:/my/mysql-build into mysql.com:/home/my/mysql-5.0 · 5ec889c7
      unknown authored
      
      sql/sql_lex.h:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      5ec889c7
    • unknown's avatar
      Merge mysql.com:/data0/mysqldev/my/mysql-5.0-build · d8dbb838
      unknown authored
      into mysql.com:/data0/mysqldev/tomas/mysql-5.0-build
      
      
      d8dbb838
    • unknown's avatar
      2286913e
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · e38f06f7
      unknown authored
      into mysql.com:/home/my/mysql-5.0
      
      
      sql/sql_base.cc:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      e38f06f7
    • unknown's avatar
      Fix that we can read tables with the 'older' decimal format used in 5.0.3 & 5.0.4 · 1834f889
      unknown authored
      We will however give a warning when opening such a table that users should use ALTER TABLE ... FORCE to fix
      the table. In future release we will fix that REPAIR TABLE will be able to handle this case
      
      
      sql/sql_lex.h:
        Support for ALTER TABLE ... FORCE
      sql/sql_table.cc:
        CHECK TABLE now gives a note if table->s->crashed was set
      sql/sql_yacc.yy:
        Support for ALTER TABLE ... FORCE
      sql/table.cc:
        
        Fix that we can read tables with the 'older' decimal format used in 5.0.3 & 5.0.4
        (Now we store display length in the .frm table while we previously stored precision)
      sql/table.h:
        Store in TABLE_SHARE version number of MySQL where table was created (or checked)
      1834f889
    • unknown's avatar
      Cleanup's during review · c6283dbb
      unknown authored
      Added ASSERT() to detect wrongly packed fields
      
      
      sql/field.h:
        Fixed comments to right format
      sql/opt_range.cc:
        Merged code
      sql/sql_base.cc:
        Fixed indentation
      sql/sql_insert.cc:
        Fixed comments to right format
      sql/sql_select.cc:
        Simplify code
      sql/unireg.cc:
        Simply code for calculating key_buff_length
        Added ASSERT() to detect wrongly packed fields
      c6283dbb
    • unknown's avatar
      WL#2286 - Compile MySQL w/YASSL support · f0f9b595
      unknown authored
      Merge with latest yaSSL, fix compilation error for SSE2 processors.
      
      
      extra/yassl/include/yassl_int.hpp:
        Merge with latest yaSSL.
      extra/yassl/src/log.cpp:
        Merge with latest yaSSL.
      extra/yassl/src/yassl_int.cpp:
        Merge with latest yaSSL.
      extra/yassl/taocrypt/include/integer.hpp:
        Merge with latest yaSSL.
      extra/yassl/taocrypt/src/integer.cpp:
        Fix compilation error for SSE2 processors.
      f0f9b595
    • unknown's avatar
      srv0start.c: · d9d47c6a
      unknown authored
        innobase_shutdown_for_mysql(): Do very fast shutdown
        only if srv_fast_shutdown==2, not if srv_fast_shutdown!=0
        (Bug #9673)
      
      
      innobase/srv/srv0start.c:
        innobase_shutdown_for_mysql(): Do very fast shutdown
        only if srv_fast_shutdown==2, not if srv_fast_shutdown!=0
        (Bug #9673)
      d9d47c6a
  3. 24 May, 2005 16 commits
    • unknown's avatar
      Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-5.0 · 9ae42419
      unknown authored
      into xiphis.org:/usr/home/antony/work2/p3-bug7241.6
      
      
      9ae42419
    • unknown's avatar
      Fix after merge · e35bd059
      unknown authored
      e35bd059
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 424e4ee1
      unknown authored
      into mysql.com:/home/dlenev/src/mysql-5.0-bg5860
      
      
      424e4ee1
    • unknown's avatar
      Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0 · 3c50d954
      unknown authored
      into mysql.com:/home/svoj/devel/mysql/yassl-mysql-5.0
      
      
      3c50d954
    • unknown's avatar
      Upgrade yaSSL to 0.9.9. · 1ae7e564
      unknown authored
      1ae7e564
    • unknown's avatar
      Manual merge of patch fixing several trigger related bugs with main tree. · 896786ea
      unknown authored
      
      sql/item.cc:
        Auto merged
      sql/item.h:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_delete.cc:
        Auto merged
      sql/sql_insert.cc:
        Manual merge
      sql/sql_update.cc:
        Manual merge
      896786ea
    • unknown's avatar
      Fix for bugs: · 1fa7c69d
      unknown authored
       #5860 "Multi-table UPDATE does not activate update triggers"
       #6812 "Triggers are not activated for INSERT ... SELECT"
       #8755 "Trigger is not activated by LOAD DATA".
      This patch also implements proper handling of triggers for special forms
      of insert like REPLACE or INSERT ... ON DUPLICATE KEY UPDATE. 
      Also now we don't call after trigger in case when we have failed to
      inserted/update or delete row. Trigger failure should stop statement
      execution.
      
      I have not properly tested handling of errors which happen inside of
      triggers in this patch, since it is simplier to do this once we will be
      able to access tables from triggers.
      
      
      mysql-test/r/trigger.result:
        Added tests for triggers behavior for various non-standard forms of
        INSERT such as REPLACE and INSERT ... ON DUPLICATE KEY UPDATE.
        Also added tests for bugs #5860 "Multi-table UPDATE does not activate
        update triggers", #6812 "Triggers are not activated for INSERT ... SELECT"
        and #8755 "Trigger is not activated by LOAD DATA".
      mysql-test/t/trigger.test:
        Added tests for triggers behavior for various non-standard forms of
        INSERT such as REPLACE and INSERT ... ON DUPLICATE KEY UPDATE.
        Also added tests for bugs #5860 "Multi-table UPDATE does not activate
        update triggers", #6812 "Triggers are not activated for INSERT ... SELECT"
        and #8755 "Trigger is not activated by LOAD DATA".
      sql/item.cc:
        Since it turned out that at trigger loading time we can't say in which
        buffer TABLE::record[0] or record[1] old version of row will be stored
        we have to change our approach to binding of Item_trigger_field to
        Field instances.
        Now after trigger parsing (in Item_trigger_field::setup_table()) we only
        find index of proper Field in the TABLE::field array. Then before trigger
        is invoked we set Table_triggers_list::old_field/new_field so they point
        to arrays holding Field instances bound to buffers with proper row
        versions. And as last step in Item_trigger_field::fix_fields() we get
        pointer to Field from those arrays using saved field index.
        
        Item_trigger_field::setup_field()/fix_fields() were changed to implement
        this approach.
      sql/item.h:
        Since it turned out that at trigger loading time we can't say in which
        buffer TABLE::record[0] or record[1] old version of row will be stored
        we have to change our approach to binding of Item_trigger_field to
        Field instances.
        Now after trigger parsing (in Item_trigger_field::setup_table()) we only
        find index of proper Field in the TABLE::field array. Then before trigger
        is invoked we set Table_triggers_list::old_field/new_field so they point
        to arrays holding Field instances bound to buffers with proper row
        versions. And as last step in Item_trigger_field::fix_fields() we get
        pointer to Field from those arrays using saved field index.
        
        Item_trigger_field:
        - Added field_idx member to store index of Field object corresponding to
          this Item in TABLE::field array.
        - Added triggers member to be able to access to parent Table_trigger_list
          object from fix_fields() method.
        - setup_field() no longer needs to know for which type of event this
          trigger is, since it does not make decision Field for which buffer
          (record[0] or record[1] is appropriate for this Item_trigger_field)
      sql/mysql_priv.h:
        Added fill_record_n_invoke_before_triggers() methods. They are simple
        wrappers around fill_record() which invoke proper before trigger right
        after filling record with values.
      sql/sql_base.cc:
        Added fill_record_n_invoke_before_triggers() methods. They are simple
        wrappers around fill_record() which invoke proper before trigger right
        after filling record with values.
      sql/sql_delete.cc:
        mysql_delete():
          Now we stop statement execution if one of triggers failed, we also
          don't execute after delete trigger if we failed to delete row from
          the table (We also pass information about which buffer contains old
          version of row to process_triggers()).
        multi_delete::send_data()/do_deletes():
          Now we also invoke triggers in case of multi-delete.
      sql/sql_insert.cc:
        mysql_insert():
          Moved invocation of before triggers to fill_record_n_invoke_before_triggers()
          method. After triggers are now executed as part of write_record().
          (as nice side effect now we also stop statement execution if one of
          triggers fail).
        write_record():
          Invoke after insert trigger after performing insert. Also invoke proper
          triggers if insert is converted to update or conflicting row is deleted.
          Cleaned up error handling a bit - no sense to report error via
          handler::print_error if it was not generated by handler method and
          was reported before.
          Also now we will execute after trigger only if we really have written
          row to the table. 
        select_insert::send_data()/store_values():
          We should also execute INSERT triggers for INSERT ... SELECT statement.
      sql/sql_load.cc:
        read_fixed_length()/read_sep_field():
          We should execute INSERT triggers when processing LOAD DATA statement.
          Small cleanup in auto-increment related code. Also moved check for
          thd->killed which is used to abort LOAD DATA in case of problems
          in 'traditional' mode to better place..
      sql/sql_trigger.cc:
        Since it turned out that at trigger loading time we can't say in which
        buffer TABLE::record[0] or record[1] old version of row will be stored
        we have to change our approach to binding of Item_trigger_field to
        Field instances.
        Now after trigger parsing (in Item_trigger_field::setup_table()) we only
        find index of proper Field in the TABLE::field array. Then before trigger
        is invoked we set Table_triggers_list::old_field/new_field so they point
        to arrays holding Field instances bound to buffers with proper row
        versions. And as last step in Item_trigger_field::fix_fields() we get
        pointer to Field from those arrays using saved field index.
        
        Table_triggers_list methods were changed to implement this approach
        (see also comments for sql_trigger.h).
      sql/sql_trigger.h:
        Since it turned out that at trigger loading time we can't say in which
        buffer TABLE::record[0] or record[1] old version of row will be stored
        we have to change our approach to binding of Item_trigger_field to
        Field instances.
        Now after trigger parsing (in Item_trigger_field::setup_table()) we only
        find index of proper Field in the TABLE::field array. Then before trigger
        is invoked we set Table_triggers_list::old_field/new_field so they point
        to arrays holding Field instances bound to buffers with proper row
        versions. And as last step in Item_trigger_field::fix_fields() we get
        pointer to Field from those arrays using saved field index.
        
        Changed Table_triggers_list to implement this new approach:
        - Added record1_field member to store array of Field objects bound
          to TABLE::record[1] buffer (instead of existing old_field member)
        - Added new_field member and changed meaning of old_field member.
          During trigger execution they should point to arrays of Field objects
          bound to buffers holding new and old versions of row respectively.
        - Added 'table' member to be able to get access to TABLE instance
          (for which this trigger list object was created) from process_triggers()
          method.
        - Now process_triggers() method sets old_field and new_field members
          properly before executing triggers body (basing on new 
          old_row_is_record1 parameter value).
        - Renamed prepare_old_row_accessors_method() to prepare_record1_accessors()
        
        Also added has_before_update_triggers() method which allows to check
        whenever any before update triggers exist for table.
      sql/sql_update.cc:
        mysql_update():
          Now we invoke before triggers in fill_record_n_invoke_before_triggers()
          method. Also now we abort statement execution when one of triggers fail.
        safe_update_on_fly():
          When we are trying to understand if we can update first table in multi
          update on the fly we should take into account that BEFORE UPDATE
          trigger can change field values.
        multi_update::send_data()/do_updates()
          We should execute proper triggers when doing multi-update
          (in both cases when we do it on the fly and using temporary tables).
      1fa7c69d
    • unknown's avatar
      ha_archive.cc: · cfb54ed5
      unknown authored
        Use local seach path for "mysql_priv.h"
      mysqld.dsp:
        Added the ARCHIVE storage engine to max
      ha_archive.h:
        VC6, but not VC7, needs a cast of byte[] to char* to make
        the compile select the right conversion function in String
      
      
      sql/examples/ha_archive.h:
        VC6, but not VC7, needs a cast of byte[] to char* to make
        the compile select the right conversion function in String
      VC++Files/sql/mysqld.dsp:
        Added the ARCHIVE storage engine to max
      sql/examples/ha_archive.cc:
        Use local seach path for "mysql_priv.h"
      cfb54ed5
    • unknown's avatar
      Merge · 879d932b
      unknown authored
      
      mysql-test/r/lock.result:
        Auto merged
      mysql-test/r/rpl_log.result:
        Auto merged
      mysql-test/t/lock.test:
        Auto merged
      mysql-test/r/rpl_rotate_logs.result:
        SCCS merged
      sql/sql_parse.cc:
        SCCS merged
      sql/sql_repl.cc:
        SCCS merged
      879d932b
    • unknown's avatar
      Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-4.1 · 3a23b675
      unknown authored
      into xiphis.org:/usr/home/antony/work2/p3-bug7241.5
      
      
      3a23b675
    • unknown's avatar
      Add comments · 1a8f64d7
      unknown authored
      1a8f64d7
    • unknown's avatar
      8ddb0ddc
    • unknown's avatar
      Bug#7241 - Invalid response when DELETE .. USING and LOCK TABLES used. · efc7b884
      unknown authored
        Only acquire necessary write lock for multi-delete
      
      
      mysql-test/r/lock.result:
        Test for Bug#7241
      mysql-test/t/lock.test:
        Test for Bug#7241
      sql/sql_parse.cc:
        Bug#7241
          Don't acquire write lock on all tables.
          Make sure to set lock_type on real table_list
      efc7b884
    • unknown's avatar
      Merge gluh@gluh:/home/gluh/release/mysql-5.0-build · d0afc349
      unknown authored
      into mysql.com:/home/gluh/MySQL/Merge/mysql-5.0
      
      
      d0afc349
    • unknown's avatar
      f9433acc
    • unknown's avatar
      Merge pmartin@bk-internal.mysql.com:/home/bk/mysql-5.0 · ab1ba134
      unknown authored
      into mysql.com:/home/pem/work/mysql-5.0
      
      
      ab1ba134
  4. 23 May, 2005 9 commits
    • unknown's avatar
    • unknown's avatar
      Merge bk-internal.mysql.com:/data0/bk/mysql-4.1 · 0e4afc24
      unknown authored
      into bk-internal.mysql.com:/data0/bk/mysql-5.0
      
      
      BitKeeper/etc/gone:
        auto-union
      BitKeeper/etc/logging_ok:
        auto-union
      mysql-test/r/lowercase_table.result:
        Auto merged
      mysql-test/t/lowercase_table.test:
        Auto merged
      mysys/my_open.c:
        Auto merged
      0e4afc24
    • unknown's avatar
      marking the file gone again to hopefully get the tree on its feet · b6c1f230
      unknown authored
      
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      b6c1f230
    • unknown's avatar
      Fixed on BUG#6048: Stored procedure causes operating system reboot · 9c79a9d6
      unknown authored
        Memory leak in locally evalutated expressions during SP execution fixed by
        reusing allocated item slots when possible.
        Note: No test case added, since the test is a stress test that tries to make
        the machine to run out of memory.
        Second attempt, now tested with debug build, valgrind build, max (optimized)
        build, with and without --debug, --vagrind and --ps-protocol.
        Errors in trigger and view test with --debug in debug build where present
        before this patch, and likewise for valgrind warnings for view test in
        valgrind build with --ps-protocol.
      
      
      sql/item.cc:
        Init rsize in Item (for SP item reusal).
      sql/item.h:
        Addes special new operator for reuse of Items, for SP internal use only.
      sql/sp_head.cc:
        Reuse items assigned internally in SPs when possible.
      sql/sp_rcontext.cc:
        Reuse items assigned internally in SPs when possible.
        Moved the local variable assignment here (from sp_head) to avoid
        duplicated code.
      sql/sp_rcontext.h:
        New arg to sp_rcontext::set_item_eval() (and some coding style).
      sql/sql_class.cc:
        Adjusted call to new set_item_eval().
      9c79a9d6
    • unknown's avatar
      BUG# 9148 Denial of service · 97bde75e
      unknown authored
      fixups of test case and comment formatting
      
      
      BitKeeper/deleted/.del-reserved_win_names-master.opt~e56da049a7ce9a5b:
        ***MISSING TEXT***
      mysql-test/r/lowercase_table.result:
        added my test for bug #9148 to this test case
      mysql-test/t/lowercase_table.test:
        added my test for bug #9148 to this test case
      mysys/my_fopen.c:
        reformatted comments
      mysys/my_open.c:
        reformatted comments
      97bde75e
    • unknown's avatar
      mysqld.dsp: · 87f3b9f4
      unknown authored
        Added BLACKHOLE and FEDERATED storage engines for max builds
        Some preparations for including yaSSL
      ha_federated.cc:
        Use local seach path for "mysql_priv.h"
      
      
      sql/ha_federated.cc:
        Use local seach path for "mysql_priv.h"
      VC++Files/sql/mysqld.dsp:
        Added BLACKHOLE and FEDERATED storage engines for max builds
        Some preparations for including yaSSL
      87f3b9f4
    • unknown's avatar
    • unknown's avatar
      A comment for view_prepare_mode. · ad9eba22
      unknown authored
      
      sql/sql_lex.h:
        A comment.
      ad9eba22
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · cb46f9c5
      unknown authored
      into neptunus.(none):/home/msvensson/mysql/mysql-5.0-tmp
      
      
      include/my_global.h:
        Auto merged
      ndb/src/cw/cpcd/Process.cpp:
        Auto merged
      strings/my_vsnprintf.c:
        Auto merged
      cb46f9c5