mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 04:53:01 +01:00
944915cabe
When add an aliase name after NAME_CONST, the aliase name will be overwrite. NAME_CONST will re-set the field's name only if there isn't an aliase in the function fix-fields(). If there is an aliase, NAME_CONST doesn't re-set the field's name and keeps the old name. mysql-test/r/func_misc.result: Test result. mysql-test/r/rpl_name_const.result: Test case. mysql-test/t/func_misc.test: Add NAME_CONST test. mysql-test/t/rpl_name_const.test: Test result. sql/item.cc: Re-set field's name if the name is autogenerated, that mean without aliase.
47 lines
984 B
Text
47 lines
984 B
Text
# ==== Purpose ====
|
|
#
|
|
# Test that aliases of variables in binary log aren't ignored with NAME_CONST.
|
|
#
|
|
# ==== Method ====
|
|
#
|
|
# Create a procedure with aliases of variables, then replicate it to slave.
|
|
# BUG#35515 Aliases of variables in binary log are ignored with NAME_CONST.
|
|
#
|
|
|
|
source include/master-slave.inc;
|
|
|
|
--echo ==== Initialize ====
|
|
|
|
--echo [on master]
|
|
--connection master
|
|
|
|
create table t1 (id int);
|
|
|
|
--echo ==== create a procedure that has a column aliase in a subquery ====
|
|
--disable_warnings
|
|
drop procedure if exists test_procedure;
|
|
--enable_warnings
|
|
delimiter $$;
|
|
create procedure test_procedure(_id int)
|
|
begin
|
|
insert into t1 (id)
|
|
select a.id
|
|
from
|
|
( select _id as id ) a;
|
|
end;$$
|
|
delimiter ;$$
|
|
|
|
--echo ==== enable the binary log, then call the procedure ====
|
|
call test_procedure(1234);
|
|
|
|
|
|
--echo [on slave]
|
|
sync_slave_with_master;
|
|
select * from t1 order by id;
|
|
|
|
--echo ==== Clean up ====
|
|
|
|
--echo [on master]
|
|
connection master;
|
|
drop table t1;
|
|
drop procedure test_procedure;
|