Commit 9a8f572
committed
Fix to_timestamp/to_date's handling of consecutive spaces in format string.
When there are consecutive spaces (or other non-format-code characters) in
the format, we should advance over exactly that many characters of input.
The previous coding mistakenly did a "skip whitespace" action between such
characters, possibly allowing more input to be skipped than the user
intended. We only need to skip whitespace just before an actual field.
This is really a bug fix, but given the minimal number of field complaints
and the risk of breaking applications coded to expect the old behavior,
let's not back-patch it.
Jeevan Chalke1 parent 5363c7f commit 9a8f572Copy full SHA for 9a8f572
File tree
Expand file treeCollapse file tree
3 files changed
+107
-6
lines changedOpen diff view settings
Filter options
- src
- backend/utils/adt
- test/regress
- expected
- sql
Expand file treeCollapse file tree
3 files changed
+107
-6
lines changedOpen diff view settings
Collapse file
src/backend/utils/adt/formatting.c
Copy file name to clipboardExpand all lines: src/backend/utils/adt/formatting.c+12-6Lines changed: 12 additions & 6 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
2839 | 2839 | |
2840 | 2840 | |
2841 | 2841 | |
| 2842 | + |
| 2843 | + |
| 2844 | + |
| 2845 | + |
| 2846 | + |
2842 | 2847 | |
2843 | | - |
2844 | | - |
2845 | | - |
2846 | | - |
2847 | | - |
2848 | | - |
2849 | 2848 | |
2850 | 2849 | |
2851 | 2850 | |
| 2851 | + |
| 2852 | + |
| 2853 | + |
| 2854 | + |
| 2855 | + |
| 2856 | + |
| 2857 | + |
2852 | 2858 | |
2853 | 2859 | |
2854 | 2860 | |
|
Collapse file
src/test/regress/expected/horology.out
Copy file name to clipboardExpand all lines: src/test/regress/expected/horology.out+75Lines changed: 75 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
2906 | 2906 | |
2907 | 2907 | |
2908 | 2908 | |
| 2909 | + |
| 2910 | + |
| 2911 | + |
| 2912 | + |
| 2913 | + |
| 2914 | + |
| 2915 | + |
| 2916 | + |
| 2917 | + |
| 2918 | + |
| 2919 | + |
| 2920 | + |
| 2921 | + |
| 2922 | + |
| 2923 | + |
| 2924 | + |
| 2925 | + |
| 2926 | + |
| 2927 | + |
| 2928 | + |
| 2929 | + |
| 2930 | + |
| 2931 | + |
| 2932 | + |
| 2933 | + |
| 2934 | + |
| 2935 | + |
| 2936 | + |
| 2937 | + |
| 2938 | + |
| 2939 | + |
| 2940 | + |
| 2941 | + |
| 2942 | + |
| 2943 | + |
| 2944 | + |
| 2945 | + |
| 2946 | + |
| 2947 | + |
| 2948 | + |
| 2949 | + |
| 2950 | + |
| 2951 | + |
| 2952 | + |
| 2953 | + |
| 2954 | + |
| 2955 | + |
| 2956 | + |
| 2957 | + |
| 2958 | + |
| 2959 | + |
| 2960 | + |
| 2961 | + |
| 2962 | + |
| 2963 | + |
| 2964 | + |
| 2965 | + |
| 2966 | + |
| 2967 | + |
| 2968 | + |
| 2969 | + |
| 2970 | + |
| 2971 | + |
| 2972 | + |
| 2973 | + |
| 2974 | + |
| 2975 | + |
| 2976 | + |
| 2977 | + |
| 2978 | + |
| 2979 | + |
| 2980 | + |
| 2981 | + |
| 2982 | + |
| 2983 | + |
2909 | 2984 | |
2910 | 2985 | |
2911 | 2986 | |
|
Collapse file
src/test/regress/sql/horology.sql
Copy file name to clipboardExpand all lines: src/test/regress/sql/horology.sql+20Lines changed: 20 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
440 | 440 | |
441 | 441 | |
442 | 442 | |
| 443 | + |
| 444 | + |
| 445 | + |
| 446 | + |
| 447 | + |
| 448 | + |
| 449 | + |
| 450 | + |
| 451 | + |
| 452 | + |
| 453 | + |
| 454 | + |
| 455 | + |
| 456 | + |
| 457 | + |
| 458 | + |
| 459 | + |
| 460 | + |
| 461 | + |
| 462 | + |
443 | 463 | |
444 | 464 | |
445 | 465 | |
|
0 commit comments