Modify the new to_timestamp implementation so that end-of-format-string
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 1 Dec 2008 17:11:18 +0000 (17:11 +0000)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 1 Dec 2008 17:11:18 +0000 (17:11 +0000)
is treated like a non-digit separator. This fixes the inconsistency in
examples like:

to_timestamp('2008-01-2', 'YYYY-MM-DD') -- didn't work

and

to_timestamp('2008-1-02', 'YYYY-MM-DD') -- did work

src/backend/utils/adt/formatting.c

index 918701b8233ff75d11a4a63968ffeb28f5380f95..5496ca496fc5074d051b67f4c0a916fc31435a05 100644 (file)
@@ -1,7 +1,7 @@
 /* -----------------------------------------------------------------------
  * formatting.c
  *
- * $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.150 2008/11/10 17:36:53 heikki Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.151 2008/12/01 17:11:18 heikki Exp $
  *
  *
  *  Portions Copyright (c) 1999-2008, PostgreSQL Global Development Group
@@ -1678,8 +1678,9 @@ is_next_separator(FormatNode *n)
     */
    n++;
 
+   /* end of format string is treated like a non-digit separator */
    if (n->type == NODE_TYPE_END)
-       return FALSE;
+       return TRUE;
 
    if (n->type == NODE_TYPE_ACTION)
    {