mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
Addendum to bug 27417: removed tests for another bug
mysql-test/suite/binlog/t/binlog_stm_mix_innodb_myisam.test:
Addendum to bug 27417: removed tests for another bug
mysql-test/suite/rpl/r/rpl_row_create_table.result:
Addendum to bug 27417: changes to non-transactional tables
should be logged even on rollback.
into magare.gmz:/home/kgeorge/mysql/autopush/B27417-5.0-opt
sql/handler.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
into gleb.loc:/home/uchum/work/bk/5.1-opt
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
mysql-test/r/sp.result:
Merge with 5.0-opt.
mysql-test/t/sp.test:
Merge with 5.0-opt.
into mysql.com:/home/hf/work/29717/my51-29717
mysql-test/r/group_by.result:
Auto merged
mysql-test/r/insert_select.result:
Auto merged
mysql-test/t/group_by.test:
Auto merged
mysql-test/t/insert_select.test:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_select.h:
Auto merged
SELECT statement itself returns empty.
As a result of this bug 'SELECT AGGREGATE_FUNCTION(fld) ... GROUP BY'
can return one row instead of an empty result set.
When GROUP BY only has fields of constant tables
(with a single row), the optimizer deletes the group_list.
After that we lose the information about whether we had an
GROUP BY statement. Though it's important
as SELECT min(x) from empty_table; and
SELECT min(x) from empty_table GROUP BY y; have to return
different results - the first query should return one row,
second - an empty result set.
So here we add the 'group_optimized_away' flag to remember this case
when GROUP BY exists in the query and is removed
by the optimizer, and check this flag in end_send_group()
mysql-test/r/group_by.result:
Bug #29717 INSERT INTO SELECT inserts values even if
SELECT statement itself returns empty.
test result
mysql-test/r/insert_select.result:
Bug #29717 INSERT INTO SELECT inserts values even if
SELECT statement itself returns empty.
test result
mysql-test/t/group_by.test:
Bug #29717 INSERT INTO SELECT inserts values even if
SELECT statement itself returns empty.
This is additional testcase that is more basic than the
original bug's testcase and has the same reason.
mysql-test/t/insert_select.test:
Bug #29717 INSERT INTO SELECT inserts values even if
SELECT statement itself returns empty.
test case
sql/sql_select.cc:
Bug #29717 INSERT INTO SELECT inserts values even if
SELECT statement itself returns empty.
Remember the 'GROUP BY was optimized away' case in the JOIN::group_optimized
and check this in the end_send_group()
sql/sql_select.h:
Bug #29717 INSERT INTO SELECT inserts values even if
SELECT statement itself returns empty.
JOIN::group_optimized member added to remember the 'GROUP BY optimied away'
case
into mysql.com:/home/kent/bk/config_h/mysql-5.1-build
config/ac-macros/misc.m4:
Auto merged
configure.in:
Auto merged
include/Makefile.am:
Auto merged
mysql-test/std_data/cacert.pem:
Auto merged
mysql-test/std_data/client-cert.pem:
Auto merged
mysql-test/std_data/client-key.pem:
Auto merged
mysql-test/std_data/server-cert.pem:
Auto merged
mysql-test/std_data/server-key.pem:
Auto merged
mysys/my_pthread.c:
Auto merged
scripts/make_binary_distribution.sh:
Auto merged
BitKeeper/deleted/.del-Makefile.am~de166d6fcac3b9b6:
Auto merged
Corrective patch to fix test failures in pushbuild and add assertions
to help debug rpl_extraColmaster test failures.
mysql-test/extra/rpl_tests/rpl_row_tabledefs.test:
WL#3915 : (NDB) master's cols > slave
Change test to omit the port numbers in the result file.
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
WL#3915 : (NDB) master's cols > slave
Corrected result file.
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
WL#3915 : (NDB) master's cols > slave
Corrected result file.
sql/rpl_utility.cc:
WL#3915 : (NDB) master's cols > slave
Added assertions to assist in debugging.
Merge magare.gmz:/home/kgeorge/mysql/work/B27417-5.0-opt
into magare.gmz:/home/kgeorge/mysql/work/B27417-5.1-opt
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_table.cc:
Auto merged
mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
merge of bug 27471 from 5.0-opt to 5.1-opt
sql/log.cc:
merge of bug 27471 from 5.0-opt to 5.1-opt
sql/set_var.cc:
merge of bug 27471 from 5.0-opt to 5.1-opt
sql/sp_head.cc:
merge of bug 27471 from 5.0-opt to 5.1-opt
sql/sql_delete.cc:
merge of bug 27471 from 5.0-opt to 5.1-opt
sql/sql_insert.cc:
merge of bug 27471 from 5.0-opt to 5.1-opt
sql/sql_load.cc:
merge of bug 27471 from 5.0-opt to 5.1-opt
sql/sql_parse.cc:
merge of bug 27471 from 5.0-opt to 5.1-opt
sql/sql_update.cc:
merge of bug 27471 from 5.0-opt to 5.1-opt
Changed test to enable easier debugging.
mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test:
WL#3915 : (NDB) master's cols > slave
Changes to test in order to aide debugging.
mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result:
WL#3915 : (NDB) master's cols > slave
New result file for test changes.
mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result:
WL#3915 : (NDB) master's cols > slave
New result file for test changes.
mysql-test/suite/rpl/r/rpl_row_extraColmaster_ndb.result:
WL#3915 : (NDB) master's cols > slave
New result file for test changes.
into linux.site:/home/omer/source/jrg51
mysql-test/suite/funcs_1/datadict/datadict_master.inc:
Auto merged
mysql-test/suite/funcs_1/r/innodb__datadict.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_0102.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_08.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_09.result:
Auto merged
mysql-test/suite/funcs_1/r/innodb_views.result:
Auto merged
mysql-test/suite/funcs_1/r/memory__datadict.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_trig_0102.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_trig_08.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_trig_09.result:
Auto merged
mysql-test/suite/funcs_1/r/memory_views.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam__datadict.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_0102.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_08.result:
Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_09.result:
Auto merged
mysql-test/suite/funcs_1/triggers/triggers_0102.inc:
Auto merged
mysql-test/suite/funcs_1/views/func_view.inc:
Auto merged
mysql-test/suite/funcs_1/r/innodb_func_view.result:
manual merge
mysql-test/suite/funcs_1/r/memory_func_view.result:
manual merge
mysql-test/suite/funcs_1/r/myisam_func_view.result:
manual merge
mysql-test/suite/funcs_1/r/myisam_views.result:
manual merge
Bug #27417 thd->no_trans_update.stmt lost value inside of SF-exec-stack
Once had been set the flag might later got reset inside of a stored routine
execution stack.
The reason was in that there was no check if a new statement started at time
of resetting.
The artifact affects most of binlogable DML queries. Notice, that multi-update
is wrapped up within
bug@27716 fix, multi-delete bug@29136.
Fixed with saving parent's statement flag of whether the statement modified
non-transactional table, and unioning (merging) the value with that was gained
in mysql_execute_command.
Resettling thd->no_trans_update members into thd->transaction.`member`;
Asserting code;
Effectively the following properties are held.
1. At the end of a substatement thd->transaction.stmt.modified_non_trans_table
reflects the fact if such a table got modified by the substatement.
That also respects THD::really_abort_on_warnin() requirements.
2. Eventually thd->transaction.stmt.modified_non_trans_table will be computed as
the union of the values of all invoked sub-statements.
That fixes this bug#27417;
Computing of thd->transaction.all.modified_non_trans_table is refined to base to
the stmt's value for all the case including insert .. select statement which
before the patch had an extra issue bug@28960.
Minor issues are covered with mysql_load, mysql_delete, and binloggin of insert in
to temp_table select.
The supplied test verifies limitely, mostly asserts. The ultimate testing is defered
for bug@13270, bug@23333.
mysql-test/r/mix_innodb_myisam_binlog.result:
results changed
mysql-test/t/mix_innodb_myisam_binlog.test:
regression test incl the related bug#28960.
sql/ha_ndbcluster.cc:
thd->transaction.{all,stmt}.modified_non_trans_table
instead of
thd->no_trans_update.{all,stmt}
sql/handler.cc:
thd->transaction.{all,stmt}.modified_non_trans_table
instead of
thd->no_trans_update.{all,stmt}
sql/handler.h:
new member added
sql/log.cc:
thd->transaction.{all,stmt}.modified_non_trans_table
instead of
thd->no_trans_update.{all,stmt}
sql/set_var.cc:
thd->transaction.{all,stmt}.modified_non_trans_table
instead of
thd->no_trans_update.{all,stmt}
sql/sp_head.cc:
thd->transaction.{all,stmt}.modified_non_trans_table
instead of
thd->no_trans_update.{all,stmt}
and saving and merging stmt's flag at the end of a substatement.
sql/sql_class.cc:
thd->transaction.{all,stmt}.modified_non_trans_table
instead of
thd->no_trans_update.{all,stmt}
sql/sql_class.h:
thd->transaction.{all,stmt}.modified_non_trans_table
instead of
thd->no_trans_update.{all,stmt}
sql/sql_delete.cc:
correcting basic delete incl truncate branch and multi-delete queries to set
stmt.modified_non_trans_table;
optimization to set the flag at the end of per-row loop;
multi-delete still has an extra issue similar to bug#27716 of multi-update
- to be address with bug_29136 fix.
sql/sql_insert.cc:
thd->transaction.{all,stmt}.modified_non_trans_table
instead of
thd->no_trans_update.{all,stmt}
sql/sql_load.cc:
eliminating a separate issue where the stmt flag was saved and re-stored after
write_record that actually could change it and the change would be lost but
should remain permanent;
thd->transaction.{all,stmt}.modified_non_trans_table
instead of
thd->no_trans_update.{all,stmt}
sql/sql_parse.cc:
initialization to transaction.stmt.modified_non_trans_table at the common part
of all types of statements processing - mysql_execute_command().
sql/sql_table.cc:
moving the reset up to the mysql_execute_command() caller
sql/sql_update.cc:
correcting update query case (multi-update part of the issues covered by other
bug#27716 fix)
thd->transaction.{all,stmt}.modified_non_trans_table
instead of
thd->no_trans_update.{all,stmt}
This patch includes changes to result files for tests issuing BINLOG
queries. The values have changed due to a size difference in the
table map.
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
WL#3228 (NDB) : RBR using different table defs on slave/master
New results file for changes to binlog table map log event size.
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
WL#3228 (NDB) : RBR using different table defs on slave/master
New results file for changes to binlog table map log event size.
into moonbone.local:/mnt/gentoo64/work/24989-bug-5.0-opt-mysql
sql/ha_innodb.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
When innodb detects a deadlock it calls ha_rollback_trans() to rollback the
main transaction. But such action isn't allowed from inside of triggers and
functions. When it happen the 'Explicit or implicit commit' error is thrown
even if there is no commit/rollback statements in the trigger/function. This
leads to the user confusion.
Now the convert_error_code_to_mysql() function doesn't call the
ha_rollback_trans() function directly but rather calls the
mark_transaction_to_rollback function and returns an error.
The sp_rcontext::find_handler() now doesn't allow errors to be caught by the
trigger/function error handlers when the thd->is_fatal_sub_stmt_error flag
is set. Procedures are still allowed to catch such errors.
The sp_rcontext::find_handler function now accepts a THD handle as a parameter.
The transaction_rollback_request and the is_fatal_sub_stmt_error flags are
added to the THD class. The are initialized by the THD class constructor.
Now the ha_autocommit_or_rollback function rolls back main transaction
when not in a sub statement and the thd->transaction_rollback_request
is set.
The THD::restore_sub_statement_state function now resets the
thd->is_fatal_sub_stmt_error flag on exit from a sub-statement.
sql/ha_innodb.cc:
Bug#24989: The DEADLOCK error is improperly handled by InnoDB.
Now the convert_error_code_to_mysql() function doesn't call the
ha_rollback_trans() function directly but rather calls the
mark_transaction_to_rollback function and returns an error.
sql/handler.cc:
Bug#24989: The DEADLOCK error is improperly handled by InnoDB.
Now the ha_autocommit_or_rollback function rolls back main transaction
when not in a sub statement and the thd->transaction_rollback_request
is set.
mysql-test/r/innodb-big.result:
Added a test case for the bug#24989: The DEADLOCK error is improperly handled by
InnoDB.
mysql-test/t/innodb-big.test:
Added a test case for the bug#24989: The DEADLOCK error is improperly handled by
InnoDB.
sql/sql_class.h:
Bug#24989: The DEADLOCK error is improperly handled by InnoDB.
The transaction_rollback_request and the is_fatal_sub_stmt_error flags are
added to the THD class.
sql/sql_class.cc:
Bug#24989: The DEADLOCK error is improperly handled by InnoDB.
Initialization of the transaction_rollback_request and the
is_fatal_sub_stmt_error flags are added to the THD class constructor.
The mark_transaction_to_rollback function is added.
The THD::restore_sub_statement_state function now resets the
thd->is_fatal_sub_stmt_error flag on exit from a sub-statement.
sql/sp_rcontext.h:
Bug#24989: The DEADLOCK error is improperly handled by InnoDB.
The sp_rcontext::find_handler function now accepts a THD handle as a parameter.
The in_sub_stmt flag is added to the sp_rcontext class.
sql/sp_rcontext.cc:
Bug#24989: The DEADLOCK error is improperly handled by InnoDB.
The sp_rcontext::find_handler() now doesn't allow errors to be caught by the
trigger/function error handlers when the thd->is_fatal_sub_stmt_error flag
is set. Instead it tries to find a most inner procedure that isn't called
directly or indirectly from any function/trigger.
Procedures are still allowed to catch such errors.
The sp_rcontext::find_handler function now accepts a THD handle as a parameter.
Fixing tests and results to work when replicating to fewer columns on
slave than on master. One test that previously should fail, now works,
and some log positions have changed as a result of adding metadata to
the events.
mysql-test/extra/rpl_tests/rpl_row_tabledefs.test:
Replication to fewer columns on slave now works.
mysql-test/include/wait_for_slave_to_stop.inc:
Adding subsitutions for SHOW SLAVE STATUS
mysql-test/suite/binlog/r/binlog_row_binlog.result:
Result change.
mysql-test/suite/rpl/r/rpl_rbr_to_sbr.result:
Result change.
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
Result change.
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
Result change.
mysql-test/suite/rpl/r/rpl_slave_skip.result:
Result change.
mysql-test/suite/rpl/t/rpl_skip_error-slave.opt:
Error number changed [!]
--long-query-time is now given in seconds with microseconds as decimals
--min_examined_row_limit added for slow query log
long_query_time user variable is now double with 6 decimals
Added functions to get time in microseconds
Added faster time() functions for system that has gethrtime() (Solaris)
We now do less time() calls.
Added field->in_read_set() and field->in_write_set() for easier field manipulation by handlers
set_var.cc and my_getopt() can now handle DOUBLE variables.
All time() calls changed to my_time()
my_time() now does retry's if time() call fails.
Added debug function for stopping in mysql_admin_table() when tables are locked
Some trivial function and struct variable renames to avoid merge errors.
Fixed compiler warnings
Initialization of some time variables on windows moved to my_init()
include/my_getopt.h:
Added support for double arguments
include/my_sys.h:
Fixed wrong type to packfrm()
Added new my_time functions
include/mysql/plugin.h:
Added support for DOUBLE
libmysql/CMakeLists.txt:
Added new time functions
libmysql/Makefile.shared:
Added new time functions
mysql-test/r/variables.result:
Testing of long_query_time
mysql-test/t/variables.test:
Testing of long_query_time
mysys/charset.c:
Fixed compiler warnings
mysys/default_modify.c:
Fixed compiler warnings
mysys/hash.c:
Fixed compiler warnings
mysys/mf_getdate.c:
Use my_time()
mysys/mf_iocache2.c:
Fixed compiler warnings
mysys/mf_pack.c:
Fixed compiler warnings
mysys/mf_path.c:
Fixed compiler warnings
mysys/my_append.c:
Fixed compiler warnings
mysys/my_compress.c:
Fixed compiler warnings
mysys/my_copy.c:
Fixed compiler warnings
mysys/my_gethwaddr.c:
Fixed compiler warnings
mysys/my_getopt.c:
Added support for double arguments
mysys/my_getsystime.c:
Added functions to get time in microseconds.
Added faster time() functions for system that has gethrtime() (Solaris)
Moved windows initialization code to my_init()
mysys/my_init.c:
Added initializing of variables needed for windows time functions
mysys/my_static.c:
Added variables needed for windows time functions
mysys/my_static.h:
Added variables needed for windows time functions
mysys/my_thr_init.c:
Added THR_LOCK_time, used for faster my_time()
mysys/mysys_priv.h:
Added THR_LOCK_time, used for faster my_time()
mysys/thr_alarm.c:
time() -> my_time()
sql/event_data_objects.cc:
end_time() -> set_current_time()
sql/event_queue.cc:
end_time() -> set_current_time()
sql/event_scheduler.cc:
Fixed compiler warnings
sql/field.h:
Added field->in_read_set() and field->in_write_set() for easier field manipulation by handlers
sql/item.h:
Added decimal to Item_float(double)
sql/item_cmpfunc.h:
Added decimal to Item_float(double)
sql/item_timefunc.cc:
time() -> my_time()
sql/item_xmlfunc.cc:
Fixed compiler warning
sql/lock.cc:
lock_time() -> set_time_after_lock()
sql/log.cc:
Timing in slow query log to file is now done in microseconds
Changed some while() loops to for() loops.
Fixed indentation
time() -> my_time()
sql/log.h:
Slow query logging is now done based on microseconds
sql/log_event.cc:
time() -> my_time()
Fixed arguments to new Item_float()
sql/mysql_priv.h:
Fixed compiler warnings
Added opt_log_slow_slave_statements
sql/mysqld.cc:
Added --log_slow_slave_statements and --min_examined_row_limit
--long-query-time now takes a double argument with microsecond resolution
Don't write shutdown message when using --help
Removed not needed \n
Thread create time and connect time is now done in microseconds
time() -> my_time()
Avoid some time() calls
sql/net_serv.cc:
Fixed compiler warnings
sql/parse_file.cc:
time() -> my_time()
sql/set_var.cc:
Added support for DOUBLE variables
Added support for variables that are given in seconds with microsecond resolution
sql/set_var.h:
Added support for variables that are given in seconds with microsecond resolution
sql/slave.cc:
Allow logging of slave queries to slow query log if 'opt_log_slow_slave_statements' is given
time() -> my_time()
sql/sql_cache.h:
Fixed compiler warning()
sql/sql_class.cc:
Initialize new THD variables
sql/sql_class.h:
long_query_time is now in microseconds
Added min_examined_row_limit
Reordered some THD elements for higher efficency
Added timers in microseconds (connect_utime, thr_create_utime, start_utime and utime_after_lock)
Start of query is now recorded both in seconds and in microseconds.
Following renames was made for more clarity and avoid merge problems from earlier versions:
connect_time -> connect_utime
thr_create_time -> thr_create_utime
end_time() -> set_current_time()
lock_time() -> set_time_after_lock()
Added THD::start_utime, which is start of query in microseconds from some arbitary time
Added function THD::current_utime()
Removed safe_time() as retry's are handled in my_time()
sql/sql_connect.cc:
User resources are now using microsecond resolution
sql/sql_insert.cc:
end_time() -> set_current_time()
sql-common/client.c:
time() -> my_time()
sql/sql_parse.cc:
Testing if we should print to slow_query_log() is now done with microsecond precission.
If min_examined_row_limit is given, only log queries to slow query log that has examined more rows than this.
sql/sql_select.cc:
Simplify code now that Item_float() takes decimals as argument
sql/sql_show.cc:
time() -> my_time()
Added support for SYS_DOUBLE
sql/sql_table.cc:
Added debug function for stopping in mysql_admin_table() when tables are locked
sql/structs.h:
intime -> reset_utime
SP with local variables with non-ASCII names crashed the server.
The server replaces SP local variable names with NAME_CONST calls
when putting statements into the binary log. It used UTF8-encoded
item names as variable names for the replacement inside NAME_CONST
calls. However, statement string may be encoded by any
known character set by the SET NAMES statement.
The server used byte length of UTF8-encoded names to increment
the position in the query string that led to array index overrun.
sql/item.cc:
Fixed bug #30120.
The Item_splocal class constructor has been modified to
accept new parameter `len_in_q': the byte length of
variable name in the query string.
sql/item.h:
Fixed bug #30120.
The Item_splocal class has been modified to keep new
field `len_in_query': the byte length of variable name in
the query string.
sql/sp_head.cc:
Fixed bug #30120.
The subst_spvars function has been modified to increment
position in the query string by the lengths of not
encoded variable names instead of byte length of names
encoded to UTF-8.
sql/sql_yacc.yy:
Fixed bug #30120.
The simple_ident rule action has been modified to
pass the byte length of the local variable name token
to the Item_splocal object constructor.
mysql-test/t/sp.test:
Updated test case for bug #30120.
mysql-test/r/sp.result:
Updated test case for bug #30120.
This patch adds the ability to store extra field metadata in the table
map event. This data can include pack_length() or field_lenght() for
fields such as CHAR or VARCHAR enabling developers to add code that
can check for compatibilty between master and slave columns. More
importantly, the extra field metadata can be used to store data from the
master correctly should a VARCHAR field on the master be <= 255 bytes
while the same field on the slave is > 255 bytes.
The patch also includes the needed changes to unpack to ensure that data
which is smaller on the master can be unpacked correctly on the slave.
WL#3915 : (NDB) master's cols > slave
Slave starts accepting and handling rows of master's tables which have more columns.
The most important part of implementation is how to caclulate the amount of bytes to
skip for unknown by slave column.
mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test:
WL#3228 : RBR using different table defs on slave/master
This patch changes the test to coincide with changes to binlog
size of table map event.
mysql-test/suite/rpl/r/rpl_row_basic_11bugs.result:
WL#3228 : RBR using different table defs on slave/master
This patch contains a new result file as a result of the change to the
size of the tablemap log event.
mysql-test/suite/rpl/r/rpl_row_create_table.result:
WL#3228 : RBR using different table defs on slave/master
This patch contains a new result file as a result of the change to the
size of the tablemap log event.
mysql-test/suite/rpl/r/rpl_row_flsh_tbls.result:
WL#3228 : RBR using different table defs on slave/master
This patch contains a new result file as a result of the change to the
size of the tablemap log event.
mysql-test/suite/rpl/r/rpl_row_inexist_tbl.result:
WL#3228 : RBR using different table defs on slave/master
This patch contains a new result file as a result of the change to the
size of the tablemap log event.
mysql-test/suite/rpl/r/rpl_row_log.result:
WL#3228 : RBR using different table defs on slave/master
This patch contains a new result file as a result of the change to the
size of the tablemap log event.
mysql-test/suite/rpl/r/rpl_row_log_innodb.result:
WL#3228 : RBR using different table defs on slave/master
This patch contains a new result file as a result of the change to the
size of the tablemap log event.
mysql-test/suite/rpl/r/rpl_row_max_relay_size.result:
WL#3228 : RBR using different table defs on slave/master
This patch contains a new result file as a result of the change to the
size of the tablemap log event.
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
WL#3228 : RBR using different table defs on slave/master
This patch contains a new result file as a result of the change to the
size of the tablemap log event.
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
WL#3228 : RBR using different table defs on slave/master
This patch contains a new result file as a result of the change to the
size of the tablemap log event.
mysql-test/suite/rpl/r/rpl_row_until.result:
WL#3228 : RBR using different table defs on slave/master
This patch contains a new result file as a result of the change to the
size of the tablemap log event.
mysql-test/suite/rpl/r/rpl_skip_error.result:
WL#3228 : RBR using different table defs on slave/master
This patch contains a new result file as a result of the change to the
size of the tablemap log event.
mysql-test/suite/rpl/t/disabled.def:
WL#3915 master's cols > slave
Disabled the rpl_stm_extraColmaster_ndb test because statement-based
replication is not supported in NDB at this time. It can be enabled
when statement-based replication for NDB is released.
mysql-test/suite/rpl/t/rpl_row_create_table.test:
WL#3228 : RBR using different table defs on slave/master
This patch corrects binlog positions a result of the change to the
size of the tablemap log event.
mysql-test/suite/rpl/t/rpl_row_flsh_tbls.test:
WL#3228 : RBR using different table defs on slave/master
This patch corrects binlog positions a result of the change to the
size of the tablemap log event.
mysql-test/suite/rpl_ndb/r/rpl_ndb_log.result:
WL#3228 : RBR using different table defs on slave/master
This patch contains a new result file as a result of the change to the
size of the tablemap log event.
mysql-test/suite/rpl_ndb/r/rpl_truncate_7ndb.result:
WL#3228 : RBR using different table defs on slave/master
This patch contains a new result file as a result of the change to the
size of the tablemap log event.
sql/field.cc:
WL#3228 : RBR using different table defs on slave/master
This patch includes updates to the unpack() methods for the variable
length fields. A new parameter was added (from_length) that is the
value stored in the field_metadata of the table map from the table_def
class. If the value is non-zero and less than what the field on the
slave is then use the from_length else use the original value from the
field on the slave.
sql/field.h:
L#3228 : RBR using different table defs on slave/master
This patch includes updates to the unpack() methods for the variable
length fields. A new parameter was added (from_length) that is the
value stored in the field_metadata of the table map from the table_def
class.
sql/log_event.cc:
WL#3228 : RBR using different table defs on slave/master
This patch adds methods to calculate the field metadata size, prepare
the field metadata for writing to the binlog, and additions to the
Table_map_log_event::write_body method to include the field metadata
in the table map that is written to the binlog.
WL#3915 master's cols > slave
copying extra (slave's) fields returns early if master's table version is wider;
removing assert in the way of master > slave cols.
sql/log_event.h:
WL#3228 : RBR using different table defs on slave/master
This patch adds method declarations and variables needed to support
storing field metadata in the table map that is written to the binlog.
sql/rpl_record.cc:
WL#3228 : RBR using different table defs on slave/master
This patch modifies the unpack_row() method to unpack fields passing in
the value from the table_def class. This value is the extra field
metadata stored there from the master.
WL#3915 master's cols > slave
adding a snippet that shift exectution curson donw the row skipping unknown by slave
fields' data.
sql/rpl_rli.h:
WL#3228 : RBR using different table defs on slave/master
This patch adds a helper function to retrieve the table_def for a given
table in the RPL_TABLE_LIST structure.
sql/rpl_utility.cc:
WL#3228 : RBR using different table defs on slave/master
This patch adds a helper method that retrieves the correct size
parameter for the field. This method is used to compare the size as
sent by the master with that on the slave for all types of fields that
can vary in size and storage requirements.
WL#3915 master's cols > slave
Remove warning message for master's cols > slave.
sql/rpl_utility.h:
WL#3228 : RBR using different table defs on slave/master
This patch changes the table_def class constructor to pass in the raw
data read from the table map and extract it into an array of dimension
size (number of fields). It also adds a method to return the field
metadata for any field. The method returns the data stored in the table
map or 0 if no data was stored for that field. Lastly, a method to return
the results of field->maybe_null() is included so that the slave can
determine if a field that is not on the slave is null.
mysql-test/suite/rpl/t/rpl_colSize.test:
WL#3228 : RBR using different table defs on slave/master
This patch contains a new test designed to test the feature of having
columns on the master that are smaller than what is on the slave.
mysql-test/suite/rpl/t/rpl_extraColmaster_innodb-master.opt:
WL#3915 master's cols > slave
option for innodb
mysql-test/suite/rpl/t/rpl_extraColmaster_innodb-slave.opt:
WL#3915 master's cols > slave
option for innodb
mysql-test/suite/rpl/t/rpl_extraColmaster_innodb.test:
WL#3915 master's cols > slave
Test of innodb. Test runs in both statement- and row-based replication.
mysql-test/suite/rpl/t/rpl_extraColmaster_myisam.test:
WL#3915 master's cols > slave
Test of myisam. Test runs in both statement- and row-based replication.
mysql-test/suite/rpl/r/rpl_colSize.result:
WL#3228 : RBR using different table defs on slave/master
This patch contains a result file for the new test designed to test the
feature of having columns on the master that are smaller than what is
on the slave.
mysql-test/suite/rpl/t/rpl_row_extraColmaster_ndb.test:
WL#3915 master's cols > slave
Test of ndb. Test runs in row-based replication.
mysql-test/suite/rpl/t/rpl_stm_extraColmaster_ndb.test:
WL#3915 master's cols > slave
Test of ndb. Test runs in statement-based replication.
mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result:
WL#3915 master's cols > slave
new results
mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result:
WL#3915 master's cols > slave
new results
mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test:
WL#3915 master's cols > slave
basic tests checking altering and skipping extra fields by slave.
The fields can be of any possible types.
mysql-test/suite/rpl/r/rpl_row_extraColmaster_ndb.result:
WL#3915 master's cols > slave
new results
into gleb.loc:/home/uchum/work/bk/5.1-opt
mysql-test/r/query_cache.result:
Auto merged
mysql-test/r/view.result:
Auto merged
mysql-test/t/query_cache.test:
Auto merged
sql/sql_show.cc:
Auto merged
mysql-test/t/view.test:
Merge with 5.0-opt.
sql/sp_head.cc:
Merge with 5.0-opt.
into gleb.loc:/home/uchum/work/bk/5.0-opt
sql/sql_base.cc:
Auto merged
mysql-test/r/sp.result:
Merge with local tree.
mysql-test/t/sp.test:
Merge with local tree.
Using view columns by their names during an execution of
a prepared SELECT statement or a SELECT statement inside
a SP caused a memory leak.
sql/sql_base.cc:
Fixed bug #29834.
The find_field_in_view function has been modified to
use the execution memory root for the Item_direct_view_ref
objects allocation at non-first executions of
a PS/SP instead of the statement memory.
mysql-test/t/sp.test:
Updated test case for bug #29834.
mysql-test/r/sp.result:
Updated test case for bug #29834.
information schema table.
The get_schema_views_record() function fills records in the view table of
the informations schema with data about given views. Among other info
the is_updatable flag is set. But the check whether the view is updatable or
not wasn't covering all cases thus sometimes providing wrong info.
This might led to a user confusion.
Now the get_schema_views_record function additionally calls to the
view->can_be_merge() function to find out whether the view can be updated or
not.
mysql-test/t/view.test:
Added a test case for the bug#30020: Insufficient check led to a wrong info
provided by the information schema table.
mysql-test/r/view.result:
Added a test case for the bug#30020: Insufficient check led to a wrong info
provided by the information schema table.
sql/sql_show.cc:
Bug#30020: Insufficient check led to a wrong info provided by the
information schema table.
Now the get_schema_views_record function additionally calls to the
view->can_be_merge() function to find out whether the view can be updated or
not.
The subst_spvars function is used to create query string with SP variables
substituted with their values. This string is used later for the binary log
and for the query cache. The problem is that the
query_cache_send_result_to_client function requires some additional space
after the query to store database name and query cache flags. This
space wasn't reserved by the subst_spvars function which led to a memory
corruption and crash.
Now the subst_spvars function reserves additional space for the query cache.
mysql-test/t/query_cache.test:
Added a test case for the bug#29856: Insufficient buffer space led to a server crash.
mysql-test/r/query_cache.result:
Added a test case for the bug#29856: Insufficient buffer space led to a server crash.
sql/sp_head.cc:
Bug#29856: Insufficient buffer space led to a server crash.
Now the subst_spvars function reserves additional space for the query cache.