Bug #22645 LC_TIME_NAMES: Statement not replicated
Submitted: 24 Sep 2006 19:44 Modified: 23 Jan 2007 19:41
Reporter: Peter Gulutzan Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:5.1.12-beta-debug OS:Linux (SUSE 10.0 / 64-bit)
Assigned to: Alexander Barkov

[24 Sep 2006 19:44] Peter Gulutzan
Description:
I started mysqld with --log-bin, that is, logging is enabled.
Later I said "SHOW BINLOG EVENTS".
The "set LC_TIME_NAMES = 'ja_JP';" statement is not there.
I don't see how replication will work for statements that
depend on the output from date_format(), then.

How to repeat:
Start mysqld with --log-bin=/tmp/bug5.txt

Start a client and execute thus:

mysql> CREATE TABLE bug5 (s1 DATE);
Query OK, 0 rows affected (0.00 sec)

mysql> drop table bug5;
Query OK, 0 rows affected (0.00 sec)

mysql> CREATE TABLE bug5 (s1 CHAR(10));
Query OK, 0 rows affected (0.05 sec)

mysql> SET LC_TIME_NAMES = 'de_DE';
Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO bug5 VALUES (DATE_FORMAT('2001-01-01','%W'));
Query OK, 1 row affected (0.00 sec)

mysql> SHOW BINLOG EVENTS;
+-------------+-----+-------------+-----------+-------------+--------------------------------------------------------------------+
| Log_name    | Pos | Event_type  | Server_id | End_log_pos | Info                                                               |
+-------------+-----+-------------+-----------+-------------+--------------------------------------------------------------------+
| bug5.000001 |   4 | Format_desc |         1 |         102 | Server ver: 5.1.12-beta-debug-log, Binlog ver: 4                   |
| bug5.000001 | 266 | Query       |         1 |         358 | use `ff`; CREATE TABLE bug5 (s1 CHAR(10))                          |
| bug5.000001 | 358 | Query       |         1 |         475 | use `ff`; INSERT INTO bug5 VALUES (DATE_FORMAT('2001-01-01','%W')) |
+-------------+-----+-------------+-----------+-------------+--------------------------------------------------------------------+
3 rows in set (0.00 sec)
[24 Sep 2006 23:49] Miguel Solorzano
Thank you for the bug report. Verified as described.
[21 Nov 2006 12:42] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/15621

ChangeSet@1.2555, 2006-11-21 16:38:20+04:00, bar@mysql.com +8 -0
  Bug#22645 LC_TIME_NAMES: Statement not replicated
[5 Dec 2006 9:44] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/16443

ChangeSet@1.2555, 2006-12-05 13:45:21+04:00, bar@mysql.com +10 -0
  Bug#22645 LC_TIME_NAMES: Statement not replicated
  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.
[5 Dec 2006 12:01] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/16452

ChangeSet@1.2311, 2006-12-05 16:01:21+04:00, bar@mysql.com +3 -0
  Merging bug#22645 "LC_TIME_NAMES: Statement not replicated" from 4.1.
[7 Dec 2006 5:31] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/16570

ChangeSet@1.2312, 2006-12-07 09:31:53+04:00, bar@mysql.com +7 -0
  Bug#22645 LC_TIME_NAMES: Statement not replicated
  Implementing event based replication of LC_TIME_NAMES for 5.0
  (as a replacement of previously made ONE_SHOT replication)
[8 Dec 2006 9:36] Alexander Barkov
Setting back to "Patch pending" to go though another
round of reviews for 5.0 additional patch:

http://lists.mysql.com/commits/16570
[8 Jan 2007 15:55] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/17735

ChangeSet@1.2350, 2007-01-08 10:56:01-05:00, cbell@suse.vabb.com +1 -0
  BUG#22645 - LC_TIME_NAMES: Statement not replicated
  This patch is an additional code change to the get_str_len_and_pointer 
  method in log_events.cc. This change is necessary to correct a problem
  encountered on 64-bit SUSE where the auto_increment_* variables were
  being overwritten. The change corrects a cast mismatch which caused
  the problem.
[8 Jan 2007 16:15] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/17736

ChangeSet@1.2370, 2007-01-08 11:15:43-05:00, cbell@suse.vabb.com +1 -0
  BUG#22645 - LC_TIME_NAMES: Statement not replicated
  This patch is an additional code change to the get_str_len_and_pointer
  method in log_events.cc. This change is necessary to correct a problem
  encountered on 64-bit SUSE where the auto_increment_* variables were
  being overwritten. The change corrects a cast mismatch which caused
  the problem.
[9 Jan 2007 15:40] Rafal Somla
New changes in the code need new reviews.
[10 Jan 2007 17:08] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/17864

ChangeSet@1.2350, 2007-01-10 12:08:50-05:00, cbell@suse.vabb.com +2 -0
  BUG#22645 - LC_TIME_NAMES: Statement not replicated
  This patch is an additional code change to the get_str_len_and_pointer 
  method in log_events.cc. This change is necessary to correct a problem
  encountered on 64-bit SUSE where the auto_increment_* variables were
  being overwritten. The change corrects a cast mismatch which caused
  the problem.
[10 Jan 2007 17:19] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/17868

ChangeSet@1.2370, 2007-01-10 12:20:13-05:00, cbell@suse.vabb.com +2 -0
  BUG#22645 - LC_TIME_NAMES: Statement not replicated
  This patch is an additional code change to the get_str_len_and_pointer 
  method in log_events.cc. This change is necessary to correct a problem
  encountered on 64-bit SUSE where the auto_increment_* variables were
  being overwritten. The change corrects a cast mismatch which caused
  the problem.
[10 Jan 2007 18:45] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/17879

ChangeSet@1.2350, 2007-01-10 13:45:41-05:00, cbell@suse.vabb.com +2 -0
  BUG#22645 - LC_TIME_NAMES: Statement not replicated
  This patch is an additional code change to the get_str_len_and_pointer
  method in log_events.cc. This change is necessary to correct a problem
  encountered on 64-bit SUSE where the auto_increment_* variables were
  being overwritten. The change corrects a cast mismatch which caused
  the problem.
[11 Jan 2007 20:53] Chuck Bell
Patch added to correct problem on SUSE 64-bit machines. Corrects minor type cast problem in log_event.cc. Reviewed by Lars and Mats.
[18 Jan 2007 15:25] Lars Thalmann
Pushed into 4.1.23, 5.0.36, 5.1.15
[23 Jan 2007 19:41] Paul Dubois
Noted in 4.1.23, 5.0.36, 5.1.15 changelogs.

Changes to the lc_time_names system variable were not replicated.