Bug #371 Locale set wrongly
Submitted: 5 May 2003 7:46 Modified: 13 Jun 2003 11:32
Reporter: Dennis Haney Email Updates:
Status: Closed Impact on me:
Category:Connector / ODBC Severity:S2 (Serious)
Version:3.51.06 OS:Linux (debian unstable)
Assigned to: Bugs System CPU Architecture:Any

[5 May 2003 7:46] Dennis Haney
To force usage of . as the decimal point,  locale "C" is the right one 
(at least "English" didnt work here)

How to repeat:

Suggested fix:
--- execute.c   2003-03-14 22:32:25.000000000 +0100
+++ execute.c~  2003-02-24 10:59:51.000000000 +0100
@@ -206,7 +206,7 @@
    net= &stmt->dbc->mysql.net;
    if (!(stmt->dbc->flag & FLAG_NO_LOCALE))
-    setlocale(LC_NUMERIC,"C");  /* force use of '.' as decimal point */
+    setlocale(LC_NUMERIC,"English");  /* force use of '.' as decimal 
point */
    for (i=0; i < stmt->param_count; i++)
      PARAM_BIND *param=dynamic_element(&stmt->params,i,PARAM_BIND*);

diff is against 3.51.06
[21 May 2003 9:54] Venu Anuganti
Hi !!

I couldn't able to find any instance of code in the current 3.51 or 3.52 source trees which sets setlocate to "C". So, looks like you have somefiles which are not original.

FYI: The lines that you specified does have the locale to "ENGLISH" only.

[21 May 2003 12:37] Dennis Haney
No, the patch is just reversed and you didnt read what I wrote.
[13 Jun 2003 11:32] Venu Anuganti
Thank you for your bug report. This issue has been fixed in the latest
development tree for that product. You can find more information about
accessing our development trees at 
[11 Aug 2005 3:43] [ name withheld ]
This bug is in fact still not fixed as of 3.51.11.  Dennis pointed to one instance of the Windows-ism "English" but there are three more.  Try grepping for 'setlocale.*English'...

The bug is of very long standing, it's in the 2.* branch too --- see