Tom Lane [Wed, 6 Dec 2000 17:25:46 +0000 (17:25 +0000)]
Don't include miscadmin.h in elog.h, since the former is not part of
the installed header file set.
Tom Lane [Tue, 5 Dec 2000 23:40:36 +0000 (23:40 +0000)]
I've just seen what happens when the MEMORY_CONTEXT_CHECKING code fires
an error at end of transaction ... and I did *not* like it. Reduce ERROR
to NOTICE so that this situation doesn't cause an infinite loop.
Tom Lane [Tue, 5 Dec 2000 22:03:57 +0000 (22:03 +0000)]
In SELECT FOR UPDATE, silently ignore null CTIDs, rather than generating
an error as we used to. In an OUTER JOIN scenario, retrieving a null
CTID from one of the input relations is entirely expected. We still
want to lock the input rows from the other relations, so just ignore
the null and keep going.
Tom Lane [Tue, 5 Dec 2000 19:57:56 +0000 (19:57 +0000)]
From Stephan Szabo:
I believe this should fix the issue that Philip Warner
noticed about the check for unique constraints meeting the
referenced keys of a foreign key constraint allowing the
specification of a subset of a foreign key instead of
rejecting it. I also added tests for a base case of
this to the foreign key and alter table tests and patches
for expected output.
Tom Lane [Tue, 5 Dec 2000 19:15:49 +0000 (19:15 +0000)]
Add regress test case for INSERT ... SELECT in rules.
Tom Lane [Tue, 5 Dec 2000 19:15:10 +0000 (19:15 +0000)]
Repair breakage of rules containing INSERT ... SELECT actions, per bug
report from Joel Burton. Turns out that my simple idea of turning the
SELECT into a subquery does not interact well *at all* with the way the
rule rewriter works. Really what we need to make INSERT ... SELECT work
cleanly is to decouple targetlists from rangetables: an INSERT ... SELECT
wants to have two levels of targetlist but only one rangetable. No time
for that for 7.1, however, so I've inserted some ugly hacks to make the
rewriter know explicitly about the structure of INSERT ... SELECT queries.
Ugh :-(
Tom Lane [Mon, 4 Dec 2000 01:32:19 +0000 (01:32 +0000)]
Fix bogus makefiles ... these didn't build on platforms that are sticky
about being given accurate references to referenced libraries ...
Tom Lane [Mon, 4 Dec 2000 01:25:35 +0000 (01:25 +0000)]
Seems to have been missed in GetPgUserName updates.
Tom Lane [Mon, 4 Dec 2000 01:20:38 +0000 (01:20 +0000)]
Eliminate some of the more blatant platform-dependencies ... it builds here now, anyway ...
Tom Lane [Mon, 4 Dec 2000 00:34:40 +0000 (00:34 +0000)]
Seems like make clean or make distclean should clean out contrib
directories too, not only src and doc.
Peter Eisentraut [Sun, 3 Dec 2000 21:12:19 +0000 (21:12 +0000)]
corrections
Tom Lane [Sun, 3 Dec 2000 20:45:40 +0000 (20:45 +0000)]
Ensure that all uses of <ctype.h> functions are applied to unsigned-char
values, whether the local char type is signed or not. This is necessary
for portability. Per discussion on pghackers around 9/16/00.
Tom Lane [Sun, 3 Dec 2000 17:53:26 +0000 (17:53 +0000)]
Update for new tests. These are extrapolations and will need to be confirmed
correct on the relevant platforms.
Tom Lane [Sun, 3 Dec 2000 17:37:26 +0000 (17:37 +0000)]
Update for new tests.
Tom Lane [Sun, 3 Dec 2000 17:18:10 +0000 (17:18 +0000)]
Don't use 'private' as a parameter name in visible headers ... makes C++
very unhappy ...
Peter Eisentraut [Sun, 3 Dec 2000 15:39:38 +0000 (15:39 +0000)]
Fix counting of lines in scripts with 'copy from stdin'.
Thomas G. Lockhart [Sun, 3 Dec 2000 14:51:12 +0000 (14:51 +0000)]
Repair usage of the OVERLAPS operator.
Allow some operator-like tokens to be used as function names.
Flesh out support for time, timetz, and interval operators
and interactions.
Regression tests pass, but non-reference-platform horology test results
will need to be updated.
Thomas G. Lockhart [Sun, 3 Dec 2000 14:47:18 +0000 (14:47 +0000)]
Clarify the allowed length of the text data type.
Thomas G. Lockhart [Sun, 3 Dec 2000 14:43:59 +0000 (14:43 +0000)]
Convert files from DOS format to normal text.
Thomas G. Lockhart [Sun, 3 Dec 2000 14:41:47 +0000 (14:41 +0000)]
Support IBM S/390. Patches from Neale Ferguson@softwareAG-usa.com.
Peter Eisentraut [Sun, 3 Dec 2000 14:36:47 +0000 (14:36 +0000)]
Final(?) GUC clean-up. Update psql tab completion.
Vadim B. Mikheev [Sun, 3 Dec 2000 10:27:29 +0000 (10:27 +0000)]
Disable elog(ERROR|FATAL) in signal handlers in
critical sections of code.
Tom Lane [Sat, 2 Dec 2000 20:49:24 +0000 (20:49 +0000)]
Avoid memory leakage during regular COPY when outputting toasted values.
COPY BINARY is still broken for toasted data, however.
Tom Lane [Sat, 2 Dec 2000 19:38:34 +0000 (19:38 +0000)]
Avoid repeated detoasting (and possible memory leaks) when processing
a toasted datum in VACUUM ANALYZE.
Tom Lane [Sat, 2 Dec 2000 18:16:40 +0000 (18:16 +0000)]
Don't cause --enable-cassert to define COPY_PARSE_PLAN_TREES automatically
anymore. That won't teach us anything new for the rest of this release
cycle, so it seems better to keep the --assert environment more like the
non-assert environment for beta.
I'm going to leave CLOBBER_FREED_MEMORY and MEMORY_CONTEXT_CHECKING
turned on by --enable-cassert for now, however.
Tom Lane [Fri, 1 Dec 2000 22:10:31 +0000 (22:10 +0000)]
Make tuple receive/print routines TOAST-aware. Formerly, printtup would
leak memory when printing a toasted attribute, and printtup_internal
didn't work at all...
Tom Lane [Fri, 1 Dec 2000 20:43:59 +0000 (20:43 +0000)]
Fix inadequate tree-walking code in exec_eval_clear_fcache.
Tom Lane [Fri, 1 Dec 2000 19:52:04 +0000 (19:52 +0000)]
Make elog() switch to ErrorContext while invoking libpq output routines,
since those routines may do palloc's. We want to be fairly sure we can
send the error message to the client even under low-memory conditions.
That's what we stashed away 8K in ErrorContext for, after all ...
Tom Lane [Fri, 1 Dec 2000 18:14:29 +0000 (18:14 +0000)]
Pursuant to a pghackers discussion back around 11-Jul-00, get rid of aset.c's
not-very-good handling of mid-size allocation requests. Do everything via
either the "small" case (chunk size rounded up to power of 2) or the "large"
case (pass it straight off to malloc()). Increase the number of freelists
a little to set the breakpoint between these behaviors at 8K.
Tom Lane [Fri, 1 Dec 2000 05:17:19 +0000 (05:17 +0000)]
It seems appropriate that the extended MEMORY_CONTEXT_CHECKING code
immediately uncovered three of Karel's own bugs, including a routine
that scribbled on its input (naughty naughty!)
Tom Lane [Fri, 1 Dec 2000 05:16:45 +0000 (05:16 +0000)]
Clean up MEMORY_CONTEXT_CHECKING code, and apply it more thoroughly. Also,
apply Karel Zak's patch to recycle residual space in an exhausted allocation
block. (Bet you thought I'd forgot about that, Karel?)
Tom Lane [Thu, 30 Nov 2000 23:20:51 +0000 (23:20 +0000)]
Repair residual sillinesses from UUNET virtual host/socket path patch.
I hope all the dust has settled out now ...
Tom Lane [Thu, 30 Nov 2000 23:19:04 +0000 (23:19 +0000)]
Make default socket directory location configurable from config.h.
If we're going to let it be run-time configurable, might as well allow
this too...
Tom Lane [Thu, 30 Nov 2000 23:02:04 +0000 (23:02 +0000)]
Correct obsolete entry for strpos().
Peter Eisentraut [Thu, 30 Nov 2000 21:44:07 +0000 (21:44 +0000)]
Minor tweaks in installation instructions, regenerate INSTALL file.
Peter Eisentraut [Thu, 30 Nov 2000 21:16:12 +0000 (21:16 +0000)]
Remove DISABLE_COMPLEX_MACRO definitions, since people seem to be getting
by without them.
Don't check for preprocessor symbols from system header files in port
include files, since those header files aren't included at this point.
Peter Eisentraut [Thu, 30 Nov 2000 20:43:31 +0000 (20:43 +0000)]
Remove old regression test drivers.
Peter Eisentraut [Thu, 30 Nov 2000 20:36:13 +0000 (20:36 +0000)]
Make all commands that link a program look like
$(CC) $(CFLAGS) $(LDFLAGS) <object files> <extra-libraries> $(LIBS) -o $@
This form seemed to be the most portable, readable, and logical, but in any
case it's better than having a dozen different ones in the tree.
Vadim B. Mikheev [Thu, 30 Nov 2000 19:06:37 +0000 (19:06 +0000)]
misc
Vadim B. Mikheev [Thu, 30 Nov 2000 19:03:26 +0000 (19:03 +0000)]
Hope that this is valid localbuf.c version
Tom Lane [Thu, 30 Nov 2000 18:46:42 +0000 (18:46 +0000)]
Remove obsolete claim that char(n) is more efficient than other text types.
Tom Lane [Thu, 30 Nov 2000 18:38:47 +0000 (18:38 +0000)]
Remove VARLENA_FIXED_SIZE hack, which is irreversibly broken now that
both MULTIBYTE and TOAST prevent char(n) from being truly fixed-size.
Simplify and speed up fastgetattr() and index_getattr() macros by
eliminating special cases for attnum=1. It's just as fast to handle
the first attribute by presetting its attcacheoff to zero; so do that
instead when loading the tupledesc in relcache.c.
Peter Eisentraut [Thu, 30 Nov 2000 18:34:36 +0000 (18:34 +0000)]
Sort out things after fe-connect.c cleanup after unix socket patch.
Peter Eisentraut [Thu, 30 Nov 2000 18:32:52 +0000 (18:32 +0000)]
Remove remaining unixsocket-setting interfaces, since the host parameter
does that. Disable URL-style connection parameter specification code,
which doesn't work.
Vadim B. Mikheev [Thu, 30 Nov 2000 08:46:26 +0000 (08:46 +0000)]
No more #ifdef XLOG.
Tom Lane [Thu, 30 Nov 2000 03:11:24 +0000 (03:11 +0000)]
It seems some platforms declare kill(2) in signal.h not unistd.h.
Vadim B. Mikheev [Thu, 30 Nov 2000 01:47:33 +0000 (01:47 +0000)]
XLOG stuff for sequences.
CommitDelay in guc.c
Tom Lane [Thu, 30 Nov 2000 01:39:08 +0000 (01:39 +0000)]
Rearrange bufmgr header files so that buf_internals.h need not be
included by everything that includes bufmgr.h --- it's supposed to be
internals, after all, not part of the API! This fixes the conflict
against FreeBSD headers reported by Rosenman, by making it unnecessary
for s_lock.h to be included by plperl.c.
Vadim B. Mikheev [Thu, 30 Nov 2000 01:27:19 +0000 (01:27 +0000)]
all options are allowed if not under postmaster:
SetConfigOption(name, value,
(IsUnderPostmaster) ? PGC_BACKEND : PGC_POSTMASTER);
Tom Lane [Wed, 29 Nov 2000 22:04:04 +0000 (22:04 +0000)]
Just noticed that with -S switch, MyProcPid is permanently wrong in
postmaster, because it isn't updated after forking away from the terminal.
Apparently it's not used anyplace in the postmaster ... but seems best
to make it show the correct PID ...
Tom Lane [Wed, 29 Nov 2000 20:59:54 +0000 (20:59 +0000)]
Get rid of not-very-portable fcntl(F_SETLK) mechanism for locking the Unix
socket file, in favor of having an ordinary lockfile beside the socket file.
Clean up a few robustness problems in the lockfile code. If postmaster is
going to reject a connection request based on database state, it will now
tell you so before authentication exchange not after. (Of course, a failure
after is still possible if conditions change meanwhile, but this makes life
easier for a yet-to-be-written pg_ping utility.)
Peter Eisentraut [Wed, 29 Nov 2000 20:15:59 +0000 (20:15 +0000)]
Rewrite system catalog documentation man page in DocBook with more recent
information.
Tom Lane [Tue, 28 Nov 2000 23:42:31 +0000 (23:42 +0000)]
aclitemout() shouldn't coredump when it finds an ACL item
for a now-vanished group. Instead, display the numeric group ID, same
as it does for vanished users.
Tom Lane [Tue, 28 Nov 2000 23:27:57 +0000 (23:27 +0000)]
Significant cleanups in SysV IPC handling (shared mem and semaphores).
IPC key assignment will now work correctly even when multiple postmasters
are using same logical port number (which is possible given -k switch).
There is only one shared-mem segment per postmaster now, not 3.
Rip out broken code for non-TAS case in bufmgr and xlog, substitute a
complete S_LOCK emulation using semaphores in spin.c. TAS and non-TAS
logic is now exactly the same.
When deadlock is detected, "Deadlock detected" is now the elog(ERROR)
message, rather than a NOTICE that comes out before an unhelpful ERROR.
Bruce Momjian [Tue, 28 Nov 2000 07:27:01 +0000 (07:27 +0000)]
Remove PQunixsocket from dll file.
Bruce Momjian [Tue, 28 Nov 2000 07:25:08 +0000 (07:25 +0000)]
Remove PQunixsocket prototype
Bruce Momjian [Tue, 28 Nov 2000 06:53:33 +0000 (06:53 +0000)]
Remove PQunixsocket, per Peter's recommendation. PQhost shows the socket directory.
Bruce Momjian [Mon, 27 Nov 2000 21:16:10 +0000 (21:16 +0000)]
Update TODO list.
Bruce Momjian [Mon, 27 Nov 2000 21:12:25 +0000 (21:12 +0000)]
Make PQhost return socket path.
Bruce Momjian [Mon, 27 Nov 2000 20:51:40 +0000 (20:51 +0000)]
This patch allow pg_dump save name of primary key constraint (if primary
key exist).
awn@bcs.zp.ua
Jan Wieck [Mon, 27 Nov 2000 13:29:32 +0000 (13:29 +0000)]
Added pg_execute command behaving like spi_exec of PL/Tcl
Made pg_lo_read and pg_lo_write binary data safe when libpgtcl
is compiled against Tcl version 8.0 or higher.
Jan
Tom Lane [Mon, 27 Nov 2000 05:36:12 +0000 (05:36 +0000)]
Check for link(2) failure.
Hiroshi Inoue [Mon, 27 Nov 2000 04:03:20 +0000 (04:03 +0000)]
Not invoke CheckPoint process while postmaster is waiting for all backends
to die.
Tom Lane [Mon, 27 Nov 2000 03:58:58 +0000 (03:58 +0000)]
Pay attention to fgets() failure return.
Tom Lane [Mon, 27 Nov 2000 03:53:13 +0000 (03:53 +0000)]
Pay attention to fgets() failure return.
Tom Lane [Mon, 27 Nov 2000 03:46:01 +0000 (03:46 +0000)]
Be a little more careful with strtok().
Tom Lane [Mon, 27 Nov 2000 03:43:49 +0000 (03:43 +0000)]
Pay attention to fgets() failure return.
Tom Lane [Mon, 27 Nov 2000 02:50:17 +0000 (02:50 +0000)]
After going to the trouble of finding where psql lives, seems like
pg_ctl should invoke it from there, not use whatever random psql might
(or might not) live in its $PATH.
Tom Lane [Mon, 27 Nov 2000 02:20:36 +0000 (02:20 +0000)]
Pay attention to failure returns from fgets() in all cases.
Avoid infinite loop prompting for password at stdin EOF.
Tom Lane [Mon, 27 Nov 2000 01:28:40 +0000 (01:28 +0000)]
Prevent simple_prompt() from locking up in a tight loop at stdin EOF.
Bruce Momjian [Sun, 26 Nov 2000 20:45:19 +0000 (20:45 +0000)]
current cvs tree does build because of a small problem in ECPG. Here is a
little patch which correct that.
thanks
cyril
Peter Eisentraut [Sun, 26 Nov 2000 18:15:42 +0000 (18:15 +0000)]
Fix directory search for include and library directories to accept white-
space as separator again.
Tatsuo Ishii [Sun, 26 Nov 2000 11:35:23 +0000 (11:35 +0000)]
Fix for inserting/copying longer multibyte strings into bpchar data
types.
Peter Eisentraut [Sun, 26 Nov 2000 11:09:32 +0000 (11:09 +0000)]
Silence warning
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.
Bruce Momjian [Sat, 25 Nov 2000 22:34:14 +0000 (22:34 +0000)]
Move connection defines to miscadmin.h.
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 21:30:54 +0000 (21:30 +0000)]
Fix some portability bugs I'd introduced into inet/cidr code ---
shifting by the word width is not defined by ANSI C...
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.
Peter Eisentraut [Sat, 25 Nov 2000 19:05:44 +0000 (19:05 +0000)]
Advertise --help (rather than '-?') as help option (problems with csh).
Accept --help even if no general long options support exists.
Peter Eisentraut [Sat, 25 Nov 2000 17:17:30 +0000 (17:17 +0000)]
Update pg_ctl ref page, help output, messages. Some repair to work better
with current postmaster.
Peter Eisentraut [Sat, 25 Nov 2000 13:20:05 +0000 (13:20 +0000)]
Repair markup
Bruce Momjian [Sat, 25 Nov 2000 06:21:54 +0000 (06:21 +0000)]
Fix security problem with psql \e where temp file could be an existing
symlink created by someone else, and therefore modifyable by someone else.
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.
Thanks
Karel
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:
Larry Rosenman
Bruce Momjian [Sat, 25 Nov 2000 04:32:12 +0000 (04:32 +0000)]
Allow jdbc to return proper server version number
Anders Bengtsson
Bruce Momjian [Sat, 25 Nov 2000 04:13:18 +0000 (04:13 +0000)]
Rename GUC name from unixsocket to unix_socket_directory
Tom Lane [Sat, 25 Nov 2000 03:45:47 +0000 (03:45 +0000)]
Clean up comments, organize code snippets added at different times into
a slightly less random order.
Peter Eisentraut [Fri, 24 Nov 2000 22:32:26 +0000 (22:32 +0000)]
Print bit strings as B'...' when INSERT commands are dumped.
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 18:28:20 +0000 (18:28 +0000)]
update list of places to change version numbers; reformat
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.
Peter Eisentraut [Fri, 24 Nov 2000 17:14:07 +0000 (17:14 +0000)]
Remove obsolete test suite
Tom Lane [Fri, 24 Nov 2000 04:16:12 +0000 (04:16 +0000)]
A catalog cache that never caches isn't much of a cache :-(. Mea culpa.
Thanks to Brian Hirt for pointing out the performance lossage.
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.
Vadim B. Mikheev [Thu, 23 Nov 2000 01:08:57 +0000 (01:08 +0000)]
Set fdstate in fileNameOpenFile.
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 16:40:22 +0000 (16:40 +0000)]
Fix output file names for new driver