Tatsuo Ishii [Sun, 26 Nov 2000 10:40:43 +0000 (10:40 +0000)]
Unicode conversion fix suggested by Jan Varga...
--------------------------------------------------
Subject: Bug in unicode conversion ...
From: Jan Varga <varga@utcru.sk>
To: t-ishii@sra.co.jp
Date: Sat, 18 Nov 2000 17:41:20 +0100 (CET)
Hi,
I tried this new feature in PostgreSQL. I found one bug.
Script UCS_to_8859.pl skips input lines which
1. code <0x80 or
2. ucs <0x100
I think second one is not good idea because some codes in ISO8859-2
have ucs <0x100 (e.g. 0xE9 - 0x00E9)
--------------------------------------------------
Tom Lane [Sat, 25 Nov 2000 22:43:08 +0000 (22:43 +0000)]
Make PGLC_setlocale() static, and document that it can't be used safely
for any other purpose than PGLC_localeconv()'s internal save/restore of
locale settings. Fix cash.c to call PGLC_localeconv() rather than
making a direct call to localeconv() --- the old way, if PGLC_localeconv()
had already cached a locale result, it would be overwritten by the first
cash_in or cash_out operation, leading to wrong-locale results later.
Probably no demonstrable bug today, since we only appear to be looking
at the LC_MONETARY results which should be the same anyway, but definitely
a gotcha waiting to strike.
Tom Lane [Sat, 25 Nov 2000 21:32:25 +0000 (21:32 +0000)]
Correct portability-related errors in inet expected output. I'm not
sure that broadcast('foo/32') means anything, but if it does, surely
it ought to return foo, not 255.255.255.255.
Tom Lane [Sat, 25 Nov 2000 20:33:54 +0000 (20:33 +0000)]
Store current LC_COLLATE and LC_CTYPE settings in pg_control during initdb;
re-adopt these settings at every postmaster or standalone-backend startup.
This should fix problems with indexes becoming corrupt due to failure to
provide consistent locale environment for postmaster at all times. Also,
refuse to start up a non-locale-enabled compilation in a database originally
initdb'd with a non-C locale. Suppress LIKE index optimization if locale
is not "C" or "POSIX" (are there any other locales where it's safe?).
Issue NOTICE during initdb if selected locale disables LIKE optimization.
Tom Lane [Sat, 25 Nov 2000 19:09:22 +0000 (19:09 +0000)]
Fix elog logic so that error messages displayed during initdb (or
other standalone-backend situations) are not duplicated. Remove some
dead code, add some comments, too.
Bruce Momjian [Sat, 25 Nov 2000 05:00:33 +0000 (05:00 +0000)]
here is a patch for formatting.c (to_char/timestampt()), for 7.1
it fixing Y,YY,YYY,YYYY conversion, the docs and regress tests update
are included too.
During the patch testing I found small bug in miscadmin.h in
convertstr() declaration. Here it's fixed too.
Bruce Momjian [Sat, 25 Nov 2000 04:38:00 +0000 (04:38 +0000)]
> > Looking some more, I found some other places that need a space (I
> > suspect...), so here is an updated patch.
>
> This seems like the wrong way to go about it, because anytime anyone
> changes any elog output anywhere, we'll risk another failure. If
> syslog can't cope with empty lines, I think the right fix is for the
> output-to-syslog routine to change the data just before sending ---
> then there is only one place to fix. See the syslog output routine in
> src/backend/utils/error/elog.c.
Makes sense. Here's a new patch, now the output even looks better:
Peter Eisentraut [Fri, 24 Nov 2000 20:16:40 +0000 (20:16 +0000)]
Make SET SESSION CHARACTERISTICS compliant with SQL 99. Remove redundant,
non-standard clauses. Allow CHARACTERISTICS as unquoted identifier.
Merge related reference pages.
Peter Eisentraut [Fri, 24 Nov 2000 17:44:22 +0000 (17:44 +0000)]
Revive Reference Manual, remove reference pages from User's Guide.
Make version.sgml the central place for updating version numbers in the
documentation. Document titles now contain the version number of the
release they belong to.
filelist.sgml is the central (and only) place to declare system entities
(i.e., sgml files). No longer a need to declare them in each document
header.
There is no longer any need to maintain duplicate chapter lists in
postgres.sgml and user/admin/etc.sgml, everything is build from the same
sources. Some parameter entities allow for different text to be included
when the integrated or a single doc set is generated, which eliminates the
problems that had caused this to fail in the past.
Tom Lane [Thu, 23 Nov 2000 03:57:31 +0000 (03:57 +0000)]
Ensure that mergejoin plan will be considered for FULL OUTER JOIN even
if enable_mergejoin = OFF. Must do this, because we have no other
implementation method for full joins.
Tom Lane [Wed, 22 Nov 2000 19:34:49 +0000 (19:34 +0000)]
Remove old, broken code for query_limit(), assert_enable(),
assert_test() functions --- these weren't accomplishing much except to
render the whole module un-loadable ...
Peter Eisentraut [Wed, 22 Nov 2000 00:24:28 +0000 (00:24 +0000)]
Remove check for 'ln' library. On FreeBSD this is some obscure lex
compatibility library which contains a 'main' function, which is not good.
If someone really needed it, think of a different plan.
Peter Eisentraut [Tue, 21 Nov 2000 22:27:26 +0000 (22:27 +0000)]
Refine log/error messages. Print out the errno message, not the number.
Remove timestamps from messages where this would be redundant with the
log_timestamp option.
Tom Lane [Tue, 21 Nov 2000 03:23:21 +0000 (03:23 +0000)]
Make oidin/oidout produce and consume unsigned representation of Oid,
rather than just being aliases for int4in/int4out. Give type Oid a
full set of comparison operators that do proper unsigned comparison,
instead of reusing the int4 comparators. Since pg_dump is now doing
unsigned comparisons of OIDs, it is now *necessary* that we play by
the rules here. In fact, given that btoidcmp() has been doing unsigned
comparison for quite some time, it seems likely that we have index-
corruption problems in 7.0 and before once the Oid counter goes past
2G. Fixing these operators is a necessary step before we can think
about 8-byte Oid, too.
Tom Lane [Tue, 21 Nov 2000 01:11:50 +0000 (01:11 +0000)]
Simplify definition of pg_tables and pg_views views by making use of
new separate relkind for views (per some discussion back in September).
I didn't force initdb, but rules regress test will show differences
until you do one.
Tom Lane [Mon, 20 Nov 2000 20:36:57 +0000 (20:36 +0000)]
Revise handling of oldstyle/newstyle functions per recent discussions
in pghackers list. Support for oldstyle internal functions is gone
(no longer needed, since conversion is complete) and pg_language entry
'internal' now implies newstyle call convention. pg_language entry
'newC' is gone; both old and newstyle dynamically loaded C functions
are now called language 'C'. A newstyle function must be identified
by an associated info routine. See src/backend/utils/fmgr/README.
Tom Lane [Sun, 19 Nov 2000 22:07:16 +0000 (22:07 +0000)]
Update README with proposed new method for determining calling convention
of user-defined functions (forget 'C' vs 'newC', instead require an info
function to be present for new-style functions). Also update some other
out-of-date commentary.
Peter Eisentraut [Sat, 18 Nov 2000 19:02:03 +0000 (19:02 +0000)]
Polish error messages, help output, give marginal clue about command line
option conventions. (E.g., "pg_passwd -?" should not write to a file named
"-?".)
Tom Lane [Sat, 18 Nov 2000 05:41:45 +0000 (05:41 +0000)]
Tweak AbsoluteTimeIsReal() to avoid compiler bugs on machines where
a > comparison against INT_MIN may do the wrong thing. Per suggestion
from Andreas.
Tom Lane [Sat, 18 Nov 2000 03:55:51 +0000 (03:55 +0000)]
Modify locale code to defend against possibility that it was compiled
with an -fsigned-char/-funsigned-char setting opposite to that of libc,
thus breaking the convention that 'undefined' values returned by
localeconv() are represented by CHAR_MAX. It is sheer stupidity that
gcc even has such a switch --- it's just as bad as the structure-packing
control switches offered by the more brain-dead PC compilers --- and
as for the behavior of Linux distribution vendors who set RPM_OPT_FLAGS
differently from the way they built libc, well, words fail me...
Tatsuo Ishii [Fri, 17 Nov 2000 04:42:10 +0000 (04:42 +0000)]
Fix bugs in EUC_TW support. This fix includes patches contributed
by Chih-Chang Hsi. See "A Patch for MIC to EUC_TW code converting in
mb support" posting in pgsql-patches list dated 09 Nov 2000.
Tom Lane [Thu, 16 Nov 2000 22:30:52 +0000 (22:30 +0000)]
Change SearchSysCache coding conventions so that a reference count is
maintained for each cache entry. A cache entry will not be freed until
the matching ReleaseSysCache call has been executed. This eliminates
worries about cache entries getting dropped while still in use. See
my posting to pg-hackers of even date for more info.
Bruce Momjian [Thu, 16 Nov 2000 05:51:07 +0000 (05:51 +0000)]
Make pgsql compile on FreeBSD-alpha.
Context diff this time.
Remove -m486 compile args for FreeBSD-i386, compile -O2 on i386.
Compile with only -O on alpha for codegen safety.
Make the port use the TEST_AND_SET for alpha and i386 on FreeBSD.
Fix a lot of bogus string formats for outputting pointers (cast to int
and %u/%x replaced with no cast and %p), and 'Size'(size_t) are now
cast to 'unsigned long' and output with %lu/