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
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
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
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.
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.
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.
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.
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
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.
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.
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.
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
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.
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
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
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
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
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).
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
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
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
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
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
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
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
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.
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