| Commit message (Collapse) | Author | Age |
... | |
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
rather than only sort-of working as the previous attempt had left it.
Clean up some unnecessary differences between the way these were coded and
the way the YYYY case was coded. Update the regression test cases that
proved that it wasn't working.
|
|
|
|
|
|
|
| |
about the behavior.
Document that quotes in to_date, to_timestamp, to_number skip input
characters.
|
| |
|
| |
|
|
|
|
| |
improve documentation, and add C comment.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to_char with HH, e.g.
to_char(interval '0d 0h 12m 44s', 'DD HH24 MI SS');
now returns:
00 00 12 44
not:
00 12 12 44
|
|
|
|
|
|
| |
honored by YYYY. Also document Oracle "toggle" FM behavior.
Per report from Guy Rouillier
|
| |
|
|
|
|
|
| |
The code in the new block was not reindented; it will be fixed by pgindent
eventually.
|
|
|
|
| |
Pavel Stehule, Brendan Jurd
|
|
|
|
|
| |
In what seems like an oversight, we used to treat 'TH' the same as lowercase
'th', but only with HH/HH12.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
even when not in FM mode. This improves compatibility with Oracle and with
our pre-8.4 behavior, as per bug #4862.
Brendan Jurd
Add a couple of regression test cases for this. In passing, get rid of the
labeling of the individual test cases; doesn't seem to be good for anything
except causing extra work when inserting a test...
Tom Lane
|
|
|
|
| |
provided by Andrew.
|
|
|
|
|
|
|
|
|
|
|
|
| |
to date, as per bug #4702 and subsequent discussion. In particular, make it
work for years specified using AD/BC or CC fields, and fix the test for "no
year specified" so that it doesn't trigger inappropriately for 1 BC (which it
was doing even in code paths that had nothing to do with to_timestamp). I
also did some minor code beautification in the non-ISO-day-number code path.
This area has been busted all along, but because the code has been rewritten
repeatedly, it would be considerable trouble to back-patch. It's such a
corner case that it doesn't seem worth the effort.
|
|
|
|
|
|
|
|
|
|
| |
format codes are misapplied to a numeric argument. (The code still produces
a pretty bogus error message in such cases, but I'll settle for stopping the
crash for now.) Per bug #4700 from Sergey Burladyan.
Problem exists in all supported branches, so patch all the way back.
In HEAD, also clean up some ugly coding in the nearby cache management
code.
|
|
|
|
|
|
|
|
|
| |
designations (AM/PM). Also separate out matching of a meridian with
periods (e.g. A.M.) and with those without.
Do the same for AD/BC.
Brendan Jurd
|
| |
|
|
|
|
|
|
|
|
|
|
| |
pg_database_encoding_max_length() predicts the maximum character length
returned by wchar2char(). Per Hiroshi Inoue, MB_CUR_MAX isn't usable on
Windows because we allow encoding = UTF8 when the locale says differently;
and getting rid of it seems a good idea on general principles because it
narrows our dependence on libc's locale API just a little bit more.
Also install a check for overflow of the buffer size computation.
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
maybe isalnum is returning a value with the low-order byte all zero?
|
|
|
|
| |
Alex Hunsaker
|
|
|
|
|
|
|
| |
erroneous input, rather than silently producing bizarre results as formerly
happened.
Brendan Jurd
|
|
|
|
|
|
|
|
|
|
| |
1. -i option should run vacuum analyze only on pgbench tables, not *all*
tables in database.
2. pre-run cleanup step was DELETE FROM HISTORY then VACUUM HISTORY.
This is just a slow version of TRUNCATE HISTORY.
Simon Riggs
|
|
|
|
|
|
|
|
| |
warnings. Clean up various unneeded cruft that was left behind after
creating those routines. Introduce some convenience functions str_tolower_z
etc to eliminate tedious and error-prone double arguments in formatting.c.
(Currently there seems no need to export the latter, but maybe reconsider
this later.)
|
|
|
|
|
| |
and non-C locale. Fix is just to use correct source's length for char2wchar
call.
|
|
|
|
|
| |
formatting.c to use common code; remove duplicate functions and support
routines that are no longer needed.
|
|
|
|
| |
USE_WIDE_UPPER_LOWER instead.
|
|
|
|
| |
modify the passed string.
|
|
|
|
| |
Euler Taveira de Oliveira
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
strings. This patch introduces four support functions cstring_to_text,
cstring_to_text_with_len, text_to_cstring, and text_to_cstring_buffer, and
two macros CStringGetTextDatum and TextDatumGetCString. A number of
existing macros that provided variants on these themes were removed.
Most of the places that need to make such conversions now require just one
function or macro call, in place of the multiple notational layers that used
to be needed. There are no longer any direct calls of textout or textin,
and we got most of the places that were using handmade conversions via
memcpy (there may be a few still lurking, though).
This commit doesn't make any serious effort to eliminate transient memory
leaks caused by detoasting toasted text objects before they reach
text_to_cstring. We changed PG_GETARG_TEXT_P to PG_GETARG_TEXT_PP in a few
places where it was easy, but much more could be done.
Brendan Jurd and Tom Lane
|
|
|
|
|
| |
with two new functions DCH_to_char and DCH_from_char that have less confusing
APIs. Brendan Jurd
|
| |
|
| |
|
| |
|
|
|
|
| |
so new thousands separator doesn't match decimal symbol.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
displayed in the postmaster log. This avoids Windows-specific problems with
localized time zone names that are in the wrong encoding, and generally seems
like a good idea to forestall other potential platform-dependent issues.
To preserve the existing behavior that all backends will log in the same time
zone, create a new GUC variable log_timezone that can only be changed on a
system-wide basis, and reference log-related calculations to that zone instead
of the TimeZone variable.
This fixes the issue reported by Hiroshi Saito that timestamps printed by
xlog.c startup could be improperly localized on Windows. We still need a
simpler patch for that problem in the back branches, however.
|
|
|
|
|
|
|
|
|
|
|
| |
overruns (neither of which seem likely to be exploitable as security holes,
fortunately, since the provoker can't control the data written). One of
these is due to choosing to stomp on the output of a called function, which
is bad news in any case; make it treat the called functions' results as
read-only. Avoid some unnecessary palloc/pfree traffic too; it's not
really helpful to free small temporary objects, and again this is presuming
more than it ought to about the nature of the results of called functions.
Per report from Patrick Welche and additional code-reading by Imad.
|
|
|
|
|
|
|
|
|
|
|
| |
Get rid of VARATT_SIZE and VARATT_DATA, which were simply redundant with
VARSIZE and VARDATA, and as a consequence almost no code was using the
longer names. Rename the length fields of struct varlena and various
derived structures to catch anyplace that was accessing them directly;
and clean up various places so caught. In itself this patch doesn't
change any behavior at all, but it is necessary infrastructure if we hope
to play any games with the representation of varlena headers.
Greg Stark and Tom Lane
|
|
|
|
|
| |
we can't overflow to the next higher units, and we might print the lower
units for MS.
|
|
|
|
| |
Brendan Jurd
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
to_timestamp():
- ID for day-of-week
- IDDD for day-of-year
This makes it possible to convert ISO week dates to and from text
fully represented in either week ('IYYY-IW-ID') or day-of-year
('IYYY-IDDD') format.
I have also added an 'isoyear' field for use with extract / date_part.
Brendan Jurd
|
|
|
|
|
|
| |
Converting from char using 'D' doesn't make lots of sense, of course.
Report from Brendan Jurd.
|