Marc G. Fournier [Tue, 22 Dec 1998 18:50:56 +0000 (18:50 +0000)]
From: Michael Meskes <Michael.Meskes@usa.net>
+
+Wed Dec 9 11:24:54 MEZ 1998
+
+ - Synced preproc.y with gram.y and the keywords.c files to add CASE
+ statement.
+
+Tue Dec 22 14:16:11 CET 1998
+
+ - Synced preproc.y with gram.y for locking statements.
+ - Set version to 2.4.5
Bruce Momjian [Fri, 18 Dec 1998 17:53:22 +0000 (17:53 +0000)]
Here are descriptions:
- the first patch is just to preven listing the perl warning in the
make output unless it is actually emitted by the make. this may
prevent new users from being confused by the warning in their output
- the second patch (to 2 files) just enables building/installing
pgaccess if TCL and TK are available. a Makefile is created to do
this, but you may wish to change the heading information in it since
I just copied another Makefile to use as a template.
Bruce Momjian [Fri, 18 Dec 1998 17:25:41 +0000 (17:25 +0000)]
I have ported PostgreSQL 6.4 to Cobalt Qube running Linux 2.0.33 with
MIPS cpu (I think it's R4000). I have tested the patches on LinuxPPC
and FreeBSD. I believe they do not harm other platforms.
--
Tatsuo Ishii
Include more details on editing with Emacs.
Remove mention of the old "migration" flat files.
Change URLs for resources to point to areas, not particular files.
That way things stay correct even when version of tools change.
Suggested by Vince Vielhaber.
Include Emacs DocBook DTD description file. May allow Emacs to understand
tags even if DocBook is not installed on your local system.
Most of the .sgml source files contain a reference to this file in an
Emacs setup block at the bottom of the file...
Information on the CVS tree and remote access.
Not yet complete, integrated, or marked up.
Not yet included in a document (should go in the developer's doc?).
Bruce Momjian [Fri, 18 Dec 1998 07:08:03 +0000 (07:08 +0000)]
Attached is a patch with some fixes that (I think that) should go into
6.4.1. Here is the list:
- The type int8 now works. In fact, the bug(s) were in
src/backend/port/snprintf.c, so int8 is probably broken in every platform
that hasn't a native snprintf/vsnprintf. The type itself worked as
expected, only the output was wrong. Anyway, this patch should be checked
in other platforms.
- The regression tests for int2 and int4, which were broken due to
differences in the error messages, are fixed.
- The regression test for float8, which was broken in the reference
platform, is also fixed. I don't know if the new file (float8-OSF1.out)
will work on other platforms, but it might be worth to try it.
- Two new template files are provided (alpha_cc, which includes
optimization, and alpha_gcc), and src/templates/.similar is updated
accordingly. src/templates/alpha should be removed from the distribution.
*IMPORTANT NOTE*: I don't know if you can use gcc to compile postgres;
I've written the alpha_gcc file because alpha_cc has some flags that are
specific to DEC C.
- There is a (very basic) Digital Unix specific FAQ in
doc/FAQ_DigitalUnix.
Bruce Momjian [Mon, 14 Dec 1998 15:05:27 +0000 (15:05 +0000)]
Compilation of libpq for Win32 breaks on 6.4, because of a change that I
missed before the release. It's simply a symbol that is undefined. This
patch defines this symbol in "win32.h", so it should have no effect on any
other platforms. It should go into 6.4.1 if possible, since compilation is
completely broken without it.
I am also attaching a patch for the "win32.mak" file - it leaves a file
behind when doing "make clean" after the library is built on Visual C++ 6.0.
This is not at all as urgent, but I don't see it breaking here, so I think
it might as well go in there too?
Marc G. Fournier [Mon, 14 Dec 1998 08:11:17 +0000 (08:11 +0000)]
more cleanups...of note, appendStringInfo now performs like sprintf(),
where you state a format and arguments. the old behavior required
each appendStringInfo to have to have a sprintf() before it if any
formatting was required.
Also shortened several instances where there were multiple appendStringInfo()
calls in a row, doing nothing more then adding one more word to the String,
instead of doing them all in one call.
Bruce Momjian [Mon, 14 Dec 1998 04:59:58 +0000 (04:59 +0000)]
Current multi-byte related codes have a bug with SQL_ASCII
support. Included patches will solve it and should be applied to
both trees. Also, it fix the problem with \c command of psql when
switching different encoding databases.
Add support for the CASE statement in the rewrite handling.
Allows (at least some) rules and views.
Still some trouble (crashes) with target CASE columns spanning tables,
but lots now works.
Fix up error messages when looking up functions and operators to not
make the sometimes misleading claim that more than one candidate was
identified. Now say "Unable to identify...".
Clean up error messages associated with rules and views.
Fix parser error message when an operator is not found
to not explicitly claim that there is more than one.
Add routines and synonyms to help with single-byte char type handling.
Fix one usage of substr() which mapped to the "Oracle compatibility" funcs
rather than the more recent (and closer to SQL92) function in varlena.c.
Add more DESC() entries for conversion functions.
Adjust handling of data type names to suppress double quotes
unless necessary.
Label internal bpchar types as "character" and varchar types as
"character varying" to be less Postgres-specific. These types map to
the SQL92 definitions anyway.
Redefine g_force_quotes to be the local variable force_quotes.
Pass this as an argument to fmtId().
These should help with handling the single-byte internal "char" type.
Switch around conditional code so that HAVE_TM_ZONE takes precedence
over HAVE_INT_TIMEZONE. This may help out linux/glibc2 and Dec Alpha.
Included #error precompiler macros to catch cases where neither is defined
but USE_POSIX_TIME is (shouldn't happen). Hopefully this isn't just
a gcc-ism.
Tom Lane [Sun, 13 Dec 1998 20:05:16 +0000 (20:05 +0000)]
Partial fix for vendor-cc-versus-gcc incompatibility on HPUX:
prefer aCC as c++ compiler if hpux_cc is selected as template.
Doesn't solve the problem if you have g++ and not aCC, however...
Tom Lane [Sun, 13 Dec 1998 20:03:07 +0000 (20:03 +0000)]
Use standard AC_PROG_INSTALL macro to search for install program,
instead of our own halfway-there code. Add AC_STRUCT_TIMEZONE call
to check whether tm_zone exists in struct tm. Revise reading of template
file so that templates can define any variables they feel like (and,
indeed, can execute arbitrary shell code) rather than being constrained
to a fixed set of variable names.
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.