Bug #22647 LC_TIME_NAMES: Only exact literals allowed
| Submitted: | 24 Sep 2006 19:48 | Modified: | 23 Jan 2007 20:54 |
|---|---|---|---|
| Reporter: | Peter Gulutzan | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server | Severity: | S3 (Non-critical) |
| Version: | 5.1BK | OS: | Linux (Suse 10) |
| Assigned to: | Alexander Barkov | CPU Architecture: | Any |
[25 Sep 2006 0:01]
MySQL Verification Team
Thank you for the bug report. Verified as described.
[22 Jan 2007 6:55]
Alexander Barkov
This problem was fixed under terms of bug#22645 LC_TIME_NAMES: Statement not replicated. variables.test has got some enough coverage: set lc_time_names=en_US; -- identifier set @@lc_time_names='ru_ru'; -- character string set lc_time_names=concat('de','_','DE'); -- function set @lc='JA_JP'; set @@lc_time_names=@lc; -- user variable Changing status to "documenting".
[23 Jan 2007 20:54]
Paul DuBois
Noted in 4.1.23, 5.0.36, 5.1.15 changelogs. SET lc_time_names = value allowed only exact literal values, not expression values.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.052 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: For other statements of the form "SET ... = value", value can be a variable, or an expression. But for SET LC_TIME_NAMES it must be a literal. For other statements of the form "SET ... = value", value can be upper case, lower case, or mixed. But for SET LC_TIME_NAMES it must be exact. How to repeat: mysql> SET @A = 'MYISAM'; Query OK, 0 rows affected (0.00 sec) mysql> SET STORAGE_ENGINE = @A; Query OK, 0 rows affected (0.00 sec) mysql> SET @A = LOWER('myisam'); Query OK, 0 rows affected (0.00 sec) mysql> SET STORAGE_ENGINE = 'myisam'; Query OK, 0 rows affected (0.00 sec) mysql> SET STORAGE_ENGINE = LOWER('MYISAM'); Query OK, 0 rows affected (0.00 sec) mysql> SET LC_TIME_NAMES = 'ja_JP'; Query OK, 0 rows affected (0.00 sec) mysql> SET LC_TIME_NAMES = 'JA_JP'; ERROR 1105 (HY000): Unknown locale: 'JA_JP' mysql> SET @a = 'ja_JP'; Query OK, 0 rows affected (0.00 sec) mysql> SET LC_TIME_NAMES = @a; ERROR 1105 (HY000): Unknown locale: ''