Commit graph

13669 commits

Author SHA1 Message Date
unknown
78035fb5d5 Merge mysql.com:/home/svoj/devel/mysql/BUG24342/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG24342/mysql-5.1-engines


mysql-test/r/merge.result:
  Auto merged
mysql-test/t/merge.test:
  Auto merged
storage/myisam/mi_rkey.c:
  Auto merged
storage/myisam/myisamdef.h:
  Auto merged
storage/myisammrg/myrg_rkey.c:
  SCCS merged
2007-04-18 16:35:22 +05:00
unknown
de15763cfb Merge mysql.com:/home/svoj/devel/mysql/BUG24342/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG24342/mysql-5.0-engines


myisam/mi_rkey.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
myisammrg/myrg_rkey.c:
  Auto merged
mysql-test/t/merge.test:
  Auto merged
mysql-test/r/merge.result:
  SCCS merged
2007-04-18 16:22:23 +05:00
unknown
150646b62d Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG24342/mysql-4.1-engines
2007-04-18 16:16:58 +05:00
unknown
1ff64d6e11 Merge mysql.com:/home/svoj/devel/mysql/BUG25951/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG25951/mysql-5.1-engines


mysql-test/r/fulltext.result:
  Auto merged
mysql-test/t/fulltext.test:
  Auto merged
sql/item_func.cc:
  Auto merged
2007-04-18 13:27:04 +05:00
unknown
b8250c7126 Merge mysql.com:/home/svoj/devel/mysql/BUG25951/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG25951/mysql-5.0-engines


mysql-test/r/fulltext.result:
  Manual merge.
mysql-test/t/fulltext.test:
  Manual merge.
sql/item_func.cc:
  Manual merge.
2007-04-18 12:39:04 +05:00
unknown
f4a5f3c6ff BUG#27516 - divide by zero crash during optimize table
When a table status is requested by statement like SHOW TABLE
STATUS and there is another statement (e.g. DELETE) sets
number of records to 0 concurrently, we may get division by
zero error, which crashes a server.

This is fixed by using thread local variable x->records instead
of shared info->state->records when we check if it is zero and
divide by it.


myisam/mi_info.c:
  Information schema does not lock a table when it requests table
  state info. If another thread sets info->state->records to 0
  after we check if it is 0 and before we divide by it we may get
  division by zero error.
  
  Check and divide by local x->records variable instead of shared
  info->state->records.
2007-04-13 12:38:27 +05:00
unknown
202f34e2f5 BUG#25951 - ignore/use index does not work with fulltext
IGNORE/USE/FORCE INDEX hints were honored when choosing FULLTEXT
index.

With this fix these hints are ignored. For regular indexes we may
perform table scan instead of index lookup when IGNORE INDEX was
specified. We cannot do this for FULLTEXT in NLQ mode.


mysql-test/r/fulltext.result:
  A test case for bug#25951.
mysql-test/t/fulltext.test:
  A test case for bug#25951.
sql/item_func.cc:
  IGNOR/USE/FORCE INDEX hints should not be honored when choosing FULLTEXT
  index.
  
  Use proper bitmap, that is not modified by IGNORE/USE/FORCE INDEX hints.
2007-04-13 02:31:34 +05:00
unknown
6866ca008c BUG#24342 - Incorrect results with query over MERGE table
MERGE engine may return incorrect values when several representations
of equal keys are present in the index. For example "groß" and "gross"
or "gross" and "gross " (trailing space), which are considered equal,
but have different lengths.

The problem was that key length was not recalculated after key lookup.

Only MERGE engine is affected.


myisam/mi_rkey.c:
  info->lastkey gets rewritten by mi_search. Later we recalculate found lastkey
  length. This is done to make sure that mi_rnext_same gets true, found (not
  searched) lastkey length. Searched and found key lengths may be different,
  for example in case searched key is "groß" and found is "gross" or in case
  a key has trailing spaces.
  
  Unfortunately we recalculate found lastkey length only for first
  underlying table. To recalculate found key length for non-first underlying
  table we need to know how much key segments were used to create this key.
  
  When mi_rkey is called for first underlying table of a merge table, store
  offset to last used key segment.
  
  Restore last_used_keyseg variable when mi_rkey is called for non-first
  underlying table.
myisam/myisamdef.h:
  Added last_used_keyseg variable to MI_INFO. It is used by merge engine to calculate
  key length.
myisammrg/myrg_rkey.c:
  Pass last used key segment returned by first table key read to other
  table key reads.
mysql-test/r/merge.result:
  A test case for bug#24342.
mysql-test/t/merge.test:
  A test case for bug#24342.
2007-04-11 01:40:35 +05:00
unknown
fde3e9d4af Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/kent/bk/tmp4/mysql-5.1-engines


sql/item_func.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2007-04-08 20:48:07 +02:00
unknown
ddaeead8fc Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/kent/bk/tmp4/mysql-5.0-engines


sql/item_func.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2007-04-08 20:46:40 +02:00
unknown
e8a8d5df60 Merge acurtis@bk-internal:/home/bk/mysql-5.0-engines
into  xiphis.org:/home/antony/work2/mysql-5.0-engines.merge


sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
2007-04-06 18:07:02 +00:00
unknown
c4baf0925a Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  xiphis.org:/home/antony/work2/mysql-5.1-engines.merge


sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/sql_table.cc:
  Auto merged
2007-04-06 17:18:26 +00:00
unknown
5896976dea Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-runtime
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user


mysql-test/r/information_schema.result:
  Auto merged
sql/mysqld.cc:
  Auto merged
2007-04-06 13:53:05 +02:00
unknown
306be7fee9 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  vajra.(none):/opt/local/work/mysql-5.1-runtime


mysql-test/r/information_schema.result:
  Auto merged
mysql-test/r/openssl_1.result:
  Manual resolve.
mysql-test/t/openssl_1.test:
  Manual resolve.
2007-04-06 14:15:29 +04:00
unknown
dd0c20ac28 3d attempt to fix information_schema.test failure on HP-UX.
Apparently it's the only platform in pushbuild where we 
compile without openssl.


mysql-test/r/information_schema.result:
  Update results.
mysql-test/r/openssl_1.result:
  Update results.
mysql-test/t/information_schema.test:
  Move the part of the test case that needs SSL support to 
  openssl_1.test
mysql-test/t/openssl_1.test:
  Add a test case that needs SSL support.
2007-04-06 00:38:57 +04:00
unknown
923d2d3a01 Remove a dead file.
BitKeeper/deleted/.del-openssl_2.result:
  Delete: mysql-test/r/openssl_2.result
2007-04-05 21:01:09 +04:00
unknown
40e17891da Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  vajra.(none):/opt/local/work/mysql-5.1-c1


sql/mysqld.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
2007-04-05 20:50:28 +04:00
unknown
ff452d050a Post-merge and post-review fixes for the patch for
Bug#23631 "Events: SHOW VARIABLES doesn't work when mysql.event 
is damaged:


mysql-test/r/events.result:
  Update results (a post-merge fix)
mysql-test/r/events_bugs.result:
  Update results (a post-merge fix)
mysql-test/r/events_scheduling.result:
  Update results (a post-merge fix)
mysql-test/t/events_scheduling.test:
  Make sure this test has no races.
sql/event_data_objects.cc:
  Manual post-merge fix for the events replication patch.
sql/event_data_objects.h:
  A post-merge fix.
sql/event_db_repository.cc:
  A post-merge fix.
sql/event_scheduler.cc:
  We should drop the event inside ::execute since there we have
  the right credentials to do so (otherwise Events::drop_event
  returns "access denied" error).
sql/events.cc:
  A post-review fix for: rename start_or_stop_event_scheduler
  to switch_event_scheduler_state.
sql/events.h:
  A post-review fix for: rename start_or_stop_event_scheduler
  to switch_event_scheduler_state.
sql/set_var.cc:
  A post-review fix for: rename start_or_stop_event_scheduler
  to switch_event_scheduler_state.
sql/sql_yacc.yy:
  Remove unused declaratoins.
2007-04-05 20:47:22 +04:00
unknown
b4f1d7ba12 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  siva.hindu.god:/home/tsmith/m/bk/maint/51


mysql-test/r/information_schema.result:
  Auto merged
2007-04-05 10:17:32 -06:00
unknown
a36054f420 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  vajra.(none):/opt/local/work/mysql-5.1-c1


mysql-test/r/events_bugs.result:
  Auto merged
mysql-test/r/events_scheduling.result:
  Auto merged
mysql-test/t/events.test:
  Auto merged
mysql-test/t/events_scheduling.test:
  Auto merged
sql/event_data_objects.h:
  Auto merged
sql/event_db_repository.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/table.h:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
mysql-test/r/events.result:
  e
  Use local.
mysql-test/r/events_restart_phase1.result:
  Use local
mysql-test/r/events_time_zone.result:
  SCCS merged
mysql-test/t/events_restart_phase1.test:
  Use local
sql/event_data_objects.cc:
  Use local
sql/event_db_repository.cc:
  Manual merge.
sql/event_queue.cc:
  Manual merge.
sql/events.cc:
  Manual merge.
2007-04-05 15:49:46 +04:00
unknown
fa1d637e89 A set of changes aiming to make the Event Scheduler more user-friendly
when there are no up-to-date system tables to support it:
 - initialize the scheduler before reporting "Ready for connections".
   This ensures that warnings, if any, are printed before "Ready for
   connections", and this message is not mangled.
 - do not abort the scheduler if there are no system tables
 - check the tables once at start up, remember the status and disable
   the scheduler if the tables are not up to date.
   If one attempts to use the scheduler with bad tables,
   issue an error message.
 - clean up the behaviour of the module under LOCK TABLES and pre-locking
   mode
 - make sure implicit commit of Events DDL works as expected.
 - add more tests


Collateral clean ups in the events code.

This patch fixes Bug#23631 Events: SHOW VARIABLES doesn't work 
when mysql.event is damaged


mysql-test/r/events.result:
  Update results.
mysql-test/r/events_bugs.result:
  Update results.
mysql-test/r/events_restart_phase1.result:
  Update results.
mysql-test/r/events_restart_phase2.result:
  Update results.
mysql-test/r/events_restart_phase3.result:
  Update results.
mysql-test/r/events_scheduling.result:
  Update results.
mysql-test/r/events_time_zone.result:
  Update results.
mysql-test/t/events.test:
  Add new tests for tampering with mysql.event and some more
  tests for sub-statements, LOCK TABLES mode and pre-locking.
mysql-test/t/events_bugs.test:
  Move the non-concurrent part of test for Bug 16420 to this file.
mysql-test/t/events_restart_phase1.test:
  Rewrite events_restart_* tests to take into account that now
  we check mysql.event table only once, at server startup.
mysql-test/t/events_restart_phase2.test:
  Rewrite events_restart_* tests to take into account that now
  we check mysql.event table only once, at server startup.
mysql-test/t/events_restart_phase3.test:
  Rewrite events_restart_* tests to take into account that now
  we check mysql.event table only once, at server startup.
mysql-test/t/events_scheduling.test:
  Add more coverage for event_scheduler global variable.
mysql-test/t/events_time_zone.test:
  Move the non-concurrent part of the tests for Bug 16420 to 
  events_bugs.test
sql/event_data_objects.cc:
  Move update_timing_fields functionality to Event_db_repository.
  Make loading of events from a table record more robust to tampering
  with the table - now we do not check mysql.event on every table open.
sql/event_data_objects.h:
  Cleanup.
sql/event_db_repository.cc:
  Now Event_db_repository is responsible for table I/O only.
  All the logic of events DDL is handled outside, in Events class please
  refer to the added test coverage to see how this change affected
  the behavior of Event Scheduler.
  Dependency on sp_head.h and sp.h removed.
  Make this module robust to tweaks with mysql.event table.
  Move check_system_tables from events.cc to this file
sql/event_db_repository.h:
  Cleanup declarations (remove unused ones, change return type to bool
  from int).
sql/event_queue.cc:
  Update to adapt to the new start up scheme of the Event Scheduler.
sql/event_queue.h:
  Cleanup declarations.
sql/event_scheduler.cc:
  Make all the error messages uniform:
  [SEVERITY] Event Scheduler: [user][schema.event] message
  Using append_identifier for error logging was an overkill - we may 
  need it only if the system character set may have NUL (null character)
  as part of a valid identifier, this is currently never the case, 
  whereas additional quoting did not look nice in the log.
sql/event_scheduler.h:
  Cleanup the headers.
sql/events.cc:
  Use a different start up procedure of Event Scheduler:
  - at start up, try to check the system tables first.
  If they are not up-to-date, disable the scheduler.
  - try to load all the active events. In case of a load error, abort
  start up.
  - do not parse an event on start up. Parsing only gives some information
  about event validity, but far not all.
  Consolidate the business logic of Events DDL in this module.
  Now opt_event_scheduler may change after start up and thus is protected
  by LOCK_event_metadata mutex.
sql/events.h:
  Use all-static-data-members approach to implement Singleton pattern.
sql/mysqld.cc:
  New invocation scheme of Events. Move some logic to events.cc.
  Initialize the scheduler before reporting "Ready for connections".
sql/set_var.cc:
  Clean up sys_var_thd_sql_mode::symbolic_mode_representation
  to work with a LEX_STRING.
  Move more logic related to @@events_scheduler global variable to Events
  module.
sql/set_var.h:
  Update declarations.
sql/share/errmsg.txt:
  If someone tampered with mysql.event table after the server has
  started we no longer give him/her a complete report what was actually 
  broken. Do not send the user to look at the error log in such case,
  as there is nothing there (check_table_intact is not executed).
sql/sp_head.cc:
  Update to a new declaration of 
  sys_var_thd_sql_mode::symbolic_mode_representation
sql/sql_db.cc:
  New invocation scheme of Events module.
sql/sql_parse.cc:
  Move more logic to Events module. Make sure that we are consistent
  in the way access rights are checked for Events DDL: always
  after committing the current transaction and checking the system tables.
sql/sql_show.cc:
  Update to the new declarations of 
  sys_var_thd_sql_mode::symbolic_mode_representation
sql/sql_test.cc:
  New invocation scheme of events.
sql/table.cc:
  mysql.event is a system table.
  Update check_table_intact to be concurrent, more verbose, and less smart.
sql/table.h:
  Add a helper method.
mysql-test/r/events_trans.result:
  New BitKeeper file ``mysql-test/r/events_trans.result''
mysql-test/t/events_trans.test:
  New BitKeeper file ``mysql-test/t/events_trans.test'':
  test cases for Event Scheduler that require a transactional
  storage engine.
2007-04-05 15:24:34 +04:00
unknown
23e92aca5a Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb


sql/item_func.cc:
  Auto merged
2007-04-05 10:24:37 +02:00
unknown
4025df9217 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new-maint
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user


mysql-test/r/information_schema.result:
  Auto merged
mysql-test/r/rpl_ndb_basic.result:
  Auto merged
mysql-test/r/rpl_ndb_log.result:
  Auto merged
sql/mysqld.cc:
  Auto merged
2007-04-05 10:21:41 +02:00
unknown
8f21b31d67 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-04-05 10:20:56 +02:00
unknown
9170a3c184 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb


sql/ha_ndbcluster.cc:
  Auto merged
2007-04-05 09:18:37 +02:00
unknown
c66a15285f Add extra INSERT to make usre sync_slave_with_master has job to do
mysql-test/r/rpl_ssl.result:
  Add an extra INSERT to make sure that the "sync_slave_with_master" has
  someghing to do and thus have to wait for the slave IO thread
  to start.
mysql-test/t/rpl_ssl.test:
  Add an extra INSERT to make sure that the "sync_slave_with_master" has
  someghing to do and thus have to wait for the slave IO thread
  to start.
2007-04-05 09:10:22 +02:00
unknown
499d058c2d Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb


include/my_base.h:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_trigger.h:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Merge
2007-04-05 08:39:12 +02:00
unknown
02a7bdc453 Merge dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.1/mysql-5.1-new-ndb
into  dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.1/mysql-5.1-new-ndb-bj.merge


sql/ha_ndbcluster.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
2007-04-05 12:26:01 +08:00
unknown
bb8fb9e9e6 Merge dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.0/mysql-5.0-ndb
into  dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.0/mysql-5.0-ndb-bj.merge


sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
2007-04-05 11:30:19 +08:00
unknown
d5c744d238 Merge dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.1/mysql-5.1-new-ndb
into  dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.1/mysql-5.1-new-ndb-bj.merge


sql/handler.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
storage/ndb/src/mgmclient/CommandInterpreter.cpp:
  Auto merged
storage/ndb/src/mgmsrv/ConfigInfo.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbScanFilter.cpp:
  Auto merged
sql/ha_ndbcluster.cc:
  merge
2007-04-05 10:47:40 +08:00
unknown
6575e2d296 fix test for bug#25721
did not run properly on a fast Windows machine
2007-04-04 21:35:58 +00:00
unknown
8bbbff63a3 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user


sql/ha_ndbcluster.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
2007-04-04 23:03:27 +02:00
unknown
a0c4e184f8 Fix a failure of this test case on HP-UX.
mysql-test/r/information_schema.result:
  Fix a race in the test case (second attempt).
mysql-test/t/information_schema.test:
  Fix a race in the test case (second attempt).
2007-04-05 00:04:44 +04:00
unknown
7bdfa35199 Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg04/51
2007-04-04 21:56:10 +02:00
unknown
821355da3c Bug #27638: slow logging to CSV table inserts bad query_time and lock_time values
When MySQL logged slow query information to a CSV table, it stored the
query_time and lock_time values with an incorrect formula.

If the time was over 59 seconds, this caused incorrect statistics (either the
slow query was not logged, or the time was far from correct).  This change
fixes the method used to store those TIME values in the slow_log table.


mysql-test/r/log_tables-big.result:
  BitKeeper file /benchmarks/ext3/TOSAVE/tsmith/bk/maint/51/mysql-test/r/log_tables-big.result
mysql-test/t/log_tables-big-master.opt:
  BitKeeper file /benchmarks/ext3/TOSAVE/tsmith/bk/maint/51/mysql-test/t/log_tables-big-master.opt
mysql-test/t/log_tables-big.test:
  BitKeeper file /benchmarks/ext3/TOSAVE/tsmith/bk/maint/51/mysql-test/t/log_tables-big.test
sql/time.cc:
  initialize all TIME fields (except neg, which may store a
  needed value) in calc_time_from_sec()
sql/log.cc:
  Log_to_csv_event_handler::log_slow(): call store_time() instead of store() for query_time and lock_time
include/my_time.h:
  Add TIME_MAX_VALUE_SECONDS definition
2007-04-04 21:40:47 +02:00
unknown
7279edc72d Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-ndb


include/my_base.h:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_trigger.h:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Merge
2007-04-04 17:03:31 +02:00
unknown
59a64c2b16 Merge from 5.0
mysql-test/r/ndb_trigger.result:
  Re-generated
sql/mysql_priv.h:
  Merge
sql/sql_insert.cc:
  Merge
sql/sql_load.cc:
  Merge
sql/sql_update.cc:
  Merge
2007-04-04 16:58:25 +02:00
unknown
2efc0f51cf Bug #26242 UPDATE with subquery and triggers failing with cluster tables
In certain cases AFTER UPDATE/DELETE triggers on NDB tables that referenced
subject table didn't see the results of operation which caused invocation
of those triggers. In other words AFTER trigger invoked as result of update
(or deletion) of particular row saw version of this row before update (or
deletion).

The problem occured because NDB handler in those cases postponed actual
update/delete operations to be able to perform them later as one batch.

This fix solves the problem by disabling this optimization for particular
operation if subject table has AFTER trigger for this operation defined.
To achieve this we introduce two new flags for handler::extra() method:
HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH.
These are called if there exists AFTER DELETE/UPDATE triggers during a
statement that potentially can generate calls to delete_row()/update_row().
This includes multi_delete/multi_update statements as well as insert statements
that do delete/update as part of an ON DUPLICATE statement.


include/my_base.h:
  Added HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of delete/update is not possible.
mysql-test/r/ndb_trigger.result:
  Bug #26242  UPDATE with subquery and triggers failing with cluster tables
  ---
  Added new test cases
mysql-test/t/ndb_trigger.test:
  Bug #26242  UPDATE with subquery and triggers failing with cluster tables
  ---
  Added new test cases
sql/ha_ndbcluster.cc:
  Bug #26242  UPDATE with subquery and triggers failing with cluster tables: Use HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of delete/update is not possible
sql/ha_ndbcluster.h:
  Bug #26242  UPDATE with subquery and triggers failing with cluster tables: Added member variables for handling of HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of delete/update is not possible
sql/mysql_priv.h:
  Added new method prepare_triggers_for_insert_stmt to check if batching of delete/update must be disallowed.
sql/sql_delete.cc:
  Use HA_EXTRA_DELETE_CANNOT_BATCH to inform handler when batching of delete is not possible
sql/sql_insert.cc:
  Added method prepare_triggers_for_insert_stmt to check if batching of delete/update must be dissallowed.
  Use HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler
   when batching of delete/update is not possible
sql/sql_load.cc:
  Call prepare_triggers_for_insert_stmt to check if batching of delete/update must be dissallowed and
  mark fields used by triggers for the insert statement.
sql/sql_trigger.h:
  Added has_triggers to support what particular triggers exist on a table.
sql/sql_update.cc:
  Use HA_EXTRA_UPDATE_CANNOT_BATCH to inform handler when batching of update is not possible
2007-04-04 12:50:39 +02:00
unknown
1895cdb34d Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg04/50


sql/item_func.cc:
  Auto merged
2007-04-04 11:06:48 +02:00
unknown
05840a5790 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg04/51


mysql-test/r/information_schema.result:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sp_head.h:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
2007-04-04 11:05:22 +02:00
unknown
ee58034fc9 recovery from 5.0 merge for bug18676
mysql-test/r/ndb_autodiscover.result:
  recovery for bug#18676 merge in 5.0
sql/ha_ndbcluster.cc:
  recovery for bug#18676 merge in 5.0
sql/handler.cc:
  recovery for bug#18676 merge in 5.0
sql/sql_table.cc:
  recovery for bug#18676 merge in 5.0
2007-04-04 15:22:37 +08:00
unknown
5ca5d5dee2 Merge dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-5.0/bug18676
into  dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-5.1/bug18676


mysql-test/r/ndb_autodiscover.result:
  Auto merged
sql/handler.cc:
  Auto merged
storage/ndb/src/common/transporter/TCP_Transporter.cpp:
  Auto merged
storage/ndb/src/mgmclient/CommandInterpreter.cpp:
  Auto merged
sql/ha_ndbcluster.cc:
  merge 5.0-ndb-bj for bug#18676 into 5.1-ndb-bj
sql/sql_table.cc:
  merge 5.0-ndb-bj for bug#18676 into 5.1-ndb-bj
2007-04-04 14:30:12 +08:00
unknown
65e5af7b7f Fix a race that breaks the valgrind build.
mysql-test/r/information_schema.result:
  Fix a race (updated result file)
mysql-test/t/information_schema.test:
  Fix a race in a test.
2007-04-03 21:33:56 +04:00
unknown
502e5c9355 Bug#17095 Cluster RBR in circle does not terminate
- set correct server id
2007-04-03 17:36:05 +02:00
unknown
7802123013 Remove the cleanup of table t1 until problem with lock is fixed 2007-04-03 16:13:23 +02:00
unknown
c2cde30300 Bug #21494 Master Cluster MySQLD is point of failure that can lead to mismatch slave data
- insert gap event on cluster connect
2007-04-03 14:49:57 +02:00
unknown
5203ea6ccb BUG#18676 when cluster storage engine is down, misleading error message on create table with 4009.
mysql-test/r/ndb_autodiscover.result:
  changes ndbd error code to mysqld error code when no cluster connection
sql/ha_ndbcluster.cc:
  map 4009 error code to mysql not connected error
sql/handler.cc:
  define return codes to ha_table_exists_in_engine to something useful
    NOTE: in 5.1 this should call a handlerton method, not horrible ifdef ndb stuff
sql/sql_table.cc:
  clearly define what happens on create table if exits/not exists/not connected to engine
2007-04-03 18:44:29 +08:00
unknown
7b1bfbb77a Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.local:/opt/local/work/mysql-5.1-runtime


mysql-test/r/events_bugs.result:
  Auto merged
mysql-test/r/ps.result:
  Auto merged
mysql-test/t/events.test:
  Auto merged
sql/event_data_objects.cc:
  Auto merged
sql/event_data_objects.h:
  Auto merged
sql/event_db_repository.h:
  Auto merged
sql/event_queue.cc:
  Auto merged
sql/events.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_servers.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.h:
  Auto merged
sql/share/errmsg.txt:
  Auto merged
mysql-test/r/events.result:
  Manual merge.
sql/event_db_repository.cc:
  Manual merge.
sql/sql_parse.cc:
  Manual merge.
2007-04-03 14:34:37 +04:00
unknown
48b3529cbe Cleanup tables created by test cases
mysql-test/r/crash_commit_before.result:
  Cleanup
mysql-test/r/rpl_ignore_table.result:
  Cleanup
mysql-test/r/rpl_packet.result:
  Cleanup
mysql-test/r/rpl_ssl.result:
  Cleanup
mysql-test/t/crash_commit_before.test:
  Cleanup
mysql-test/t/rpl_ignore_table.test:
  Cleanup
mysql-test/t/rpl_packet.test:
  Cleanup
mysql-test/t/rpl_ssl.test:
  Cleanup
2007-04-03 11:36:33 +02:00
unknown
d551902b8f Merge mysql.com:/home/svoj/devel/mysql/BUG25729/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG25729/mysql-5.1-engines


mysql-test/r/fulltext_left_join.result:
  Auto merged
mysql-test/t/fulltext_left_join.test:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
2007-04-03 12:38:15 +05:00