diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog index 722257f1af..ea19bab60f 100644 --- a/src/interfaces/ecpg/ChangeLog +++ b/src/interfaces/ecpg/ChangeLog @@ -1211,5 +1211,9 @@ Sat Jan 12 22:04:02 CET 2002 Fri Jan 18 16:49:02 CET 2002 - Accept subsequent commits. + +Wed Jan 23 17:35:23 CET 2002 + + - Added patch to temporarily disable locale for descriptors too (Christof). - Set ecpg version to 2.9.0. - Set library version to 3.3.0. diff --git a/src/interfaces/ecpg/lib/descriptor.c b/src/interfaces/ecpg/lib/descriptor.c index 749272394c..80180e4484 100644 --- a/src/interfaces/ecpg/lib/descriptor.c +++ b/src/interfaces/ecpg/lib/descriptor.c @@ -1,6 +1,6 @@ /* dynamic SQL support routines * - * $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/descriptor.c,v 1.21 2002/01/11 14:43:11 meskes Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/descriptor.c,v 1.22 2002/01/23 16:34:06 meskes Exp $ */ #include "postgres_fe.h" @@ -330,11 +330,22 @@ ECPGget_desc(int lineno, char *desc_name, int index,...) if (data_var.type!=ECPGt_EORT) { struct statement stmt; + char *oldlocale; + + /* Make sure we do NOT honor the locale for numeric input */ + /* since the database gives the standard decimal point */ + oldlocale = strdup(setlocale(LC_NUMERIC, NULL)); + setlocale(LC_NUMERIC, "C"); + memset (&stmt, 0, sizeof stmt); stmt.lineno=lineno; + /* desparate try to guess something sensible */ stmt.connection=ECPGget_connection(NULL); ECPGstore_result(ECPGresult, index, &stmt, &data_var); + + setlocale(LC_NUMERIC, oldlocale); + ECPGfree(oldlocale); } else if (data_var.ind_type!=ECPGt_NO_INDICATOR) { diff --git a/src/interfaces/ecpg/test/header_test.h b/src/interfaces/ecpg/test/header_test.h index 388cfad1ee..aacc8ba7ce 100644 --- a/src/interfaces/ecpg/test/header_test.h +++ b/src/interfaces/ecpg/test/header_test.h @@ -1,5 +1,3 @@ -exec sql include sqlca; - #include "stdlib.h" static void