diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog
index adbe47ed4b83c82c0b13c316c2620d2659eda75d..4742b55bb1fcebf135fb09847316938c0a9e8b43 100644
--- a/src/interfaces/ecpg/ChangeLog
+++ b/src/interfaces/ecpg/ChangeLog
@@ -720,3 +720,9 @@ Mon Nov 22 18:26:34 CET 1999
 	- Clean up parser.
 	- Set library version to 3.0.6.
         - Set ecpg version to 2.6.10.
+
+Tue Nov 23 07:59:01 CET 1999
+
+	- Ignore locale setting in ECPGdo.
+	- Set library version to 3.0.7.
+
diff --git a/src/interfaces/ecpg/lib/Makefile.in b/src/interfaces/ecpg/lib/Makefile.in
index 6a6955f7d87d46b47d3b295cc3ffc859308ee151..00265d9443fed46c32b76380abccfeca95ca430f 100644
--- a/src/interfaces/ecpg/lib/Makefile.in
+++ b/src/interfaces/ecpg/lib/Makefile.in
@@ -6,13 +6,13 @@
 # Copyright (c) 1994, Regents of the University of California
 #
 # IDENTIFICATION
-#    $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/Makefile.in,v 1.51 1999/11/22 12:48:46 meskes Exp $
+#    $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/Makefile.in,v 1.52 1999/11/23 10:32:16 meskes Exp $
 #
 #-------------------------------------------------------------------------
 
 NAME= ecpg
 SO_MAJOR_VERSION= 3
-SO_MINOR_VERSION= 0.6
+SO_MINOR_VERSION= 0.7
 
 SRCDIR= @top_srcdir@
 include $(SRCDIR)/Makefile.global
diff --git a/src/interfaces/ecpg/lib/ecpglib.c b/src/interfaces/ecpg/lib/ecpglib.c
index 9112ebb55b8237448b5fa0b3ea0f358293c3bf71..2d16cb724712c8e8916d4f647cef0c9346744f8c 100644
--- a/src/interfaces/ecpg/lib/ecpglib.c
+++ b/src/interfaces/ecpg/lib/ecpglib.c
@@ -18,6 +18,7 @@
 #include <stdarg.h>
 #include <string.h>
 #include <ctype.h>
+#include <locale.h>
 
 #include <libpq-fe.h>
 #include <libpq/pqcomm.h>
@@ -656,7 +657,6 @@ ECPGexecute(struct statement * stmt)
 	}
 	else
 	{
-/*		sqlca.sqlerrd[2] = 0;*/
 		var = stmt->outlist;
 		switch (PQresultStatus(results))
 		{
@@ -1050,6 +1050,11 @@ ECPGdo(int lineno, const char *connection_name, char *query,...)
 	struct statement *stmt;
 	struct connection *con = get_connection(connection_name);
 	bool		status;
+	char *locale = setlocale(LC_NUMERIC, NULL);
+
+	/* Make sure we do NOT honor the locale for numeric input/output */
+	/* since the database wants teh standard decimal point */
+	setlocale(LC_NUMERIC, "C");
 
 	if (!ecpg_init(con, connection_name, lineno))
 		return(false);
@@ -1069,6 +1074,9 @@ ECPGdo(int lineno, const char *connection_name, char *query,...)
 
 	status = ECPGexecute(stmt);
 	free_statement(stmt);
+
+	/* and reser value so our application is not affected */
+	setlocale(LC_NUMERIC, locale);
 	return (status);
 }