mirror of
https://github.com/MariaDB/server.git
synced 2025-01-25 00:04:33 +01:00
066c90563a
net_printf/send_error calls replaced by my_error family functions -1/1 (sent/unsent) error reporting removed (WL#2133) include/mysqld_error.h: new errors added. mysql-test/r/rpl_charset.result: new error mysql-test/r/rpl_timezone.result: new error mysql-test/r/sp-security.result: more clean error message mysql-test/r/sp.result: now error state intercepted correctly mysql-test/t/connect.test: new error message mysql-test/t/rpl_charset.test: new error message mysql-test/t/rpl_timezone.test: new error mysql-test/t/sp-security.test: more correct error handling mysql-test/t/sp.test: now error state intercepted correctly sql/ha_innodb.cc: -1/1 (sent/unsent) error reporting removed sql/ha_innodb.h: -1/1 (sent/unsent) error reporting removed sql/item.cc: only boolean values should be returned by fix_fields() sql/item_cmpfunc.cc: only boolean values should be returned by fix_fields() sql/item_func.cc: only boolean values should be returned by fix_fields() net_printf/send_error calls replaced by my_error family functions sql/item_row.cc: only boolean values should be returned by fix_fields() sql/item_subselect.cc: only boolean values should be returned by fix_fields() -1/1 (sent/unsent) error reporting removed sql/item_subselect.h: -1/1 (sent/unsent) error reporting removed sql/item_sum.cc: only boolean values should be returned by fix_fields() sql/item_timefunc.cc: only boolean values should be returned by fix_fields() sql/item_uniq.h: only boolean values should be returned by fix_fields() sql/mysql_priv.h: -1/1 (sent/unsent) error reporting removed sql/mysqld.cc: net_printf/send_error calls replaced by my_error family functions changes in my_message_sql to support error handling correctly sql/protocol.cc: net_printf/send_error calls replaced by my_error family functions sql/protocol_cursor.cc: net_printf/send_error calls replaced by my_error family functions sql/repl_failsafe.cc: net_printf/send_error calls replaced by my_error family functions -1/1 (sent/unsent) error reporting removed sql/repl_failsafe.h: -1/1 (sent/unsent) error reporting removed sql/set_var.cc: net_printf/send_error calls replaced by my_error family functions sql/share/czech/errmsg.txt: new error messages sql/share/danish/errmsg.txt: new error messages sql/share/dutch/errmsg.txt: new error messages sql/share/english/errmsg.txt: new error messages sql/share/estonian/errmsg.txt: new error messages sql/share/french/errmsg.txt: new error messages sql/share/german/errmsg.txt: new error messages sql/share/greek/errmsg.txt: new error messages sql/share/hungarian/errmsg.txt: new error messages sql/share/italian/errmsg.txt: new error messages sql/share/japanese/errmsg.txt: new error messages sql/share/korean/errmsg.txt: new error messages sql/share/norwegian-ny/errmsg.txt: new error messages sql/share/norwegian/errmsg.txt: new error messages sql/share/polish/errmsg.txt: new error messages sql/share/portuguese/errmsg.txt: new error messages sql/share/romanian/errmsg.txt: new error messages sql/share/russian/errmsg.txt: new error messages sql/share/serbian/errmsg.txt: new error messages sql/share/slovak/errmsg.txt: new error messages sql/share/spanish/errmsg.txt: new error messages sql/share/swedish/errmsg.txt: new error messages sql/share/ukrainian/errmsg.txt: new error messages sql/slave.cc: net_printf/send_error calls replaced by my_error family functions -1/1 (sent/unsent) error reporting removed sql/slave.h: -1/1 (sent/unsent) error reporting removed sql/sp.cc: net_printf/send_error calls replaced by my_error family functions sql/sp_head.cc: new eror handling support net_printf/send_error calls replaced by my_error family functions sql/sp_rcontext.cc: net_printf/send_error calls replaced by my_error family functions sql/sql_acl.cc: net_printf/send_error calls replaced by my_error family functions -1/1 (sent/unsent) error reporting removed sql/sql_acl.h: -1/1 (sent/unsent) error reporting removed sql/sql_base.cc: -1/1 (sent/unsent) error reporting removed net_printf/send_error calls replaced by my_error family functions sql/sql_class.cc: net_printf/send_error calls replaced by my_error family functions sql/sql_class.h: my_messhage_sql now set/reset query_error flag sql/sql_db.cc: -1/1 (sent/unsent) error reporting removed sql/sql_delete.cc: -1/1 (sent/unsent) error reporting removed net_printf/send_error calls replaced by my_error family functions sql/sql_do.cc: -1/1 (sent/unsent) error reporting removed sql/sql_error.cc: -1/1 (sent/unsent) error reporting removed sql/sql_handler.cc: -1/1 (sent/unsent) error reporting removed net_printf/send_error calls replaced by my_error family functions sql/sql_help.cc: net_printf/send_error calls replaced by my_error family functions -1/1 (sent/unsent) error reporting removed sql/sql_insert.cc: -1/1 (sent/unsent) error reporting removed net_printf/send_error calls replaced by my_error family functions sql/sql_lex.h: -1/1 (sent/unsent) error reporting removed sql/sql_load.cc: -1/1 (sent/unsent) error reporting removed sql/sql_map.cc: errors without code removed sql/sql_parse.cc: net_printf/send_error calls replaced by my_error family functions -1/1 (sent/unsent) error reporting removed from mysql_execute_command sql/sql_prepare.cc: net_printf/send_error calls replaced by my_error family functions -1/1 (sent/unsent) error reporting removed sql/sql_repl.cc: error messages fixed net_printf/send_error calls replaced by my_error family functions -1/1 (sent/unsent) error reporting removed sql/sql_repl.h: -1/1 (sent/unsent) error reporting removed sql/sql_select.cc: -1/1 (sent/unsent) error reporting removed sql/sql_select.h: -1/1 (sent/unsent) error reporting removed sql/sql_show.cc: -1/1 (sent/unsent) error reporting removed net_printf/send_error calls replaced by my_error family functions sql/sql_table.cc: net_printf/send_error calls replaced by my_error family functions -1/1 (sent/unsent) error reporting removed sql/sql_trigger.cc: -1/1 (sent/unsent) error reporting removed sql/sql_udf.cc: net_printf/send_error calls replaced by my_error family functions sql/sql_union.cc: -1/1 (sent/unsent) error reporting removed sql/sql_update.cc: -1/1 (sent/unsent) error reporting removed net_printf/send_error calls replaced by my_error family functions sql/sql_view.cc: -1/1 (sent/unsent) error reporting removed sql/sql_view.h: -1/1 (sent/unsent) error reporting removed sql/sql_yacc.yy: net_printf/send_error calls replaced by my_error family functions
154 lines
4.7 KiB
Text
154 lines
4.7 KiB
Text
# Replication of character sets.
|
||
# This test will fail if the server/client does not support enough charsets.
|
||
|
||
# Remember that there currently exists
|
||
# Bug #2326: Charset of table is determined by charset of db only if "USE db;"
|
||
|
||
source include/master-slave.inc;
|
||
--disable_warnings
|
||
drop database if exists mysqltest2;
|
||
drop database if exists mysqltest3;
|
||
--enable_warnings
|
||
|
||
create database mysqltest2 character set latin2;
|
||
set @@character_set_server=latin5;
|
||
create database mysqltest3;
|
||
--disable_query_log
|
||
select "--- --master--" as "";
|
||
--enable_query_log
|
||
show create database mysqltest2;
|
||
show create database mysqltest3;
|
||
sync_slave_with_master;
|
||
--disable_query_log
|
||
select "--- --slave--" as "";
|
||
--enable_query_log
|
||
show create database mysqltest2;
|
||
show create database mysqltest3;
|
||
|
||
connection master;
|
||
set @@collation_server=armscii8_bin;
|
||
drop database mysqltest3;
|
||
create database mysqltest3;
|
||
--disable_query_log
|
||
select "--- --master--" as "";
|
||
--enable_query_log
|
||
show create database mysqltest3;
|
||
sync_slave_with_master;
|
||
--disable_query_log
|
||
select "--- --slave--" as "";
|
||
--enable_query_log
|
||
show create database mysqltest3;
|
||
|
||
connection master;
|
||
use mysqltest2;
|
||
create table t1 (a int auto_increment primary key, b varchar(100));
|
||
set character_set_client=cp850, collation_connection=latin2_croatian_ci;
|
||
insert into t1 (b) values(@@character_set_server);
|
||
insert into t1 (b) values(@@collation_server);
|
||
# character_set_database and collation_database are not tested as they
|
||
# are not replicated (Bar said that this variable may be removed shortly).
|
||
insert into t1 (b) values(@@character_set_client);
|
||
# collation_client does not exist
|
||
insert into t1 (b) values(@@character_set_connection);
|
||
insert into t1 (b) values(@@collation_connection);
|
||
--disable_query_log
|
||
select "--- --master--" as "";
|
||
--enable_query_log
|
||
select * from t1 order by a;
|
||
sync_slave_with_master;
|
||
--disable_query_log
|
||
select "--- --slave--" as "";
|
||
--enable_query_log
|
||
select * from mysqltest2.t1 order by a;
|
||
|
||
connection master;
|
||
set character_set_client=latin1, collation_connection=latin1_german1_ci;
|
||
truncate table t1;
|
||
insert into t1 (b) values(@@collation_connection);
|
||
insert into t1 (b) values(LEAST("M<>ller","Muffler"));
|
||
set collation_connection=latin1_german2_ci;
|
||
insert into t1 (b) values(@@collation_connection);
|
||
insert into t1 (b) values(LEAST("M<>ller","Muffler"));
|
||
--disable_query_log
|
||
select "--- --master--" as "";
|
||
--enable_query_log
|
||
select * from t1 order by a;
|
||
sync_slave_with_master;
|
||
--disable_query_log
|
||
select "--- --slave--" as "";
|
||
--enable_query_log
|
||
select * from mysqltest2.t1 order by a;
|
||
|
||
# See if SET ONE_SHOT gets into binlog when LOAD DATA
|
||
connection master;
|
||
load data infile '../../std_data/words.dat' into table t1 (b);
|
||
|
||
# See if user var is prefixed with collation in binlog and replicated well.
|
||
# Note: replication of user variables is broken as far as derivation is
|
||
# concerned. That's because when we store a user variable in the binlog,
|
||
# we lose its derivation. So later on the slave, it's impossible to
|
||
# know if the collation was explicit or not, so we use DERIVATION_NONE,
|
||
# which provokes error messages (like 'Illegal mix of collation') when
|
||
# we replay the master's INSERT/etc statements.
|
||
set @a= _cp850 'M<>ller' collate cp850_general_ci;
|
||
truncate table t1;
|
||
insert into t1 (b) values(collation(@a));
|
||
--disable_query_log
|
||
select "--- --master--" as "";
|
||
--enable_query_log
|
||
select * from t1 order by a;
|
||
sync_slave_with_master;
|
||
--disable_query_log
|
||
select "--- --slave--" as "";
|
||
--enable_query_log
|
||
select * from mysqltest2.t1 order by a;
|
||
|
||
connection master;
|
||
drop database mysqltest2;
|
||
drop database mysqltest3;
|
||
--replace_column 2 # 5 #
|
||
show binlog events from 95;
|
||
sync_slave_with_master;
|
||
|
||
# Check that we can't change global.collation_server
|
||
|
||
error 1386;
|
||
set global character_set_server=latin2;
|
||
connection master;
|
||
error 1386;
|
||
set global character_set_server=latin2;
|
||
|
||
# Check that SET ONE_SHOT is really one shot
|
||
|
||
set one_shot @@character_set_server=latin5;
|
||
set @@max_join_size=1000;
|
||
select @@character_set_server;
|
||
select @@character_set_server;
|
||
set @@character_set_server=latin5;
|
||
select @@character_set_server;
|
||
select @@character_set_server;
|
||
|
||
# ONE_SHOT on not charset/collation stuff is not allowed
|
||
error 1381;
|
||
set one_shot max_join_size=10;
|
||
|
||
# Test of wrong character set numbers;
|
||
error 1115;
|
||
set character_set_client=9999999;
|
||
error 1273;
|
||
set collation_server=9999998;
|
||
|
||
# This one was contributed by Sergey Petrunia (BUG#3943)
|
||
|
||
use test;
|
||
CREATE TABLE t1 (c1 VARBINARY(255), c2 VARBINARY(255));
|
||
SET CHARACTER_SET_CLIENT=koi8r,
|
||
CHARACTER_SET_CONNECTION=cp1251,
|
||
CHARACTER_SET_RESULTS=koi8r;
|
||
INSERT INTO t1 (c1, c2) VALUES ('<27><>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
||
select hex(c1), hex(c2) from t1;
|
||
sync_slave_with_master;
|
||
select hex(c1), hex(c2) from t1;
|
||
connection master;
|
||
drop table t1;
|
||
sync_slave_with_master;
|