Modify the new to_timestamp implementation so that end-of-format-string

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
This commit is contained in:
Heikki Linnakangas 2008-12-01 17:11:18 +00:00
parent ec543db77b
commit 7fb27531e8

View File

@ -1,7 +1,7 @@
/* ----------------------------------------------------------------------- /* -----------------------------------------------------------------------
* formatting.c * 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 * Portions Copyright (c) 1999-2008, PostgreSQL Global Development Group
@ -1678,8 +1678,9 @@ is_next_separator(FormatNode *n)
*/ */
n++; n++;
/* end of format string is treated like a non-digit separator */
if (n->type == NODE_TYPE_END) if (n->type == NODE_TYPE_END)
return FALSE; return TRUE;
if (n->type == NODE_TYPE_ACTION) if (n->type == NODE_TYPE_ACTION)
{ {