Commit graph

23213 commits

Author SHA1 Message Date
unknown
6a77c469f3 init_db.sql:
Updated test data in system tables


mysql-test/lib/init_db.sql:
  Updated test data in system tables
2005-05-26 02:07:13 +02:00
unknown
5752ecea95 Merge mysql.com:/Users/kent/mysql/bk/mysql-5.0-build
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
2005-05-26 01:38:29 +02:00
unknown
55301a10b4 Fix MERGE tables on Microsoft Windows. This a backport of the
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()
2005-05-25 14:41:50 -07:00
unknown
865b8917d6 Move function from header file to make it easier to debug
sql/item.cc:
  Move function to make it easier to debug
sql/item.h:
  Move function to make them easier to debug
2005-05-26 00:18:24 +03:00
unknown
5ec889c798 Merge hasky:/my/mysql-build into mysql.com:/home/my/mysql-5.0
sql/sql_lex.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2005-05-25 19:55:01 +03:00
unknown
d8dbb83848 Merge mysql.com:/data0/mysqldev/my/mysql-5.0-build
into mysql.com:/data0/mysqldev/tomas/mysql-5.0-build
2005-05-25 18:54:47 +02:00
unknown
7e5651ca17 Manual merge. 2005-05-25 18:11:03 +02:00
unknown
2286913e7f Bug #10838 CREATE TABLE produces strange DEFAULT value 2005-05-25 17:54:36 +02:00
unknown
e38f06f7ff Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/my/mysql-5.0


sql/sql_base.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
2005-05-25 18:38:29 +03:00
unknown
1834f8899f Fix that we can read tables with the 'older' decimal format used in 5.0.3 & 5.0.4
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)
2005-05-25 18:33:36 +03:00
unknown
c6283dbba9 Cleanup's during review
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
2005-05-25 18:33:32 +03:00
unknown
ce11270fc1 Added a missing "make clean" to the RPM "spec" file which had caused the original 4.1.12 RPMs to be broken.
(bug#10674, bug#10681)


support-files/mysql.spec.sh:
  Added a missing "make clean" which had caused the original 4.1.12 RPMs to be broken.
  (bug#10674, bug#10681)
2005-05-25 16:24:07 +02:00
unknown
f0f9b5959e WL#2286 - Compile MySQL w/YASSL support
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.
2005-05-25 19:11:36 +05:00
unknown
aa3a934b9d Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1


sql/sql_parse.cc:
  Auto merged
2005-05-25 12:57:29 +03:00
unknown
549f56dc3d Cleanup during code review
Faster detection of wrong table names (like PRN) on windows


include/my_sys.h:
  Added check_if_legal_filename()
mysys/my_access.c:
  Added check_if_legal_filename()
  Set errno if my_access() fails
mysys/my_fopen.c:
  USe check_if_legal_filename() instead of my_access() to detect wrong file names on windows
mysys/my_open.c:
  USe check_if_legal_filename() instead of my_access() to detect wrong file names on windows
sql/sql_lex.cc:
  Portability fix
sql/sql_parse.cc:
  Simple cleanup
sql/sql_repl.cc:
  Cleanup during code review
2005-05-25 12:56:47 +03:00
unknown
d9d47c6a6f srv0start.c:
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)
2005-05-25 12:41:57 +03:00
unknown
827db5e40c Use one err file for each master
mysql-test/mysql-test-run.sh:
  Add master id to end of MASTER_MY_ERR  so that both masters doesnt write to the same file.
2005-05-25 11:10:10 +02:00
unknown
605f7061dc BUG#10831 ndb mgmd LogDestination maxfiles does not rotate logs properly
ndb/src/common/util/File.cpp:
  my_stat returns NULL on failure, not non-zero.
  
  i.e. exactly the opposite of stat(2).
  
  providing confusion for unix programmers, who expect errors to be non-zero.
  
  Clean up File_class::exists(char*) to use the my_stat interface properly.
2005-05-25 15:35:51 +10:00
unknown
5b77d9b8f3 BUG#10796 Incorrect check-cpu result for ppc linux gcc
BUILD/check-cpu:
  Add no_march variable to indicate that this architecture doesn't support the -march flag to GCC
2005-05-25 12:18:18 +10:00
unknown
b4508ef33a changes to fix joins not working (bug #10848). New tests, as well as table->status being set in index_read_idx
mysql-test/r/federated.result:
  new join test results
mysql-test/t/federated.test:
  new simple join tests (more to come with subsequent commits)
sql/ha_federated.cc:
  This fixes joins not working. Monty discussed that having to deal 
  with table->status needs to be moved from the handler/storage engine
  to a higher level
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2005-05-25 02:15:09 +02:00
unknown
9ae4241994 Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-5.0
into xiphis.org:/usr/home/antony/work2/p3-bug7241.6
2005-05-24 22:51:02 +01:00
unknown
e35bd059c0 Fix after merge 2005-05-24 22:31:57 +01:00
unknown
e07f6ebf7f Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.1
into sinisa.nasamreza.org:/mnt/work/mysql-4.1
2005-05-24 22:44:18 +03:00
unknown
424e4ee17b Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/dlenev/src/mysql-5.0-bg5860
2005-05-24 23:39:25 +04:00
unknown
3c50d95437 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/svoj/devel/mysql/yassl-mysql-5.0
2005-05-25 00:27:38 +05:00
unknown
1ae7e564ec Upgrade yaSSL to 0.9.9. 2005-05-25 00:15:06 +05:00
unknown
d839f3a97a Merge serg@bk-internal.mysql.com:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2005-05-24 21:06:45 +02:00
unknown
d3f7ec3089 simplifying new/my_arg_new wrapping 2005-05-24 21:02:42 +02:00
unknown
896786eadd Manual merge of patch fixing several trigger related bugs with main tree.
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
2005-05-24 22:35:41 +04:00
unknown
1fa7c69d31 Fix for bugs:
#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).
2005-05-24 22:19:33 +04:00
unknown
5e5eb0a64b Merge baker@bk-internal.mysql.com:/home/bk/mysql-4.1
into zim.(none):/home/brian/mysql/mysql-4.1
2005-05-24 10:48:03 -07:00
unknown
cfb54ed514 ha_archive.cc:
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"
2005-05-24 18:51:53 +02:00
unknown
be9845b004 Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.1
into sinisa.nasamreza.org:/mnt/work/mysql-4.1
2005-05-24 19:47:18 +03:00
unknown
edcc645b8e Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-4.1
into ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1
2005-05-24 18:23:31 +03:00
unknown
879d932ba9 Merge
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
2005-05-24 15:52:48 +01:00
unknown
801c2c275a Added a test case for Bug#8009.
sql/item.cc:
  Fixed Bug#8009.
2005-05-24 17:50:17 +03:00
unknown
8643958c5f Merge rburnett@bk-internal.mysql.com:/home/bk/mysql-4.1
into mdk10.(none):/home/reggie/bk/41test2
2005-05-24 09:02:56 -05:00
unknown
6a96b815e7 removed unneeded reserved_win_names testcase
BitKeeper/deleted/.del-reserved_win_names.test~334b02776c4247a7:
  Delete: mysql-test/t/reserved_win_names.test
BitKeeper/deleted/.del-reserved_win_names.require~be6a130b5430085f:
  Delete: mysql-test/r/reserved_win_names.require
BitKeeper/deleted/.del-reserved_win_names.result~ea458226c0df5337:
  Delete: mysql-test/r/reserved_win_names.result
2005-05-24 09:01:06 -05:00
unknown
3a23b67566 Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-4.1
into xiphis.org:/usr/home/antony/work2/p3-bug7241.5
2005-05-24 13:40:25 +01:00
unknown
1a8f64d715 Add comments 2005-05-24 13:38:46 +01:00
unknown
8ddb0ddc5c Print information about XA recovery only if there are prepared XA transactions
after recovery.
2005-05-24 14:06:44 +03:00
unknown
efc7b884eb Bug#7241 - Invalid response when DELETE .. USING and LOCK TABLES used.
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
2005-05-24 11:44:34 +01:00
unknown
d0afc3492e Merge gluh@gluh:/home/gluh/release/mysql-5.0-build
into mysql.com:/home/gluh/MySQL/Merge/mysql-5.0
2005-05-24 15:35:24 +05:00
unknown
f9433acc81 Fix for bug #10659: information_schema_db fail on Mac OS 2005-05-24 14:35:23 +04:00
unknown
ab1ba1341c Merge pmartin@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/pem/work/mysql-5.0
2005-05-24 10:19:10 +02:00
unknown
b36f9f2eed Merge mysql.com:/home/bkroot/mysql-4.1 into mysql.com:/home/bk/c4944-4.1 2005-05-24 01:09:23 +02:00
unknown
0e4afc2412 Merge bk-internal.mysql.com:/data0/bk/mysql-4.1
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
2005-05-24 00:31:28 +02:00
unknown
b6c1f2302a marking the file gone again to hopefully get the tree on its feet
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2005-05-23 23:54:39 +02:00
unknown
9c79a9d691 Fixed on BUG#6048: Stored procedure causes operating system reboot
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().
2005-05-23 23:43:43 +02:00
unknown
97bde75e4e BUG# 9148 Denial of service
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
2005-05-23 14:48:25 -05:00