WL#1034
- This changeset also changes the executor so its quite more stable now.
Stressing test case added that executes ~800 events per second and dropping
hundreds of events at once using DROP DATABASE.
(with fixes after review of JimW)
(with fixes after review of Serg)
mysql-test/r/events.result:
update results after TRIGGER_ACL was added
mysql-test/t/events.test:
-redundant line
sql/event.cc:
Implemented evex_db_drop_events() which drops all events
from a specific database. Needed for SQLCOM_DROP_DATABASE
sql/event.h:
- protect the event better (see the changes to event_executor.cc
and event.cc). An event object could be used in a spawned thread
before it's executed but till now the object is marked as being
executed when the anonymous sp_head is executed. However, there are
timeframes before and after that during which the event is not marked
as executed and other thread may delete the object -> so we end with
a nirvana pointer.
sql/event_executor.cc:
- extract some of the code executed in the main thread to a function. Too long
functions are bad for the overview.
- prepend all information/error messages to the console with "SCHEDULER:" for
better overview, and easied searching in the log tables.
sql/event_priv.h:
- change the name, of evex_db_find_event_by_name() and don't
used C++ features like function overloading
- define consts for result returned from event_timed::spawn_now()
sql/event_timed.cc:
- add few methods related to event execution.
now the event spawns the worker thread and
passes itself as parameter. This way it locks itself for exectution
first and then spawning -> no race condition. When the worker thread
has finished working with the reference it calls back
event_timed::spawn_thread_finish() to unlock itself.
sql/sql_db.cc:
- call evex_drop_db_events() on DROP DATABASE
sql/event.cc:
- make this not unsigned. gcc complains
sql/event_timed.cc:
acl_getroot_no_password() is not there in libmysqld, disable it's usage
in this case.
sql/set_var.cc:
fix for the broken build of Serg. gcc seems to be pretty happy without
the return and returns the value of the last statement
into mysql.com:/home/jimw/my/mysql-5.1-clean
client/mysqltest.c:
Auto merged
libmysql/libmysql.c:
Auto merged
mysql-test/r/mysqltest.result:
Auto merged
mysql-test/t/mysqltest.test:
Auto merged
tests/mysql_client_test.c:
Auto merged
BitKeeper/deleted/.del-ndb_load.result:
Auto merged
BitKeeper/deleted/.del-ndb_load.test:
Auto merged
mysql-test/t/disabled.def:
Resolve conflict
config/ac-macros/ha_ndbcluster.m4:
Get back the message "Using NDB Cluster".
This is used by "gen-build-status-page" to differ between builds with and without NDB.
KEY event. Partitioning wrongly claimed to be able to handle HA_DUPP_POS
when it was supported by the underlying storage engine, which resulted
in a crash when handling REPLACE statements.
mysql-test/r/partition.result:
Add new results
mysql-test/t/partition.test:
Add regression test
sql/ha_partition.cc:
Fix list of table flags that are not passed through for partitioned
tables, and add HA_DUPP_POS to that list. Also, handle HA_EXTRA_FLUSH_CACHE
in ha_partition::extra().
- Update result file and enable test
mysql-test/r/binlog_row_mix_innodb_myisam.result:
Update resultfile, when switching from type to engine, the log position needs to be increased by two after that statement.
mysql-test/t/disabled.def:
Enable test
WL#1034 (Internal CRON)
(post-post-review updates)
mysql-test/r/events.result:
update results file
mysql-test/t/events.test:
add test for Bug #16410 Events: CREATE EVENT is legal in a CREATE TRIGGER statement
sql/sp_head.cc:
CREATE/ALTER/DROP event mean explicit commit, so they are not allowed in
a FUNCTION/TRIGGER. Fixes bug#16410
sql/sql_parse.cc:
- end active transaction for CREATE/ALTER/DROP EVENT because
they are DDL statements.
into mysql.com:/home/ndbdev/jmiller/clones/mysql-5.1-new
mysql-test/r/rpl_trigger.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
mysql-test/t/rpl_trigger.test:
Auto merged
- Change 94 to 95 according to Pem's instructions in bug report.
mysql-test/r/sp-code.result:
Update from 94 to 95 according to Pem's instructions
mysql-test/t/disabled.def:
Enable sp-code test case
mysql-test/t/ndb_dd_backuprestore.test:
Recovered new CDD test
mysql-test/r/ndb_dd_backuprestore.result:
Results will need to be recreated once bug #17045 is patched
mysql-test/t/disabled.def:
Added ndb_dd_backuprestore
into serg.mylan:/usr/home/serg/Abk/mysql-5.1
sql/ha_ndbcluster.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/t/rpl_ndb_delete_nowhere.test:
new wrapper for NDB engine
mysql-test/r/rpl_ndb_delete_nowhere.result:
new reults file
mysql-test/t/disabled.def:
Added test to be diabled
mysql-test/t/rpl_delete_no_where.test:
Fix typo
mysql-test/t/rpl_EE_err.test:
Updated wrapper
mysql-test/extra/rpl_tests/rpl_trig004.test:
Updated
mysql-test/t/rpl_row_trig004.test:
Updated
mysql-test/r/rpl_row_trig004.result:
Updated
mysql-test/t/rpl_ndb_trig004.test:
New wrapper for ndb
mysql-test/r/rpl_ndb_trig004.result:
New result
- Init sql_state in mysql_stmt_init
libmysql/libmysql.c:
Init sql_state to not_error_sql_state in mysql_init
tests/mysql_client_test.c:
Add test for mysql_stmt_sqlstate after mysql_stmt_init