Bruce Momjian [Sun, 13 Dec 1998 04:37:51 +0000 (04:37 +0000)]
While investigating a user's complaint, I have found some memory
destructions in 6.4 source using purify.
(1) parser/gram.y:fmtId()
It writes n+3 bytes into n+1 byte-long memory area if mixed case or
non-ascii identifiers given.
(2) catalog/index.c:
ATTRIBUTE_TUPLE_SIZE bytes are allocated but
sizeof(FormData_pg_attribute) bytes are written. Note that
ATTRIBUTE_TUPLE_SIZE is smaller than
sizeof(FormData_pg_attribute). (for example, on solaris 2.6,
Bruce Momjian [Sun, 13 Dec 1998 02:50:20 +0000 (02:50 +0000)]
This patch fixes the undefined (according to C) and erroneous (under
Digital Uni x with both DEC cc and gcc) behaviour of modifying an
lvalue on the left side an d then using it on the right side of an
assignment. Since this code modifies the
dbname parameter, it was changing, for example, "dbname=template1"
into "dbname =emplate1".
Define routines and catalog entries for string min()/max() functions.
Extend new type coersion techniques to aggregates.
Clean up a few elog() messages.
Tom Lane [Sat, 5 Dec 1998 22:09:57 +0000 (22:09 +0000)]
Fix coredumping bug in pg_dump -z; also eliminate memory leaks
in the ACL code, and spell "GRANT RULE" correctly.
Apply patch from Oliver Elphick to not dump inherited constraints.
Apply patch from Constantin Teodorescu to dump table definitions with a
readable layout.
Tom Lane [Mon, 30 Nov 1998 00:30:05 +0000 (00:30 +0000)]
Portability fixes found needed for SunOS 4.1.x:
SunOS has tas(), but not memmove or strerror, and its sprintf() doesn't
return int. Also, older versions of GNU Make don't like rules with
empty left-hand sides...
Tom Lane [Sun, 29 Nov 1998 05:30:25 +0000 (05:30 +0000)]
Use autoconf to determine whether system has POSIX signals,
instead of relying on port's os.h to tell us. (Needed for HPUX
where system major version is not enough info.)
configure unsets USE_TK if X libraries not found.
doc/Makefile uses gzcat or zcat as found by autoconf.
Tom Lane [Sun, 29 Nov 1998 01:57:59 +0000 (01:57 +0000)]
Change exp() behavior to generate error on underflow rather
than silently returning zero on some machines. Correct float8 regress test
to agree. Also fix pow() overflow/underflow check to work correctly on
HPUX.
Tom Lane [Sun, 29 Nov 1998 01:47:42 +0000 (01:47 +0000)]
pq_getstr didn't handle buffer overrun correctly; it would
fail to consume the rest of the input string, and worse it would write
one more byte than it should into the buffer, probably resulting in coredump.
Fortunately there's a correct implementation next door in pqcomprim.c.
Tom Lane [Mon, 23 Nov 1998 04:40:58 +0000 (04:40 +0000)]
modify configure so that template/.similar entries can be
selected when they match a prefix of the value. The previous method,
which stripped all version data from and then tried to match that
against .similar entries, was entirely useless when .similar contained
several entries for different version numbers of a single OS name.
Tom Lane [Sun, 8 Nov 1998 19:38:34 +0000 (19:38 +0000)]
EXPLAIN VERBOSE had a very high probability of triggering
a backend core dump, because it was concatenating a potentially long
string onto another string that didn't necessarily have enough room.
Shame, shame.
Tom Lane [Sun, 8 Nov 1998 19:22:24 +0000 (19:22 +0000)]
Fix a potential infinite loop in appendStringInfo: would lock
up if first string to be appended to an empty StringInfo was longer
than the initial space allocation.
Also speed it up slightly.
Add "-N" flag to force double quotes around identifiers.
This is the default, but the new flag will allow overriding an alias,
for example. So psql -n -N will put in the double quotes,
and psql -n can be an alias for psql.
Also, add a few braces around a nested single-line conditional construct
to suppress compiler warnings about "an ambiguous else".
Cleanup for v6.4 release.
Make new file current.sgml to hold release info for the current release.
Should be moved to release.sgml before filling with next release info.
Marc G. Fournier [Sat, 31 Oct 1998 03:58:55 +0000 (03:58 +0000)]
Minor FreeBSD fixes put in place
From: SHIOZAKI Takehiko <takehi-s@ascii.co.jp>
I tried snapshot(Oct30) and made some patches.
# I think that it is confused to manage both Makefile.shlib and
# makefiles/Makefile.*, don't you?
* configure
Now FreeBSD 2.X is not supported..., so I added its entry.
If ELF_SYSTEM is set, gmake treat it defined even though
it is "false". So nothing should be set to use "ifdef".
BSD_SHLIB etc. may have same problems.
* Makefile.shlib
As you said, FreeBSD entry is much like BSD's.
I only added ELF_SYSTEM code.
* makefiles/Makefile.freebsd
Ifdef/else/endif can not be indented with TABs.
Minor editing and markup changes as a result of preparing the Postscript
documentation for v6.4.
Bigger updates to the installation instructions (install and config).
Remove obsolete file listing support resources which has not been updated
in a year an a half. Much of the info was wrong and is covered more
correctly elsewhere.
Minor fix for Jan to remove claim in SPI and trigger chapters that
Postgres is missing a procedural language. He correctly points out
that we now have two (thanks to him, but he modestly didn't mention
that).
Tom Lane [Thu, 29 Oct 1998 17:57:52 +0000 (17:57 +0000)]
Run AC_PROG_GCC_TRADITIONAL only when running AC_PROG_CC,
ie, not when user specifies --with-CC. This corrects a scripting error
that I'm surprised hasn't been reported more often. Moving the macro call
to the earlier point in the script is correct anyway: if -traditional is needed,
it should get added to CFLAGS before we start using the compiler for
other tests.
Tom Lane [Thu, 29 Oct 1998 04:32:57 +0000 (04:32 +0000)]
I suspect that there is no longer a need for a platform-
specific version of this result, now that tintervals actually sort
correctly. We can always add it back if NetBSD really is different.
Tom Lane [Thu, 29 Oct 1998 04:29:12 +0000 (04:29 +0000)]
Update tinterval test to have correctly sorted results,
now that bugs in pg_operator that caused wrongly sorted results have
been corrected (I hope ... it works here, anyway).
Tom Lane [Thu, 29 Oct 1998 04:27:11 +0000 (04:27 +0000)]
Add new regression test to catch some simple kinds of
mistakes in creating pg_operator table. NOTE: right now, this will
fail because of conflicting definitions for point @ path operator.
I trust we're gonna fix that.
Tom Lane [Thu, 29 Oct 1998 04:22:52 +0000 (04:22 +0000)]
Fix a veritable boatload of errors in oprcom, oprnegate,
oprlsortop and oprrsortop links. There's still a bug involving
conflicting definitions for point @ path, but I'm not taking
responsibility for deciding which one is right...