Add 'GERMAN' option to DateStyle.
authorThomas G. Lockhart
Thu, 4 Dec 1997 23:17:13 +0000 (23:17 +0000)
committerThomas G. Lockhart
Thu, 4 Dec 1997 23:17:13 +0000 (23:17 +0000)
src/backend/tcop/variable.c

index 4872cfcd65bebb37d152cb1f675db170d5306d55..6834c10eb7dfe5c7ee96b60bef88cdcc6412790b 100644 (file)
@@ -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;