Commit graph

14836 commits

Author SHA1 Message Date
unknown
74b2989dc4 merge
mysql-test/r/events.result:
  Auto merged
mysql-test/t/events.test:
  Auto merged
sql/event_priv.h:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/event.cc:
  manual merge
sql/event.h:
  manual merge
sql/event_executor.cc:
  manual merge
sql/event_timed.cc:
  manual merge
2006-02-16 01:27:36 +01:00
unknown
fea4742db5 fix for bug#16406 (Events: DROP DATABASE doesn't automatically drop events)
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
2006-02-16 00:43:11 +01:00
unknown
36017fce30 Bug #17414 ndb schema distribution functionality does not work on mysql servers without binlog 2006-02-16 00:30:56 +01:00
unknown
b87e0993f2 Merge bk-internal:/home/bk/mysql-5.1-new
into  mysql.com:/home/jimw/my/mysql-5.1-clean
2006-02-15 15:08:20 -08:00
unknown
ea8a26c6f3 build fixes
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
2006-02-15 23:43:11 +01:00
unknown
4e2b90b124 more cosmetic before push of fix for bug#17289
sql/event_timed.cc:
  - fix comment
  - use mysql_change_db() this will check for us
2006-02-15 22:32:25 +01:00
unknown
256d9e530c Merge bk-internal:/home/bk/mysql-5.1-new
into  mysql.com:/home/jimw/my/mysql-5.1-clean
2006-02-15 13:11:51 -08:00
unknown
78bec85350 Merge mysql.com:/home/mydev/mysql-5.1
into  mysql.com:/home/mydev/mysql-5.1-bug8841
2006-02-15 21:54:01 +01:00
unknown
8fd74f314b merging before test + push
mysql-test/r/events.result:
  Auto merged
mysql-test/t/events.test:
  Auto merged
sql/event.h:
  Auto merged
sql/event_timed.cc:
  manual merge
2006-02-15 21:51:57 +01:00
unknown
c6e5c2bcfb cosmetic post-review changes
mysql-test/r/events.result:
  result fixed
sql/event_executor.cc:
  cosmetic changes to show the definer of the event
2006-02-15 21:40:38 +01:00
unknown
5a888df68b Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug16410
2006-02-15 21:32:58 +01:00
unknown
700ff43985 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug16410
2006-02-15 21:26:33 +01:00
unknown
007df6e0c2 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into serg.mylan:/usr/home/serg/Abk/mysql-5.1
2006-02-15 21:25:31 +01:00
unknown
517f29032f Item_case_expr::type() cannot be called without fix_fields() :( 2006-02-15 21:22:53 +01:00
unknown
90717a3b1d Merge mysql.com:/home/jimw/my/mysql-5.1-16782
into  mysql.com:/home/jimw/my/mysql-5.1-clean


sql/ha_partition.cc:
  Auto merged
mysql-test/r/partition.result:
  Resolve conflicts
mysql-test/t/partition.test:
  Resolve conflicts
2006-02-15 11:39:54 -08:00
unknown
59f2e885ce Merge mysql.com:/home/jimw/my/mysql-5.1-16775
into  mysql.com:/home/jimw/my/mysql-5.1-clean


sql/ha_partition.cc:
  Auto merged
mysql-test/r/partition.result:
  Resolve conflicts
mysql-test/t/partition.test:
  Resolve conflicts
2006-02-15 11:36:45 -08:00
unknown
44a2ccc152 Bug #16782: Partitions: crash, REPLACE .. on table with PK, DUPLICATE
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().
2006-02-15 11:20:57 -08:00
unknown
9d5bf35d6a Fix the coding style in a few new files. 2006-02-15 21:08:44 +03:00
unknown
751ca01452 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug17289
2006-02-15 18:32:49 +01:00
unknown
de0c65dd4e Fix bug #15706 find_field_in_tables() returns field from outer select
If item->cached_table is set, find_field_in_tables() returns found field
even if it doesn't belong to current select. Because Item_field::fix_fields
doesn't expect such behaviour, reported bug occurs.

Item_field::fix_fields() was modifed to detect when find_field_in_tables() 
can return field from outer select and process such fields accordingly.
In order to ease this code which was searching and processing outed fields was
moved into separate function called Item_field::fix_outer_field().


sql/item_subselect.h:
  Fixed bug #15706: find_field_in_tables() returns field from outer select
  Item_field::fix_outer_field() was marked as friend to Item_subselect class.
sql/item.h:
  Fixed bug #15706: find_field_in_tables() returns field from outer select
  fix_outer_field() function is added to the Item_field class.
sql/item.cc:
  Fixed bug #15706: find_field_in_tables() returns field from outer select
  
  Item_ref::fix_fields() and Item_field::fix_fields() were modifed to detect when
  find_field_in_tables() can return field from outer select and process such
  fields accordingly.
  In order to ease this, code Item_field::fix_fields() which was searching and
  processing outer fields was moved into separate function called
  Item_field::fix_outer_field().
  To the Item_field::fix_field() added a loop for finding context for found field.
mysql-test/t/disabled.def:
  Fixed bug #15706: find_field_in_tables() returns field from outer select
  Enable subselect test
2006-02-15 19:45:06 +03:00
unknown
03a0eb6326 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug16410
2006-02-15 17:14:43 +01:00
unknown
2557f80fd1 fix for bug#16410 (Events: CREATE EVENT is legal in a CREATE TRIGGER statement)
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.
2006-02-15 17:12:27 +01:00
unknown
391c2e6576 Merge mysql.com:/home/mydev/mysql-5.1
into  mysql.com:/home/mydev/mysql-5.1-bug8841
2006-02-15 16:34:11 +01:00
unknown
2d94ee295b Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into serg.mylan:/usr/home/serg/Abk/mysql-5.1
2006-02-15 16:05:35 +01:00
unknown
15e2fdcf3b Merge mysql.com:/home/mydev/mysql-5.1
into  mysql.com:/home/mydev/mysql-5.1-bug8841
2006-02-15 15:16:11 +01:00
unknown
098ae02afa Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  zim.tangent.org:/home/brian/mysql/archive-5.1
2006-02-15 06:16:10 -08:00
unknown
5c504d11a6 Merge mysql.com:/home/mydev/mysql-5.1
into  mysql.com:/home/mydev/mysql-5.1-bug8841
2006-02-15 14:40:39 +01:00
unknown
79765df944 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug17289
2006-02-15 14:35:19 +01:00
unknown
00c7507249 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
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
2006-02-15 14:04:56 +01:00
unknown
acc44fb1b0 Merge mysql.com:/home/mydev/mysql-5.1
into  mysql.com:/home/mydev/mysql-5.1-bug8841
2006-02-15 13:02:24 +01:00
unknown
f8b27ebb54 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/usr/local/home/marty/MySQL/mysql-5.1-work


sql/sql_partition.cc:
  Auto merged
2006-02-15 12:52:30 +01:00
unknown
ea717647f5 cosmetic changes of the fix for bug#17289 (no privileges checks in EVENTS), before push
sql/event_executor.cc:
  cosmetic changes of the fix for bug#17289, before push
2006-02-15 12:14:23 +01:00
unknown
aa796cab7d Fix for bug#16907 Partitions: crash, SELECT goes into last partition, UNIQUE INDEX
In presense of subpartitioning use get_part_partition_id() to calculate part_id
2006-02-15 14:34:51 +04:00
unknown
0c8d763e81 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/usr/local/home/marty/MySQL/mysql-5.1-work


sql/sql_partition.cc:
  Auto merged
2006-02-15 11:19:45 +01:00
unknown
b5f6acac27 Merge mysql.com:/home/mydev/mysql-5.1
into  mysql.com:/home/mydev/mysql-5.1-bug8841
2006-02-15 10:56:13 +01:00
unknown
76374fe564 Fix for bug#16901 Partitions: crash, SELECT, column of part. function=first column of primary key
use part_info->no_subparts to calculate partition range in case of subpartitions


mysql-test/r/partition.result:
  Fix for bug#16901 Partitions: crash, SELECT, column of part. function=first column of primary key
    test case
mysql-test/t/partition.test:
  Fix for bug#16901 Partitions: crash, SELECT, column of part. function=first column of primary key
    test case
2006-02-15 13:42:43 +04:00
unknown
dac63fb8d2 This patch adds a new field to the meta file for tracking flushes (this is being kept to later do stats and determine how often the compression buffer is being foiled). This should keep things all nice an compatible between versions.
Also added a flush table test as well. Found one possible bug in OPTIMIZE TABLE which has never been reported, but I think it would be possible on a file system that ran out of disk.


mysql-test/r/archive.result:
  New results
mysql-test/t/archive.test:
  Added test for flush tables, which will also let me confirm DELAYED INSERT.
sql/ha_archive.cc:
  Adding new stat
sql/ha_archive.h:
  Just extending SHARE
2006-02-15 00:59:24 -08:00
unknown
daec71d623 Merge mysql.com:/home/mydev/mysql-5.1
into  mysql.com:/home/mydev/mysql-5.1-bug8841
2006-02-15 07:43:43 +01:00
unknown
bf3b67f347 post-merge fixes for dbug
dbug/dbug.c:
  post-merge fixes (-#T in explain was forgotten)
sql/set_var.h:
  post-merge fixes (DBUG_POP() is the correct way to restore default settings now)
2006-02-15 00:14:37 +01:00
unknown
3392d44877 Merge elkin@koti:MySQL/Merge/5.1-new/
into  mysql.com:/home/elkin/MySQL/MERGE/5.1-new
2006-02-15 01:08:02 +02:00
unknown
832dd46f49 Automerge
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster_binlog.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/sql_plugin.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
client/mysqlslap.c:
  SCCS merged
configure.in:
  SCCS merged
libmysql/libmysql.c:
  SCCS merged
mysys/my_init.c:
  SCCS merged
2006-02-15 00:01:46 +01:00
unknown
a280f0c8bd Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug17289


sql/event_executor.cc:
  Auto merged
2006-02-14 23:35:13 +01:00
unknown
0ae5e4c1ef Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into serg.mylan:/usr/home/serg/Abk/mysql-5.1


sql/sql_plugin.h:
  Auto merged
include/mysql/plugin.h:
  Auto merged
2006-02-14 22:57:12 +01:00
unknown
53031dae85 my_bool is internal type, so should be SHOW_MY_BOOL 2006-02-14 22:51:16 +01:00
unknown
d3ee9abf2a dbug changes:
1. dbug state is now local to a thread
2. new macros: DBUG_EXPLAIN, DBUG_EXPLAIN_INITIAL,
   DBUG_SET, DBUG_SET_INITIAL, DBUG_EVALUATE, DBUG_EVALUATE_IF
3. macros are do{}while(0) wrapped
4. incremental modifications to the dbug state (e.g. "+d,info:-t")
5. dbug code cleanup, style fixes
6. _db_on_ and DEBUGGER_ON/OFF removed
7. rest of MySQL code fixed because of 3 (missing ;) and 6
8. dbug manual updated
9. server variable @@debug (global and local) to control dbug from SQL!
a. -#T to print timestamps in the log


BitKeeper/deleted/.del-readme.prof~2f3bae1550a0038d:
  Delete: dbug/readme.prof
client/mysqlslap.c:
  typo fixed
configure.in:
  test for sleep() too
dbug/dbug.c:
  thread local dbug settings
  DBUG_EXPLAIN,DBUG_EXPLAIN_INITIAL,DBUG_SET,DBUG_SET_INITIAL
  style changes to be more in line with MySQL code
  cleanup (many mallocs removed)
  incremental modification of dbug state (e.g. DBUG_PUSH("+t:-d,info"))
  DBUG_SET, _db_explain_
  -#T
dbug/monty.doc:
  obsolete and duplicate docs removed
dbug/user.r:
  new features documented
include/my_dbug.h:
  correct do{}while wrapping
  thread local dbug settings
  DBUG_EXPLAIN,DBUG_EXPLAIN_INITIAL,DBUG_SET,DBUG_SET_INITIAL
  DBUG_EVALUATE,DBUG_EVALUATE_IF
libmysql/libmysql.c:
  remove _db_on_ and DEBUGGER_ON/OFF
mysys/my_init.c:
  missed DBUG_RETURN
mysys/my_thr_init.c:
  bugfix - transaction id's are unsigned
mysys/testhash.c:
  remove _db_on_ and DEBUGGER_ON/OFF
sql/ha_myisammrg.cc:
  missed ;
sql/ha_ndbcluster.cc:
  remove _db_on_ and DEBUGGER_ON/OFF
  missed ;
sql/ha_ndbcluster_binlog.cc:
  remove _db_on_ and DEBUGGER_ON/OFF
  missed ;
sql/item_cmpfunc.cc:
  missed ;
sql/lock.cc:
  missed DBUG_RETURN
sql/log_event.cc:
  missed ;
sql/mysqld.cc:
  remove _db_on_ and DEBUGGER_ON/OFF
  missed ;
  DBUG_SET_INITIAL
sql/opt_range.cc:
  remove _db_on_ and DEBUGGER_ON/OFF
sql/set_var.cc:
  class sys_var_thd_dbug and "debug" server variable
sql/set_var.h:
  class sys_var_thd_dbug and "debug" server variable
sql/slave.cc:
  missed ;
sql/sql_cache.cc:
  missed ;
sql/sql_plugin.cc:
  missed ;
sql/sql_select.cc:
  remove _db_on_ and DEBUGGER_ON/OFF
storage/heap/hp_test2.c:
  remove _db_on_ and DEBUGGER_ON/OFF
storage/myisam/ft_eval.c:
  remove _db_on_ and DEBUGGER_ON/OFF
storage/myisam/ft_test1.c:
  remove _db_on_ and DEBUGGER_ON/OFF
storage/myisam/mi_open.c:
  remove _db_on_ and DEBUGGER_ON/OFF
  missed ;
storage/myisam/mi_test1.c:
  remove _db_on_ and DEBUGGER_ON/OFF
storage/myisam/mi_test2.c:
  remove _db_on_ and DEBUGGER_ON/OFF
storage/myisam/mi_test3.c:
  remove _db_on_ and DEBUGGER_ON/OFF
storage/ndb/src/ndbapi/DictCache.cpp:
  missed ;
storage/ndb/src/ndbapi/NdbTransaction.cpp:
  missed ;
tests/mysql_client_test.c:
  remove _db_on_ and DEBUGGER_ON/OFF
2006-02-14 22:36:11 +01:00
unknown
db3a5936d3 make declarations of mysql_db_table_last_check and mysql_db_table_fields
visible event in libmysqld. fixes build problem.


sql/sql_acl.cc:
  make declarations of mysql_db_table_last_check and mysql_db_table_fields
  visible event in libmysqld
2006-02-14 22:21:23 +01:00
unknown
7562e49043 Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.1-new
2006-02-14 22:02:42 +02:00
unknown
60ea0bfaf6 make it explicitly extern. this should fix build failure on FC4 2006-02-14 20:58:19 +01:00
unknown
ee1b893f99 manual merge
mysql-test/t/events.test:
  Auto merged
2006-02-14 20:27:42 +01:00
unknown
cf27231bd2 Merge mysql.com:/home/mydev/mysql-5.1
into  mysql.com:/home/mydev/mysql-5.1-bug8841
2006-02-14 20:17:25 +01:00