Tom Lane [Sun, 23 Apr 2000 04:26:32 +0000 (04:26 +0000)]
Our test to see if we had permission to install into Perl5 install area
always failed if Perl makefile's INSTALLSITELIB variable was specified
in terms of another variable. Fix by adding an echo-installdir target
to the Perl makefile, which the upper-level Makefile can invoke.
Tom Lane [Sun, 23 Apr 2000 02:08:33 +0000 (02:08 +0000)]
Update obsolete info in CREATE INDEX ref page. (I had fixed the text
description in indices.sgml, but missed the near-duplicate prose in
the reference page...)
Tom Lane [Sun, 23 Apr 2000 01:44:55 +0000 (01:44 +0000)]
Produce an appropriate error message when opclass is not supported by
specified index access method. Clean up wording of some existing error
messages, too.
Tom Lane [Sat, 22 Apr 2000 22:39:15 +0000 (22:39 +0000)]
Remove broken tracing code (which would be dangerous if it did work...)
libpq++.h contained copies of the class declarations in the other libpq++
include files, which was bogus enough, but the declarations were not
completely in step with the real declarations. Remove these in favor
of including the headers with #include. Make PgConnection destructor
virtual (not absolutely necessary, but seems like a real good idea
considering the number of subclasses derived from it). Give all classes
declared private copy constructors and assignment operators, to prevent
compiler from thinking it can copy these objects safely.
Tom Lane [Fri, 21 Apr 2000 03:28:17 +0000 (03:28 +0000)]
pltcl didn't work well at all when Tcl had been built with a different
compiler than the one selected to build Postgres with. It was trying
to feed Postgres-compiler switches to Tcl's compiler. (Seen this before
with the perl5 interface...) Fix to use only CFLAGS taken from Tcl's
configure information, plus -I which is pretty universal.
Tom Lane [Fri, 21 Apr 2000 03:07:51 +0000 (03:07 +0000)]
Finally figured out that HP's cpp won't do ANSI preprocessing constructs
unless you feed it -Aa or -Ae switch. Autoconf does not know about this,
but we can fix it in the hpux_cc template file. I knew templates were
good for something ;-)
Tom Lane [Fri, 21 Apr 2000 03:01:54 +0000 (03:01 +0000)]
Fix still more static-declaration-vs-nonstatic-definition glitches.
gcc doesn't think these are a problem, but somewhere out there is a
compiler that will spit up.
Tom Lane [Thu, 20 Apr 2000 00:31:49 +0000 (00:31 +0000)]
Correct error in rewriter that caused SELECT count(*) FROM view
to give wrong results: it should be looking at inJoinSet not inFromCl.
Also, make 'modified' flag be local to ApplyRetrieveRule: we should
append a rule's quals to the query iff that particular rule applies,
not if we have fired any previously-considered rule for the query!
Tom Lane [Tue, 18 Apr 2000 05:52:35 +0000 (05:52 +0000)]
Repair coredump seen when a view refers to an inheritance group
(SELECT FROM table*). Cause was reference to 'eref' field of an RTE,
which is null in an RTE loaded from a stored rule parsetree. There
wasn't any good reason to be touching the refname anyway...
Tom Lane [Tue, 18 Apr 2000 05:43:02 +0000 (05:43 +0000)]
Correct oversight in hashjoin cost estimation: nodeHash sizes its hash
table for an average of NTUP_PER_BUCKET tuples/bucket, but cost_hashjoin
was assuming a target load of one tuple/bucket. This was causing a
noticeable underestimate of hashjoin costs.
Tom Lane [Sun, 16 Apr 2000 18:07:22 +0000 (18:07 +0000)]
Tweak create_help.pl so it will work under either perl 4.* or perl 5.*.
Remove knowledge of path to documentation source directory from perl
script, instead have Makefile pass it to script.
Tom Lane [Sun, 16 Apr 2000 04:41:03 +0000 (04:41 +0000)]
Add new selectivity estimation functions for pattern-matching operators
(LIKE and regexp matches). These are not yet referenced in pg_operator,
so by default the system will continue to use eqsel/neqsel.
Also, tweak convert_to_scalar() logic so that common prefixes of strings
are stripped off, allowing better accuracy when all strings in a table
share a common prefix.
Tom Lane [Sun, 16 Apr 2000 01:55:45 +0000 (01:55 +0000)]
get_relattval() should treat a NULL constant as a non-constant expression,
since it has no way to indicate to its caller that the constant is
actually NULL. This prevents coredump in cases like
WHERE textfield < null::text;
Tom Lane [Sat, 15 Apr 2000 19:13:08 +0000 (19:13 +0000)]
elog(NOTICE) during COPY incorrectly reset lineno to 0, causing any
subsequent elogs() in the same COPY operation to display the wrong
line number. Fix is to clear lineno only when elog level is such
that we will not return to caller.
Peter Eisentraut [Fri, 14 Apr 2000 23:43:44 +0000 (23:43 +0000)]
fixed another psql \e bug (handle newlines as whitespace)
repaired psql option scanning bug (special treatment to \g |pipe)
fixed ipcclean makefile
made configure look for Perl to handle psql help build gracefully
Fix (well, add) support for ISO "week" in date_part(). Needed for ODBC.
Fix spelling of "millennium".
Thanks to Mika Nystrom <mika@camembert.cs.caltech.edu> for spotting this.
Rename Digital Unix to Compaq Tru64 :(
Update platform support for HPUX, Linux-mips, Linux-ppc, mklinux,
NetBSD-m68k (may be a bit premature), and Solaris.
Tom Lane [Fri, 14 Apr 2000 03:05:35 +0000 (03:05 +0000)]
Fix silly definition order in config.h --- we had prototypes like
extern int inet_aton(const char *cp, struct in_addr * addr);
appearing before the optional #define for const, which was certain
to fail on a machine with neither const nor inet_aton().
Tom Lane [Fri, 14 Apr 2000 01:00:16 +0000 (01:00 +0000)]
#undef const, inline, signed, volatile, on the expectation that a C++
compiler will understand them. configure may have #define'd them to
empty because the local C compiler doesn't understand them, but this
may very well cause a C++ compilation to fail, so don't do it in C++.
Tom Lane [Fri, 14 Apr 2000 00:51:58 +0000 (00:51 +0000)]
Skip setsockopt(SO_REUSEADDR) for the Unix-domain postmaster socket on
all platforms, not just SCO. The operation is undefined for Unix-domain
sockets anyway. It seems SCO is not the only platform that complains
instead of treating the call as a no-op.
Tom Lane [Fri, 14 Apr 2000 00:42:06 +0000 (00:42 +0000)]
If configure finds that inet_aton() is not present on this platform,
include the version from backend/port into libpq.
There is a second-rate implementation of inet_aton() already present
in fe-connect.c, #ifdef'd WIN32. That ought to be removed in favor
of using the better version from port/. However, since I'm not in a
position to test the WIN32 code, I will leave well enough alone for
this release...
Tom Lane [Fri, 14 Apr 2000 00:19:17 +0000 (00:19 +0000)]
Repair bug reported by Wickstrom: backend would crash if WHERE clause
contained a sub-SELECT nested within an AND/OR tree that cnfify()
thought it should rearrange. Same physical sub-SELECT node could
end up linked into multiple places in resulting expression tree.
This is harmless for most node types, but not for SubLink.
Repair bug by making physical copies of subexpressions that get
logically duplicated by cnfify(). Also, tweak the heuristic that
decides whether it's a good idea to do cnfify() --- we don't really
want that to happen when it would cause multiple copies of a subselect
to be generated, I think.