Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit9e9e387

Browse files
committed
Fix bug in our code when using to_timestamp() or to_date() without "TM".
Assume "TM" when input fields are variable-length, like month or daynames. This matches Oracle behavior.
1 parentaec4cf1 commit9e9e387

File tree

1 file changed

+5
-17
lines changed

1 file changed

+5
-17
lines changed

‎src/backend/utils/adt/formatting.c

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* -----------------------------------------------------------------------
22
* formatting.c
33
*
4-
* $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.118 2007/01/12 23:34:54 tgl Exp $
4+
* $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.119 2007/02/08 03:22:28 momjian Exp $
55
*
66
*
77
* Portions Copyright (c) 1999-2007, PostgreSQL Global Development Group
@@ -2093,10 +2093,7 @@ dch_date(int arg, char *inout, int suf, bool is_to_char, bool is_interval,
20932093
{
20942094
tmfc->mm=seq_search(inout,months_full,ONE_UPPER,FULL_SIZ,&len)+1;
20952095
CHECK_SEQ_SEARCH(len,"MONTH/Month/month");
2096-
if (S_FM(suf))
2097-
returnlen;
2098-
else
2099-
return9;
2096+
returnlen;
21002097
}
21012098
elseif (arg==DCH_MON||arg==DCH_Mon||arg==DCH_mon)
21022099
{
@@ -2108,10 +2105,7 @@ dch_date(int arg, char *inout, int suf, bool is_to_char, bool is_interval,
21082105
{
21092106
tmfc->d=seq_search(inout,days,ONE_UPPER,FULL_SIZ,&len);
21102107
CHECK_SEQ_SEARCH(len,"DAY/Day/day");
2111-
if (S_FM(suf))
2112-
returnlen;
2113-
else
2114-
return9;
2108+
returnlen;
21152109
}
21162110
elseif (arg==DCH_DY||arg==DCH_Dy||arg==DCH_dy)
21172111
{
@@ -2636,10 +2630,7 @@ dch_date(int arg, char *inout, int suf, bool is_to_char, bool is_interval,
26362630
{
26372631
tmfc->mm=12-seq_search(inout,rm_months_upper,ALL_UPPER,FULL_SIZ,&len);
26382632
CHECK_SEQ_SEARCH(len,"RM");
2639-
if (S_FM(suf))
2640-
returnlen;
2641-
else
2642-
return4;
2633+
returnlen;
26432634
}
26442635
break;
26452636
caseDCH_rm:
@@ -2655,10 +2646,7 @@ dch_date(int arg, char *inout, int suf, bool is_to_char, bool is_interval,
26552646
{
26562647
tmfc->mm=12-seq_search(inout,rm_months_lower,ALL_LOWER,FULL_SIZ,&len);
26572648
CHECK_SEQ_SEARCH(len,"rm");
2658-
if (S_FM(suf))
2659-
returnlen;
2660-
else
2661-
return4;
2649+
returnlen;
26622650
}
26632651
break;
26642652
caseDCH_W:

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp