Commit graph

1893 commits

Author SHA1 Message Date
Tom Lane
040d3e63a7 Arrange to set the LC_XXX environment variables to match our locale setup.
Back-patch of previous fix in HEAD for plperl-vs-locale issue.
2006-01-05 00:55:36 +00:00
Tatsuo Ishii
951f2bdd23 Fix long standing Asian multibyte charsets bug.
See:

Subject: [HACKERS] bugs with certain Asian multibyte charsets
From: Tatsuo Ishii <ishii@sraoss.co.jp>
To: pgsql-hackers@postgresql.org
Date: Sat, 24 Dec 2005 18:25:33 +0900 (JST)

for more details.
2005-12-24 12:08:10 +00:00
Tom Lane
cd726e1cf8 Adjust string comparison so that only bitwise-equal strings are considered
equal: if strcoll claims two strings are equal, check it with strcmp, and
sort according to strcmp if not identical.  This fixes inconsistent
behavior under glibc's hu_HU locale, and probably under some other locales
as well.  Also, take advantage of the now-well-defined behavior to speed up
texteq, textne, bpchareq, bpcharne: they may as well just do a bitwise
comparison and not bother with strcoll at all.

NOTE: affected databases may need to REINDEX indexes on text columns to be
sure they are self-consistent.
2005-12-22 22:50:29 +00:00
Tom Lane
0fa322a14e Pass a strdup'd ident string to openlog(), to ensure that reallocation
of GUC memory doesn't cause us to start emitting a bogus ident string.
Per report from Han Holl.  Also some trivial code cleanup in write_syslog.
2005-10-14 16:41:41 +00:00
Tom Lane
26f1202ca3 Back-patch fixes for problems with VACUUM destroying t_ctid chains too soon,
and with insufficient paranoia in code that follows t_ctid links.
This patch covers the 7.3 branch.
2005-08-26 20:07:17 +00:00
Tatsuo Ishii
8154f06301 Fix bug in MIC -> EUC_JP conversion. Per Atsushi Ogawa. 2005-06-11 07:44:40 +00:00
Tom Lane
4beb9cd5eb Adjust time qual checking code so that we always check TransactionIdIsInProgress
before we check commit/abort status.  Formerly this was done in some paths
but not all, with the result that a transaction might be considered
committed for some purposes before it became committed for others.
Per example found by Jan Wieck.
2005-05-07 21:23:24 +00:00
Tom Lane
5d0d60efe6 Make standalone backends ignore pg_database.datallowconn, so that there
is a way to recover from disabling connections to all databases at once.
2005-05-05 19:54:01 +00:00
Tom Lane
ecbc6dd3e9 Alter the signature for encoding conversion functions to declare the
output area as INTERNAL not CSTRING.  This is to prevent people from
calling the functions by hand.  This is a permanent solution for the
back branches but I hope it is just a stopgap for HEAD.
2005-05-03 19:18:48 +00:00
Tom Lane
2cfb3b6d4d Repair two TIME WITH TIME ZONE bugs found by Dennis Vshivkov. Comparison
of timetz values misbehaved in --enable-integer-datetime cases, and
EXTRACT(EPOCH) subtracted the zone instead of adding it in all cases.
Backpatch to all supported releases (except --enable-integer-datetime code
does not exist in 7.2).
2005-04-23 22:54:03 +00:00
Tom Lane
7735c39aa0 Fix mis-display of negative fractional seconds in interval values for
--enable-integer-datetimes case.  Per report from Oliver Siegmar.
2005-04-20 17:15:19 +00:00
Tom Lane
536b3af7e3 Prevent to_char(interval) from dumping core on month-related formats
when a zero-month interval is given.  Per discussion with Karel.
2005-03-26 00:42:44 +00:00
Tom Lane
76f13fe78d interval_out failed to mention 'ago' for negative intervals in SQL and
GERMAN datestyles.  Ancient bug reported by Terry Lee Tucker.
2005-01-11 18:34:29 +00:00
Tom Lane
e333705b84 array_map failed to insert correct result type in an empty array.
Per example from Florian Pflug.
2004-12-17 20:58:47 +00:00
Tom Lane
78c0692b15 Repair possible failure to update hint bits back to disk, per
http://archives.postgresql.org/pgsql-hackers/2004-10/msg00464.php.
I plan a more permanent fix in HEAD, but for the back branches it seems
best to just touch the places that actually have a problem.
2004-10-13 22:22:22 +00:00
Tom Lane
a60442a446 Avoid generating invalid character encoding sequences in make_greater_string.
Not sure how this mistake evaded detection for so long.
2004-02-02 03:07:25 +00:00
Joe Conway
b59917f02e Fix text_position to not scan past end of source string in multibyte
case, per report from Korea PostgreSQL Users' Group. Copied from Tom
Lane's 7.4 branch patch.
2004-02-01 04:05:13 +00:00
Joe Conway
c9eb119353 Repair indexed bytea like operations, and related selectivity
functionality. Per bug report by Alvar Freude:
http://archives.postgresql.org/pgsql-bugs/2003-12/msg00022.php
2003-12-07 04:11:26 +00:00
Joe Conway
8582f21afd Make PQescapeBytea and byteaout consistent with each other, and
octal escape all octets outside the range 0x20 to 0x7e. This fixes
the problem pointed out by Sergey Yatskevich here:
http://archives.postgresql.org/pgsql-bugs/2003-11/msg00140.php
2003-11-30 20:52:37 +00:00
Jan Wieck
d1c496e9d5 Fix for possible referential integrity violation when a qualified ON INSERT
rule split the query into one INSERT and one UPDATE where the UPDATE
then hit's the just created row without modifying the key fields again.
In this special case, the new key slipped in totally unchecked.

Jan
2003-10-31 03:57:42 +00:00
Tom Lane
f8ee74faeb When dumping CREATE INDEX, must show opclass name if the opclass isn't
in the schema search path.  Otherwise pg_dump doesn't correctly dump
scenarios where a custom opclass is created in 'public' and then used
by indexes in other schemas.
2003-10-02 22:25:08 +00:00
Tom Lane
64b9dfa56f Back-patch the other part of Karel's formatting bug fix. 2003-09-03 19:01:35 +00:00
Tom Lane
e6d6713ceb Repair problems with to_char() overrunning its input string.
From Karel Zak.
2003-09-03 15:00:07 +00:00
Tatsuo Ishii
0fc3b22125 Fix GB18030 to UTF-8 mapping table 2003-08-24 05:13:40 +00:00
Tatsuo Ishii
1de44349f4 Fix bug in GB18030 conversion script 2003-08-24 05:00:45 +00:00
Tom Lane
efbc85c209 Conversion functions must be STRICT to prevent them from getting null inputs. 2003-08-08 15:49:10 +00:00
Tom Lane
1b637d7cbe Fix several places where fractional-second inputs were misprocessed
in HAVE_INT64_TIMESTAMP cases, including two potential stack smashes
when more than six fractional digits were supplied.  Per bug report
from Philipp Reisner.
2003-08-05 17:39:36 +00:00
Tom Lane
091b9c211c Fix timestamp_date for HAVE_INT64_TIMESTAMP case. 2003-07-24 04:38:27 +00:00
Tom Lane
fa67e2ce4f Repair 7.3 breakage in timestamp-to-date conversion for dates before 2000. 2003-07-24 00:21:31 +00:00
Tom Lane
004d2be5d9 Oh, for crying in a bucket ... relax Assert so that glibc's strxfrm
does not dump core.
2003-07-17 22:20:22 +00:00
Tom Lane
df32af15b6 Work around buggy strxfrm() present in some Solaris releases. 2003-07-17 20:52:42 +00:00
Tom Lane
537c1c1983 Fix a *second* buffer overrun bug in to_ascii(). Grumble. 2003-07-14 16:41:46 +00:00
Tom Lane
5fbc1d4a45 Fix bugs in interval-to-time conversion: HAVE_INT64_TIMESTAMP case did not
work at all, and neither case behaved sanely for negative intervals.
2003-06-16 18:56:53 +00:00
Tom Lane
3284e342a2 Back-patch Jan's fix to avoid primary key lookup (and lock) if foreign key
does not change on UPDATE.
2003-05-21 18:14:46 +00:00
Tom Lane
c04e80cf87 Allow 60 in seconds fields of timestamp, time, interval input values.
Per recent discussion on pgsql-general, this is appropriate for spec
compliance, and has the nice side-effect of easing porting from old
pg_dump files that exhibit the 59.999=>60.000 roundoff problem.
2003-05-04 04:30:35 +00:00
Tom Lane
2df153b0f6 Repair permissions problem in RI triggers: query parsing has to be done
as the correct user, not only query execution.  Per report from Sean
Chittenden.
2003-04-26 22:21:58 +00:00
Tom Lane
f094673357 Fix misbehavior of replace() on strings containing '%'.
Will patch separately but equivalently in HEAD.
2003-04-23 18:19:23 +00:00
Tom Lane
dc3e14d3d5 Fix stupid oversight ... 2003-04-16 04:38:05 +00:00
Tom Lane
d38fdbc939 eqjoinsel's logic for case where MCV lists are not present should
account for NULLs; in hindsight this is obvious since the code for
the MCV-lists case would reduce to this when there are zero entries
in both lists.  Per example from Alec Mitchell.
2003-04-15 05:18:30 +00:00
Tatsuo Ishii
5d6b0a43dc Fix encoding conversion function bug.
See following posting for more details.

Subject: Re: [HACKERS] [BUGS] Bug #943: Server-Encoding from EUC_TW to UTF-8 doesn't
From: Tatsuo Ishii <t-ishii@sra.co.jp>
To: michael.enke@wincor-nixdorf.com, pgsql-bugs@postgresql.org
Cc: pgsql-hackers@postgresql.org
Date: Sat, 12 Apr 2003 10:51:45 +0900 (JST)
2003-04-12 08:01:23 +00:00
Tom Lane
8fe728b009 Back-patch changes to validate page header fields immediately after
reading in any page.  Also back-port the zero_damaged_pages boolean
that determines what to do about it.
2003-04-04 00:32:57 +00:00
Tom Lane
8af8be8633 Fix buffer overrun in to_ascii(), per report from Guido Notari. 2003-04-02 21:08:07 +00:00
Bruce Momjian
ba4de4e06a Properly document default value of log_min_error_statement in postgresql.conf. 2003-03-30 21:38:13 +00:00
Tom Lane
a69550a363 Fix bogus coding of SET DEFAULT ri triggers ... or at least make it less
bogus than it was.  Per bug report from Adrian Pop.
2003-03-27 19:25:52 +00:00
Tom Lane
2d0cf42cd4 Tweak selectivity and related routines to cope with domains. Per report
from Andreas Pflug.
2003-03-23 01:49:13 +00:00
Tom Lane
cebedc36ed Prevent infinite loop in ln_var() due to roundoff error.
Per report from Dave Marin.
2003-03-14 00:15:41 +00:00
Tom Lane
4b60df3aa6 Change EXTRACT(EPOCH FROM timestamp) so that a timestamp without time zone
is assumed to be in local time, not GMT.  This improves consistency with
other operations, which all assume local timezone when it matters.  Per
bug #897.
2003-02-27 21:37:24 +00:00
Tom Lane
2bba78d605 Fix timestamptz_in so that parsing of 'now'::timestamptz gives right
answer when SET TIMEZONE has been done since the start of the current
transaction.  Per bug report from Robert Haas.
I plan some futher cleanup in HEAD, but this is a low-risk patch for
the immediate issue in 7.3.
2003-02-20 05:25:25 +00:00
Tatsuo Ishii
d1bb0db8dd Back patch for GUC client_encoding variable not being handled
correctly. However the patch for PostgresPollingStatusType() is not
included to avoid 7.3 libpq vs. pre-7.3 backend
compatibility problem. See following thread for more details.

Subject: [HACKERS] client_encoding directive is ignored in postgresql.conf
From: Tatsuo Ishii <t-ishii@sra.co.jp>
Date: Wed, 29 Jan 2003 22:24:04 +0900 (JST)
2003-02-19 14:14:58 +00:00
Tom Lane
35710e0d76 Prevent timetz2tm() from scribbling on its input in HAVE_INT64_TIMESTAMP case. 2003-02-13 17:04:24 +00:00