mirror of
https://github.com/MariaDB/server.git
synced 2025-11-24 06:01:25 +03:00
Problem: replication of LC_TIME_NAMES didn't work.
Thus, INSERTS or UPDATES using date_format() always
worked with en_US on the slave side.
Fix: adding ONE_SHOT implementation for LC_TIME_NAMES.
mysql-test/r/variables.result:
Adding various tests with LC_TIME_NAMES and
string and numeric constants and expressions.
mysql-test/t/variables.test:
Adding various tests with LC_TIME_NAMES and
string and numeric constants and expressions.
sql/log.cc:
Adding ONE_SHOT trick for lc_time_names.
sql/mysql_priv.h:
Adding new member "number" - for unique locale IDs.
Adding prototype for my_locale_by_number().
sql/set_var.cc:
Modifying lc_time_names variable to understand both:
- string valyes (using locale name)
- number values (using locale IDs)
sql/set_var.h:
- Marking lc_time_names as ONE_SHOT capable.
- Marking lc_time_names as INT_RESULT compatible.
sql/sql_locale.cc:
- adding local IDs
- better layout for locale data declarations
(splitting long lines into short ones)
- adding DBUG_ASSERT into my_locale_by_name()
and moving this function towards the end of file -
after "my_locales" declaration
- adding my_locale_by_number() implementation
sql/sql_parse.cc:
Adding initialization of lc_time_names
to its default value (en_US)
mysql-test/r/rpl_locale.result:
Adding test case
mysql-test/t/rpl_locale.test:
Adding test case
23 lines
417 B
Plaintext
23 lines
417 B
Plaintext
# Replication of locale variables
|
|
|
|
source include/master-slave.inc;
|
|
|
|
#
|
|
# Bug#22645 LC_TIME_NAMES: Statement not replicated
|
|
#
|
|
connection master;
|
|
create table t1 (s1 char(10));
|
|
set lc_time_names= 'de_DE';
|
|
insert into t1 values (date_format('2001-01-01','%W'));
|
|
select * from t1;
|
|
sync_slave_with_master;
|
|
connection slave;
|
|
select * from t1;
|
|
connection master;
|
|
drop table t1;
|
|
sync_slave_with_master;
|
|
|
|
# End of 4.1 tests
|
|
|
|
|