1. 24 May, 2005 6 commits
    • 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
      8ddb0ddc
    • 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
  2. 23 May, 2005 18 commits
    • 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
      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
    • unknown's avatar
      Merge rburnett@bk-internal.mysql.com:/home/bk/mysql-5.0 · 7d185f5d
      unknown authored
      into mdk10.(none):/home/reggie/bk/mysql-5.0
      
      
      7d185f5d
    • unknown's avatar
      merged changes from 4.1 · b096c34d
      unknown authored
      
      include/my_global.h:
        Auto merged
      ndb/src/cw/cpcd/Process.cpp:
        Auto merged
      ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp:
        Auto merged
      strings/my_vsnprintf.c:
        Auto merged
      b096c34d
    • unknown's avatar
      BUG#10687 - Merge engine fails under Windows · 67c5514b
      unknown authored
      This final cset is to fix a syntax problem in ha_myisammrg.cc where a / was left out of a format string.
      It also adds a check in has_path to avoid a possible redundant comparison.
      
      ha_myisammrg.cc:
        Replaced missing / in format string
      my_getwd.c:
        Added test to see if FN_LIBCHAR != '/' before doing comparison to avoid redundant comparison
      
      
      mysys/my_getwd.c:
        Added test to see if FN_LIBCHAR != '/' before doing comparison to avoid redundant comparison
      sql/ha_myisammrg.cc:
        Replaced missing / in format string
      67c5514b
    • unknown's avatar
      Merge rburnett@bk-internal.mysql.com:/home/bk/mysql-4.1 · 1b2a2c86
      unknown authored
      into mdk10.(none):/home/reggie/bk/mysql-4.1
      
      
      1b2a2c86
    • unknown's avatar
      BUG# 10687: Merge engine fails under Windows · 36b3f0a0
      unknown authored
      This cset is to roll out the cset applied earlier from Ingo.
      This bug has been fixed with a different cset.
      
      
      
      sql/ha_myisammrg.cc:
        removed the patch applied earlier
      strings/my_vsnprintf.c:
        removed the patch applied earlier.  The patch was to add %c ability.  
        Monty has already done this.
      36b3f0a0
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0.6-build · 3e2417ed
      unknown authored
      into neptunus.(none):/home/msvensson/mysql/mysql-5.0-tmp
      
      
      VC++Files/mysys/mysys.dsp:
        Auto merged
      include/my_global.h:
        Auto merged
      myisam/rt_split.c:
        Auto merged
      sql/field_conv.cc:
        Auto merged
      sql/sql_delete.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      strings/my_vsnprintf.c:
        Auto merged
      3e2417ed
    • unknown's avatar
      Build fixes for icc, compile _without_ "-no-gnu" · 3ca4caef
      unknown authored
      
      include/my_global.h:
        icc does not define __ICC when emulating gcc. Use __INTEL_COMPILER to check for icc.
      ndb/src/cw/cpcd/Process.cpp:
        Remove rlimit64
      ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp:
        Remove dirent64
      3ca4caef
    • unknown's avatar
      BUG# 10687: MERGE Engine fails on Windows · 6b964f0f
      unknown authored
      This is a replacement for the original patch given by Ingo.  This one comes
      from Monty.
      The problem is that merge files now use unix style pathnames on all 
      platforms.  The merge file open code was not properly converting those
      pathnames back to non-unix when necessary.
      
      
      myisammrg/myrg_open.c:
        use fn_format to convert pathnames if the files in the merge file have a pathname
      mysys/my_getwd.c:
        add a test for '/' in the code that determines if a string inlucdes a pathname
      6b964f0f
    • unknown's avatar
      Removing mysqlshutdown and mysqlwatch from the Windows packages, removing their sources. · 7ff2a5a5
      unknown authored
      They were both undocumented and not much useful. Removal has been agreed with Mark, Miguel and MikeZ.
      Removing winmysqladmin from the source (it was not included anymore in no Windows package). I'll do a test Windows noinstall.zip build before push.
      MikeZ just removed mysqlshutdown and mysqlwatch from the installer scripts.
      
      
      BitKeeper/deleted/.del-myshutdown.dsp~a8eee34a3d3ab679:
        Delete: VC++Files/mysqlshutdown/myshutdown.dsp
      BitKeeper/deleted/.del-myshutdown_ia64.dsp~dd2ad23d744ba1ba:
        Delete: VC++Files/mysqlshutdown/myshutdown_ia64.dsp
      BitKeeper/deleted/.del-mysql.ico~d4c55da4e911ced7:
        Delete: VC++Files/mysqlshutdown/mysql.ico
      BitKeeper/deleted/.del-mysqlshutdown.c~35d5feec4507d810:
        Delete: VC++Files/mysqlshutdown/mysqlshutdown.c
      BitKeeper/deleted/.del-mysqlshutdown.dsp~27db1e088d39987c:
        Delete: VC++Files/mysqlshutdown/mysqlshutdown.dsp
      BitKeeper/deleted/.del-mysqlshutdown.rc~454359c66381843c:
        Delete: VC++Files/mysqlshutdown/mysqlshutdown.rc
      BitKeeper/deleted/.del-mysqlshutdown_ia64.dsp~53fe7127af678bc:
        Delete: VC++Files/mysqlshutdown/mysqlshutdown_ia64.dsp
      BitKeeper/deleted/.del-mysqlwatch.c~de504821ede1cb8:
        Delete: VC++Files/mysqlwatch/mysqlwatch.c
      BitKeeper/deleted/.del-mysqlwatch.dsp~4699ddfb6ed23a6d:
        Delete: VC++Files/mysqlwatch/mysqlwatch.dsp
      BitKeeper/deleted/.del-mysqlwatch_ia64.dsp~1a11ce58f66a493:
        Delete: VC++Files/mysqlwatch/mysqlwatch_ia64.dsp
      BitKeeper/deleted/.del-db.cpp~6bbc3687ff8a2913:
        Delete: VC++Files/winmysqladmin/db.cpp
      BitKeeper/deleted/.del-db.h~e38deaf45dffa24d:
        Delete: VC++Files/winmysqladmin/db.h
      BitKeeper/deleted/.del-initsetup.cpp~b988f9ab7dbe4e92:
        Delete: VC++Files/winmysqladmin/initsetup.cpp
      BitKeeper/deleted/.del-initsetup.h~bc2a39769765e1a5:
        Delete: VC++Files/winmysqladmin/initsetup.h
      BitKeeper/deleted/.del-main.cpp~f822deb513ce0250:
        Delete: VC++Files/winmysqladmin/main.cpp
      BitKeeper/deleted/.del-Goahead.ico~805e753b7f13c6b7:
        Delete: VC++Files/winmysqladmin/images/Goahead.ico
      BitKeeper/deleted/.del-main.h~d17e73cf0b0cbf8:
        Delete: VC++Files/winmysqladmin/main.h
      BitKeeper/deleted/.del-mysql.h~a538c356e526804b:
        Delete: VC++Files/winmysqladmin/mysql.h
      BitKeeper/deleted/.del-mysql_com.h~8828acc269ca5036:
        Delete: VC++Files/winmysqladmin/mysql_com.h
      BitKeeper/deleted/.del-mysql_version.h~674dd1127ee25880:
        Delete: VC++Files/winmysqladmin/mysql_version.h
      BitKeeper/deleted/.del-winmysqladmin.cpp~bfac61f49813a983:
        Delete: VC++Files/winmysqladmin/winmysqladmin.cpp
      BitKeeper/deleted/.del-HELP.ICO~6b91d6eff4a7b11e:
        Delete: VC++Files/winmysqladmin/images/HELP.ICO
      BitKeeper/deleted/.del-INFO.ICO~b1eb08e87e0c1c3e:
        Delete: VC++Files/winmysqladmin/images/INFO.ICO
      BitKeeper/deleted/.del-Info.bmp~9c3c5afea29fa9b7:
        Delete: VC++Files/winmysqladmin/images/Info.bmp
      BitKeeper/deleted/.del-MYINI.ICO~91c77cc71d665f4:
        Delete: VC++Files/winmysqladmin/images/MYINI.ICO
      BitKeeper/deleted/.del-Myini.bmp~6cea36edbb94df3a:
        Delete: VC++Files/winmysqladmin/images/Myini.bmp
      BitKeeper/deleted/.del-Noentry.ico~6791fac163575069:
        Delete: VC++Files/winmysqladmin/images/Noentry.ico
      BitKeeper/deleted/.del-SETUP.BMP~43bd1e614fc7e5d5:
        Delete: VC++Files/winmysqladmin/images/SETUP.BMP
      BitKeeper/deleted/.del-Setup 16.bmp~9a9bf24a5dd952f3:
        Delete: VC++Files/winmysqladmin/images/Setup 16.bmp
      BitKeeper/deleted/.del-Table.ico~d64bf78e407b5e50:
        Delete: VC++Files/winmysqladmin/images/Table.ico
      BitKeeper/deleted/.del-Working.ico~f5cf304a7b6e592c:
        Delete: VC++Files/winmysqladmin/images/Working.ico
      BitKeeper/deleted/.del-database.ico~df8562312d9d9ed8:
        Delete: VC++Files/winmysqladmin/images/database.ico
      BitKeeper/deleted/.del-find.ico~44644ca5bab7901e:
        Delete: VC++Files/winmysqladmin/images/find.ico
      BitKeeper/deleted/.del-green.ico~88749a9a4ff83d25:
        Delete: VC++Files/winmysqladmin/images/green.ico
      BitKeeper/deleted/.del-help.bmp~bb6ac08cf7ab60d7:
        Delete: VC++Files/winmysqladmin/images/help.bmp
      BitKeeper/deleted/.del-initsetup.cpp~6704e992d966647f:
        Delete: VC++Files/winmysqladmin/images/initsetup.cpp
      BitKeeper/deleted/.del-killdb.ico~1043773bac9da67c:
        Delete: VC++Files/winmysqladmin/images/killdb.ico
      BitKeeper/deleted/.del-logo.ico~f00b08cd64695232:
        Delete: VC++Files/winmysqladmin/images/logo.ico
      BitKeeper/deleted/.del-multitrg.ico~52f787d7d9509533:
        Delete: VC++Files/winmysqladmin/images/multitrg.ico
      BitKeeper/deleted/.del-mysql-07.bmp~c157a2c3573b5c27:
        Delete: VC++Files/winmysqladmin/images/mysql-07.bmp
      BitKeeper/deleted/.del-mysql-17.bmp~99b3c90f96a9964b:
        Delete: VC++Files/winmysqladmin/images/mysql-17.bmp
      BitKeeper/deleted/.del-mysql.BMP~b58fe4f0c416291:
        Delete: VC++Files/winmysqladmin/images/mysql.BMP
      BitKeeper/deleted/.del-red.ico~179f5587e5a706c9:
        Delete: VC++Files/winmysqladmin/images/red.ico
      BitKeeper/deleted/.del-red22.BMP~bc47efefee4a5a86:
        Delete: VC++Files/winmysqladmin/images/red22.BMP
      BitKeeper/deleted/.del-see.bmp~c6863c3564387841:
        Delete: VC++Files/winmysqladmin/images/see.bmp
      VC++Files/mysql.dsw:
        removing mysqlshutdown and mysqlwatch
      VC++Files/mysql_ia64.dsw:
        removing mysqlshutdown and mysqlwatch
      7ff2a5a5
    • unknown's avatar
      Build fix · d35e537a
      unknown authored
      
      include/my_global.h:
        Look for __INTEL_COMPILER to detect icc
      d35e537a
    • unknown's avatar
      Build fix · c1248c42
      unknown authored
      
      ndb/src/cw/cpcd/Process.cpp:
        Remove ifdef for icc
        Shouldn't need to define rlimit64
      c1248c42
  3. 22 May, 2005 2 commits
    • unknown's avatar
      ndb - NdbDictionaryImpl.cpp: fix access to freed memory · 4694d124
      unknown authored
      
      ndb/src/ndbapi/NdbDictionaryImpl.cpp:
        fix access to freed memory
      4694d124
    • unknown's avatar
      misc.hpp: · 6f3718e4
      unknown authored
        Check _LONGLONG_TYPE as well, to define 'word64', to make it
        work on Solaris 10 x86_64.
        Can't assume all x86_64 share the same assembler syntax.
        For now disabled assembler for x86_64 and Solaris.
      
      
      extra/yassl/taocrypt/include/misc.hpp:
        Check _LONGLONG_TYPE as well, to define 'word64', to make it
        work on Solaris 10 x86_64.
        Can't assume all x86_64 share the same assembler syntax.
        For now disabled assembler for x86_64 and Solaris.
      6f3718e4
  4. 21 May, 2005 7 commits
    • unknown's avatar
      default_modify.c: · 05e65823
      unknown authored
        Use MY_STAT to declare argument to my_fstat()
      des_key_file.cc:
        Use local seach path for "mysql_priv.h"
      mysys.dsp, libmysqld.dsp, libmysql.dsp:
        New file needed, "../mysys/default_modify.c"
      
      
      VC++Files/libmysql/libmysql.dsp:
        New file needed, "../mysys/default_modify.c"
      VC++Files/libmysqld/libmysqld.dsp:
        New file needed, "../mysys/default_modify.c"
      VC++Files/mysys/mysys.dsp:
        New file needed, "../mysys/default_modify.c"
      sql/des_key_file.cc:
        Use local seach path for "mysql_priv.h"
      mysys/default_modify.c:
        Use MY_STAT to declare argument to my_fstat()
      05e65823
    • unknown's avatar
      BUG# 9148: Denial of service · 442c072f
      unknown authored
      This is a second patch needing another review.  The first patch didn't solve
      the entire problem.  open and fopen on Windows will still open
      files like "com1.sym" when they shouldn't.  This patch
      checks that the file exists before trying to open it.
      
      
      
      mysys/my_fopen.c:
        on Windows, if we are not creating a file the we call my_access to make sure the
        file exists before trying to open it.
      mysys/my_open.c:
        on Windows, if we are not creating a file the we call my_access to make sure the
        file exists before trying to open it.
      442c072f
    • unknown's avatar
      ha_innodb.cc: · 982bd00d
      unknown authored
        The natural InnoDB type for NEWDECIMAL is FIXBINARY, not BINARY, since there probably is no benefit from stripping trailing bytes 0x20; note that tables created with 5.0.6 and containing DECIMAL do not need to be rebuilt, as BINARY works as well; note that because of Jani's fix to bug 10465, tables created with 5.0.? - 5.0.5 DO NEED TO BE REBUILT if they contain DECIMAL
      
      
      sql/ha_innodb.cc:
        The natural InnoDB type for NEWDECIMAL is FIXBINARY, not BINARY, since there probably is no benefit from stripping trailing bytes 0x20; note that tables created with 5.0.6 and containing DECIMAL do not need to be rebuilt, as BINARY works as well; note that because of Jani's fix to bug 10465, tables created with 5.0.? - 5.0.5 DO NEED TO BE REBUILT if they contain DECIMAL
      982bd00d
    • unknown's avatar
      join_outer.test, join_outer.result: · 6df49889
      unknown authored
        Added test cases for bug #9938.
      item.h:
        Fixed bug #9938: missing method not_null_tables for Item_ref.
      
      
      sql/item.h:
        Fixed bug #9938: missing method not_null_tables for Item_ref.
      mysql-test/t/join_outer.test:
        Added test cases for bug #9938.
      6df49889
    • unknown's avatar
      sql_select.cc: · e2e90649
      unknown authored
        Added missing comment for fix of #10561.
      
      
      sql/sql_select.cc:
        Added missing comment for fix of #10561.
      e2e90649
    • unknown's avatar
      opt_range.cc: · d844dab1
      unknown authored
        Post review corrections for optimization request #10561.
      
      
      sql/opt_range.cc:
        Post review corrections for optimization request #10561.
      d844dab1
    • unknown's avatar
      range.result, range.test: · 8f7bca3a
      unknown authored
        Added test cases for optimization request #10561.
      opt_range.cc, sql_select.cc:
        Fixed bug #10561: an optimization request to allow
        range analysis for NOT IN and NOT BETWEEN.
      
      
      sql/sql_select.cc:
        Fixed bug #10561: an optimization request to allow
        range analysis for NOT IN and NOT BETWEEN.
      sql/opt_range.cc:
        Fixed bug #10561: an optimization request to allow
        range analysis for NOT IN and NOT BETWEEN.
      mysql-test/t/range.test:
        Added test cases for optimization request #10561.
      mysql-test/r/range.result:
        Added test cases for optimization request #10561.
      8f7bca3a
  5. 20 May, 2005 7 commits
    • unknown's avatar
      Merge mdk10.(none):/home/reggie/bk/bug9148 · c273526d
      unknown authored
      into mdk10.(none):/home/reggie/bk/mysql-5.0
      
      
      c273526d
    • unknown's avatar
      9b8e0274
    • unknown's avatar
      fixed conflicts · 606d8a5a
      unknown authored
      
      VC++Files/mysys/mysys.dsp:
        Auto merged
      include/my_sys.h:
        Auto merged
      sql/sql_db.cc:
        Auto merged
      606d8a5a
    • unknown's avatar
      Merge rburnett@bk-internal.mysql.com:/home/bk/mysql-5.0 · 03e26e50
      unknown authored
      into mdk10.(none):/home/reggie/bk/mysql-5.0
      
      
      sql/spatial.cc:
        Auto merged
      03e26e50
    • unknown's avatar
      BUG# 9148: Denial of service · c1ae672a
      unknown authored
      The problem was that on Windows the access method indicates that access to file 
      such as "com1" and "lpt1" is allowed (since they are device names) and
      this causes mysql to attempt to open them as databases or tables.
      
      The fix was to write our own my_access method that uses other Win32 functions
      to determine if the given argument is indeed a file and has to requested
      mode.
      
      
      VC++Files/mysys/mysys.dsp:
        added my_access
      VC++Files/mysys/mysys_ia64.dsp:
        added my_access.c
      include/my_sys.h:
        if on windows, we use my_access.
        if not on windows, then my_access points to the native access method
      mysys/Makefile.am:
        added my_access to mysys build file
      mysys/mf_pack.c:
        changed call to access to my_access
      sql/sql_db.cc:
        changed call to access to my_access
      c1ae672a
    • unknown's avatar
      yaSSL fixes for Sun Forte 7 · fd6acea2
      unknown authored
      
      extra/yassl/include/yassl_types.hpp:
        A fix for Sun Forte 7
      extra/yassl/mySTL/helpers.hpp:
        Better comment for the previous fix.
      extra/yassl/mySTL/list.hpp:
        A fix for Sun Forte 7
      fd6acea2
    • unknown's avatar
      Merge mysql.com:/usr/local/bk/mysql-5.0 · b07d4dfc
      unknown authored
      into mysql.com:/home/pem/work/mysql-5.0
      
      
      b07d4dfc