Commit graph

30754 commits

Author SHA1 Message Date
unknown
67fd3c4a53 A fix and a test case for Bug#15217 "Using a SP cursor on a table created
with PREPARE fails with weird error".
More generally, re-executing a stored procedure with a complex SP cursor query
could lead to a crash.

The cause of the problem was that SP cursor queries were not optimized 
properly at first execution: their parse tree belongs to sp_instr_cpush,
not sp_instr_copen, and thus the tree was tagged "EXECUTED" when the
cursor was declared, not when it was opened. This led to loss of optimization
transformations performed at first execution, as sp_instr_copen saw that the
query is already "EXECUTED" and therefore either not ran first-execution 
related blocks or wrongly rolled back the transformations caused by 
first-execution code.
The fix is to update the state of the parsed tree only when the tree is
executed, as opposed to when the instruction containing the tree is executed.
Assignment if i->state is moved to reset_lex_and_exec_core.


mysql-test/r/sp.result:
  Test results fixed (Bug#15217)
mysql-test/t/sp.test:
  Add a test case for Bug#15217
sql/sp_head.cc:
  Move assignment of stmt_arena->state to reset_lex_and_exec_core
2006-06-22 19:29:48 +04:00
unknown
e9452db1c1 Fix for bug#19634 "Re-execution of multi-delete which involve trigger/stored
function crashes server".

Attempts to execute prepared multi-delete statement which involved trigger or
stored function caused server crashes (the same happened for such statements
included in stored procedures in cases when one tried to execute them more
than once).

The problem was caused by yet another incorrect usage of check_table_access()
routine (the latter assumes that table list which it gets as argument
corresponds to value LEX::query_tables_own_last). We solve this problem by
juggling with LEX::query_tables_own_last value when we call
check_table_access() for LEX::auxilliary_table_list (better solution is too
intrusive and should be done in 5.1).


mysql-test/r/sp-prelocking.result:
  Added test for bug#19634 "Re-execution of multi-delete which involve trigger/
  stored function crashes server".
mysql-test/t/sp-prelocking.test:
  Added test for bug#19634 "Re-execution of multi-delete which involve trigger/
  stored function crashes server".
sql/sql_parse.cc:
  To call safely check_table_access() for LEX::auxilliary_table_list we have
  to juggle with LEX::query_tables_own_last value.
2006-06-21 01:50:20 +04:00
unknown
375a189451 Merge mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge
2006-06-20 00:13:20 +02:00
unknown
4aa5270d12 Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge


sql/ha_ndbcluster.cc:
  Auto merged
2006-06-20 00:08:12 +02:00
unknown
3435f614c2 Merge mysql.com:/home/alik/MySQL/devel/5.0-rt
into  mysql.com:/home/alik/MySQL/devel/5.0-tree-merged
2006-06-19 18:10:04 +04:00
unknown
74cabf4ec2 Merge mysql.com:/home/alik/MySQL/devel/5.0-tree
into  mysql.com:/home/alik/MySQL/devel/5.0-rt


mysql-test/mysql-test-run.pl:
  Auto merged
sql/sql_insert.cc:
  Auto merged
2006-06-19 16:57:46 +04:00
unknown
3ec84b1aca Addition to fix for
BUG#18036 - update of table joined to self reports table as crashed

Set exclude_from_table_unique_test value back to FALSE. It is needed for
further check in multi_update::prepare whether to use record cache.


sql/sql_update.cc:
  Set exclude_from_table_unique_test value back to FALSE. It is needed for
  further check in multi_update::prepare whether to use record cache.
2006-06-19 17:50:52 +05:00
unknown
151fe0cfb0 Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge


mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
2006-06-19 13:30:54 +02:00
unknown
d0c58cd83c BUG#17201 Changed to other database (BUG#20531 hinders usage of 'test' database)
mysql-test/r/mysqldump.result:
  Changed to other database (BUG#20531 hinders usage of 'test' database)
mysql-test/t/mysqldump.test:
  Changed to other database (BUG#20531 hinders usage of 'test' database)
2006-06-19 13:23:13 +02:00
unknown
eeb29b5f70 Merge april:devel/BitKeeper/mysql-5.0-engines
into  may.pils.ru:/home/svoj/devel/mysql/BUG18036/mysql-5.0


include/my_global.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
2006-06-19 16:11:23 +05:00
unknown
e2097100f8 Merge may.pils.ru:/home/svoj/devel/mysql/BUG18036/mysql-4.1
into  may.pils.ru:/home/svoj/devel/mysql/BUG18036/mysql-5.0


mysql-test/r/myisam.result:
  Manual merge.
mysql-test/t/myisam.test:
  Manual merge.
sql/sql_update.cc:
  Manual merge.
2006-06-19 16:06:29 +05:00
unknown
645e3135b2 The second fix for BUG#19391: IM fails to start after two executions.
server-tools/instance-manager/guardian.cc:
  Removed erroneous unlock() in Guardian_thread::init():
  instance_map is unlocked in the caller.
server-tools/instance-manager/instance_map.cc:
  Added TODO comment.
server-tools/instance-manager/manager.cc:
  Make initialization of alarm infrustructure before starting Guardian
  thread, because Guardian uses thr_alarm().
2006-06-19 14:16:10 +04:00
unknown
799c5935f0 Small fix for test suite:
- fix for IM stopping routine;
  - polishing.


mysql-test/lib/mtr_process.pl:
  Polishing: make mtr_kill_process() more verbose in debug mode.
mysql-test/mysql-test-run.pl:
  1. Fix stopping of IM running as a daemon -- after death of the main IM
  process, we should wait for the IM angel to die.
  2. Polishing -- be more verbose in debug mode.
2006-06-19 14:15:26 +04:00
unknown
0ff8d48661 Fix of test suite in scope of fixing BUG#18023: IM: instance
can be started several times; monitor interval must be > 2sec


mysql-test/r/im_daemon_life_cycle.result:
  Updated result file.
mysql-test/r/im_life_cycle.result:
  Updated result file.
mysql-test/r/im_utils.result:
  Updated result file.
mysql-test/t/im_daemon_life_cycle-im.opt:
  Set monitoring interval to 1 second in order to:
    - be consistent with 5.1;
    - speed up tests;
mysql-test/t/im_daemon_life_cycle.imtest:
  1. Use wait_for_start.sh script to minimize chance of race condition.
  2. Polishing.
mysql-test/t/im_life_cycle.imtest:
  1. Use wait_for_start.sh and wait_for_stop.sh scripts to
     minimize chance of race condition;
  2. Remove some statements, because there is no way now to
     stabilize their output.
  3. Polishing;
mysql-test/t/im_utils.imtest:
  1. Use wait_for_start.sh script to minimize chance of race condition.
  2. Polishing.
mysql-test/t/kill_n_check.sh:
  1. Make timeout configurable by command-line argument;
  2. Change algorithm of waiting for process to restart to be
     more robust.
mysql-test/t/im_life_cycle-im.opt:
  Set monitoring interval to 1 second in order to:
    - be consistent with 5.1;
    - speed up tests;
mysql-test/t/im_utils-im.opt:
  Set monitoring interval to 1 second in order to:
    - be consistent with 5.1;
    - speed up tests;
mysql-test/t/wait_for_process.sh:
  A new helper script, intended to be used instead of dummy "sleep"
  when waiting for some process to start or stop.
2006-06-19 14:13:34 +04:00
unknown
4c919abfb0 Merge mysql.com:/users/lthalmann/bkroot/mysql-5.0-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge


client/mysqldump.c:
  Auto merged
mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/t/mysqldump.test:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
2006-06-19 12:09:24 +02:00
unknown
e61fcf7c66 Merge mysql.com:/users/lthalmann/bkroot/mysql-4.1-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
2006-06-19 12:06:54 +02:00
unknown
5375bcad69 Merge april:devel/BitKeeper/mysql-4.1
into  may.pils.ru:/home/svoj/devel/mysql/BUG18036/mysql-4.1
2006-06-19 14:13:44 +05:00
unknown
46cdd39ea6 BUG#18036 - update of table joined to self reports table as crashed
Certain updates of table joined to self results in unexpected
behavior.

The problem was that record cache was mistakenly enabled for
self-joined table updates. Normally record cache must be disabled
for such updates.

Fixed wrong condition in code that determines whether to use
record cache for self-joined table updates.

Only MyISAM tables were affected.


mysql-test/r/myisam.result:
  Test case for BUG#18036.
mysql-test/t/myisam.test:
  Test case for BUG#18036.
sql/sql_update.cc:
  Fixed wrong condition in code that determines whether to use
  record cache for self-joined table updates.
2006-06-19 14:05:14 +05:00
unknown
5d9b5f5e4c Merge moonbone.local:/work/tmp_merge-4.1-opt-mysql
into moonbone.local:/work/tmp_merge-5.0-opt-mysql
2006-06-19 03:50:09 +04:00
unknown
dc3dc9a1ba Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into moonbone.local:/work/tmp_merge-5.0-opt-mysql


configure.in:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
2006-06-19 01:16:18 +04:00
unknown
0d165134cc Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into moonbone.local:/work/tmp_merge-4.1-opt-mysql
2006-06-18 20:48:48 +04:00
unknown
6bd6c4690b Merge pnousiainen@bk-internal.mysql.com:/home/bk/mysql-5.0
into  clam.ndb.mysql.com:/space/pekka/ndb/version/my50
2006-06-17 17:33:08 +02:00
unknown
81202460be Merge mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
into mysql.com:/Users/kent/mysql/bk/mysql-5.0-new


ndb/Makefile.am:
  Auto merged
2006-06-17 15:42:24 +02:00
unknown
4d366600b8 Makefile.am:
Avoid error message trying 'windoze-dsp' in obsolete directory
compile-dist:
  Avoid error message for target 'distclean' and no Makefile


BUILD/compile-dist:
  Avoid error message for target 'distclean' and no Makefile
ndb/Makefile.am:
  Avoid error message trying 'windoze-dsp' in obsolete directory
2006-06-17 15:37:23 +02:00
unknown
4c9815a9b7 Merge clam.ndb.mysql.com:/space/pekka/ndb/version/my50
into  clam.ndb.mysql.com:/space/pekka/ndb/version/my50-bug19285
2006-06-17 13:53:43 +02:00
unknown
76d2eceaf5 ndb - bug#19285 minor fixes
ndb/src/ndbapi/NdbBlob.cpp:
  bug#19285 minor fixes
ndb/src/ndbapi/ndberror.c:
  bug#19285 minor fixes
2006-06-17 13:00:17 +02:00
unknown
7775e0a133 Merge mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
into mysql.com:/Users/kent/mysql/bk/mysql-5.0-new


scripts/make_win_src_distribution.sh:
  Auto merged
2006-06-17 11:38:16 +02:00
unknown
d1e21c2c20 make_win_src_distribution.sh:
Make output less verbose
  Make temporary directory name unique
  Remove temporary directory on interrupt


scripts/make_win_src_distribution.sh:
  Make output less verbose
  Make temporary directory name unique
  Remove temporary directory on interrupt
2006-06-17 11:33:34 +02:00
unknown
2aa2db7a87 make_win_src_distribution.sh:
Don't try copy non existing extra/{sql_state,mysqld_error}.h


scripts/make_win_src_distribution.sh:
  Don't try copy non existing extra/{sql_state,mysqld_error}.h
2006-06-17 10:44:52 +02:00
unknown
dc340f82da Merge mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
into mysql.com:/Users/kent/mysql/bk/mysql-5.0-new


scripts/make_win_src_distribution.sh:
  Auto merged
2006-06-17 03:13:22 +02:00
unknown
4a4a82a4a8 make_win_src_distribution.sh:
Include "sql_yacc.yy" for completeness (bug#20387)


scripts/make_win_src_distribution.sh:
  Include "sql_yacc.yy" for completeness (bug#20387)
  Improved error handling
  Don't list all files packed with tar/zip unless debugging
2006-06-17 03:04:43 +02:00
unknown
b1b5dbb0a6 Merge
BitKeeper/deleted/.del-mysql_install.def~8da659e7c0f7e571:
  Auto merged
2006-06-17 02:05:48 +02:00
unknown
9ec3f63f7e Merge moonbone.local:/work/tmp_merge-5.0
into moonbone.local:/work/tmp_merge-5.0-opt-mysql


configure.in:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/archive.result:
  Auto merged
mysql-test/r/auto_increment.result:
  Auto merged
mysql-test/r/ndb_lock.result:
  Auto merged
mysql-test/r/rpl_log.result:
  Auto merged
mysql-test/t/archive.test:
  Auto merged
mysql-test/t/auto_increment.test:
  Auto merged
mysql-test/t/ndb_lock.test:
  Auto merged
mysql-test/t/rpl_log.test:
  Auto merged
sql/ha_archive.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
2006-06-17 03:35:10 +04:00
unknown
9d3ddf3826 Manually merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/archive.result:
  Auto merged
mysql-test/r/auto_increment.result:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/ndb_lock.result:
  Auto merged
mysql-test/r/rpl_log.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/t/archive.test:
  Auto merged
mysql-test/t/auto_increment.test:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/ndb_lock.test:
  Auto merged
mysql-test/t/rpl_log.test:
  Auto merged
mysql-test/t/select.test:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/item_timefunc.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
2006-06-17 02:57:50 +04:00
unknown
60d55cc550 select.result:
After merge fix


mysql-test/r/select.result:
  After merge fix
2006-06-17 02:52:14 +04:00
unknown
91fb831076 configure.in, net_serv.cc, compile-netware-END:
Changes for Netware


sql/net_serv.cc:
  Netware needs <sys/select.h>
configure.in:
  Call of "comp_err" has moved, changed code for Netware that
  edits make files to reflect this
netware/BUILD/compile-netware-END:
  After correcting "configure.in" to edit make files correctly,
  removed obsolete "sed" of "extra/Makefile.am" for Netware
2006-06-17 00:30:02 +02:00
unknown
d0f39b6aeb Manually merged
sql/item_timefunc.cc:
  Auto merged
sql/item_timefunc.h:
  Auto merged
2006-06-17 02:11:12 +04:00
unknown
707de39a53 Merge moonbone.local:/home/evgen/bk-trees/mysql-4.1-opt
into moonbone.local:/work/tmp_merge-5.0-opt-mysql


mysql-test/r/cast.result:
  Auto merged
mysql-test/r/func_str.result:
  Auto merged
mysql-test/t/func_str.test:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_cmpfunc.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
2006-06-17 01:57:25 +04:00
unknown
de292d6799 Manually merged
configure.in:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/item_timefunc.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2006-06-17 00:58:36 +04:00
unknown
e2d3943c6a .del-mysql_install.def~8da659e7c0f7e571:
Delete: netware/mysql_install.def
Makefile.am:
  Removed obsolete "mysql_install.def"


netware/Makefile.am:
  Removed obsolete "mysql_install.def"
BitKeeper/deleted/.del-mysql_install.def~8da659e7c0f7e571:
  Delete: netware/mysql_install.def
2006-06-16 22:29:52 +02:00
unknown
ca22a81b1c item_strfunc.cc:
Fix for bug#16716 for --ps-protocol mode.
item_cmpfunc.cc:
  Fix for a memory allocation/freeing problem in agg_cmp_type() after fix
for bug#16377. Few language corrections.


sql/item_cmpfunc.cc:
  Fix for a memory allocation/freeing problem in agg_cmp_type(). Few language corrections.
sql/item_strfunc.cc:
  Fix for bug#16716 for --ps-protocol mode.
2006-06-16 23:46:37 +04:00
unknown
e08a2b326b Fix for bug#13479 "REPLACE activates UPDATE trigger, not the DELETE and
INSERT triggers".

In cases when REPLACE was internally executed via update and table had
on update (on delete) triggers defined we exposed the fact that such
optimization used by callng on update (not calling on delete) triggers.
Such behavior contradicts our documentation which describes REPLACE as
INSERT with optional DELETE.

This fix just disables this optimization for tables with on delete triggers.
The optimization is still applied for tables which have on update but have
no on delete triggers, we just don't invoke on update triggers in this case
and thus don't expose information about optimization to user.

Also added test coverage for values returned by ROW_COUNT() function (and
thus for values returned by mysql_affected_rows()) for various forms of
INSERT.


mysql-test/r/insert.result:
  Added test for values returned by ROW_COUNT() function (and thus for values
  returned by mysql_affected_rows()) for various forms of INSERT. We didn't
  have coverage for this before and since this fix touches related code it is
  better to add it now.
mysql-test/r/trigger.result:
  Adjusted test after fixing bug#13479 "REPLACE activates UPDATE trigger, not
  the DELETE and INSERT triggers".
mysql-test/t/insert.test:
  Added test for values returned by ROW_COUNT() function (and thus for values
  returned by mysql_affected_rows()) for various forms of INSERT. We didn't
  have coverage for this before and since this fix touches related code it is
  better to add it now.
mysql-test/t/trigger.test:
  Adjusted test after fixing bug#13479 "REPLACE activates UPDATE trigger, not
  the DELETE and INSERT triggers".
sql/sql_insert.cc:
  write_record():
    We should not expose that internally we sometimes execute REPLACE
    via UPDATE instead of documented INSERT + DELETE pair. So we should not
    use this optimization for tables with on delete triggers. OTOH it is ok
    to use it for tables which have on update but have no on delete triggers,
    we just should not invoke on update triggers in this case.
2006-06-16 20:21:25 +04:00
unknown
12ea72d1b9 Merge bk-internal:/home/bk/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0


mysql-test/mysql-test-run.pl:
  Auto merged
2006-06-16 17:30:03 +02:00
unknown
4ef7be4c32 Set default valgrind options to "-v --show-reachable=yes" and make it possible to override that with --valgrind-options
mysql-test/mysql-test-run.pl:
  Make --valgrind-all a synonym for --valgrind.
  Set "-v --show-reachable=yes" as our default valgrind options. 
  Make --valgrind-options override the default options
  Update usage.
  Turn on valgrinding also when user specified --valgrind-path or --valgrind-options without --valgrind
2006-06-16 15:56:08 +02:00
unknown
5f065c5491 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/home/ram/work/mysql-5.0
2006-06-16 16:51:07 +05:00
unknown
3796e37c72 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/home/ram/work/mysql-5.0


sql/item_func.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
2006-06-16 16:43:44 +05:00
unknown
0802a8a329 Merge ssmith@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/stewart/Documents/MySQL/5.0/main
2006-06-16 21:36:17 +10:00
unknown
70cf824053 Merge mysql.com:/home/stewart/Documents/MySQL/5.0/merge-queue
into  mysql.com:/home/stewart/Documents/MySQL/5.0/main


ndb/src/mgmsrv/MgmtSrvr.cpp:
  Auto merged
ndb/src/mgmsrv/MgmtSrvr.hpp:
  Auto merged
ndb/src/mgmsrv/Services.cpp:
  Auto merged
2006-06-16 21:01:02 +10:00
unknown
a6686964ba Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/home/ram/work/mysql-5.0
2006-06-16 15:27:04 +05:00
unknown
dd285aac1b after-merge fixes.
mysql-test/r/rpl_log.result:
  after-merge fix.
sql/ha_archive.cc:
  after-merge fix.
sql/item_func.cc:
  after-merge fix.
sql/sql_class.cc:
  after-merge fix.
sql/sql_class.h:
  after-merge fix.
2006-06-16 14:05:58 +05:00