summaryrefslogtreecommitdiff
path: root/src/interfaces/libpq/fe-connect.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaces/libpq/fe-connect.c')
-rw-r--r--src/interfaces/libpq/fe-connect.c30
1 files changed, 29 insertions, 1 deletions
diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c
index 60f55ae5993..4b3a8630a51 100644
--- a/src/interfaces/libpq/fe-connect.c
+++ b/src/interfaces/libpq/fe-connect.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.24 1997/03/12 21:23:09 scrappy Exp $
+ * $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.25 1997/03/18 20:15:39 scrappy Exp $
*
*-------------------------------------------------------------------------
*/
@@ -100,6 +100,16 @@ static PQconninfoOption PQconninfoOptions[] = {
NULL, NULL, 0 }
};
+struct EnvironmentOptions
+ {
+ const char *envName, *pgName;
+ } EnvironmentOptions[] =
+ {
+ { "PG_DATEFORMAT", "pg_dateformat" },
+ { "PG_FLOATFORMAT", "pg_floatformat" },
+ { NULL }
+ };
+
/* ----------------
* PQconnectdb
*
@@ -514,6 +524,24 @@ connectDB(PGconn *conn)
conn->port = port;
+ {
+ struct EnvironmentOptions *eo;
+ char setQuery[80]; /* mjl: size okay? XXX */
+
+ for(eo = EnvironmentOptions; eo->envName; eo++)
+ {
+ const char *val;
+
+ if(val = getenv(eo->envName))
+ {
+ PGresult *res;
+
+ sprintf(setQuery, "SET %s TO \".60%s\"", eo->pgName, val);
+ res = PQexec(conn, setQuery);
+ PQclear(res); /* Don't care? */
+ }
+ }
+ }
return CONNECTION_OK;
connect_errReturn: