From 0295864514162361c30ca034e110223bb8ee20ef Mon Sep 17 00:00:00 2001
From: "Thomas G. Lockhart" <lockhart@fourpalms.org>
Date: Thu, 4 Dec 1997 23:17:13 +0000
Subject: [PATCH] Add 'GERMAN' option to DateStyle.

---
 src/backend/tcop/variable.c | 30 ++++++++++++++++++++----------
 1 file changed, 20 insertions(+), 10 deletions(-)

diff --git a/src/backend/tcop/variable.c b/src/backend/tcop/variable.c
index 4872cfcd65..6834c10eb7 100644
--- a/src/backend/tcop/variable.c
+++ b/src/backend/tcop/variable.c
@@ -2,7 +2,7 @@
  * Routines for handling of 'SET var TO',
  *  'SHOW var' and 'RESET var' statements.
  *
- * $Id: variable.c,v 1.23 1997/11/21 18:11:20 momjian Exp $
+ * $Id: variable.c,v 1.24 1997/12/04 23:17:13 thomas Exp $
  *
  */
 
@@ -351,33 +351,40 @@ parse_date(const char *value)
 	{
 		/* Ugh. Somebody ought to write a table driven version -- mjl */
 
-		if (!strcasecmp(tok, "iso"))
+		if (!strcasecmp(tok, "ISO"))
 		{
 			DateStyle = USE_ISO_DATES;
 			dcnt++;
 		}
-		else if (!strcasecmp(tok, "sql"))
+		else if (!strcasecmp(tok, "SQL"))
 		{
 			DateStyle = USE_SQL_DATES;
 			dcnt++;
 		}
-		else if (!strcasecmp(tok, "postgres"))
+		else if (!strcasecmp(tok, "POSTGRES"))
 		{
 			DateStyle = USE_POSTGRES_DATES;
 			dcnt++;
 		}
-		else if (!strncasecmp(tok, "euro", 4))
+		else if (!strcasecmp(tok, "GERMAN"))
 		{
+			DateStyle = USE_GERMAN_DATES;
+			dcnt++;
 			EuroDates = TRUE;
-			ecnt++;
+			if ((ecnt > 0) && (! EuroDates)) ecnt++;
 		}
-		else if ((!strcasecmp(tok, "us"))
-				 || (!strncasecmp(tok, "noneuro", 7)))
+		else if (!strncasecmp(tok, "EURO", 4))
+		{
+			EuroDates = TRUE;
+			if ((dcnt <= 0) || (DateStyle != USE_GERMAN_DATES)) ecnt++;
+		}
+		else if ((!strcasecmp(tok, "US"))
+				 || (!strncasecmp(tok, "NONEURO", 7)))
 		{
 			EuroDates = FALSE;
-			ecnt++;
+			if ((dcnt <= 0) || (DateStyle == USE_GERMAN_DATES)) ecnt++;
 		}
-		else if (!strcasecmp(tok, "default"))
+		else if (!strcasecmp(tok, "DEFAULT"))
 		{
 			DateStyle = USE_POSTGRES_DATES;
 			EuroDates = FALSE;
@@ -410,6 +417,9 @@ show_date()
 		case USE_SQL_DATES:
 			strcat(buf, "SQL");
 			break;
+		case USE_GERMAN_DATES:
+			strcat(buf, "German");
+			break;
 		default:
 			strcat(buf, "Postgres");
 			break;
-- 
2.24.1