]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Add 'GERMAN' option to DateStyle.
authorThomas G. Lockhart <lockhart@fourpalms.org>
Thu, 4 Dec 1997 23:17:13 +0000 (23:17 +0000)
committerThomas G. Lockhart <lockhart@fourpalms.org>
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;