Marc G. Fournier [Tue, 13 Aug 1996 01:32:26 +0000 (01:32 +0000)]
Fixes:
Here's a small patch that my run-time checker whines about
incessantly. The justification for the patch is along the
lines of passing a NULL is allowed if you have an
arguement that is a *POINTER* to something, but if
the arguement is an array reference, it's not really
a "pointer", so it can't be NULL.
If you question this, I refer you to
<URL:http://www.va.pubnix.com/staff/djm/lore/arrays-are-not-pointers>
Marc G. Fournier [Tue, 13 Aug 1996 01:29:34 +0000 (01:29 +0000)]
Fixes:
This patch forces postgres95 to assume any floating-point value is a
float8. It removes the requirement that you cast all floating-point
constants to float8.
We can remove alot of casts in the regression test after we are sure
this works.
If I have missed anything, would someone let me know. I have tested
inserts of floating-point values into float8 fields, and it worked well.
Casting the number to float4 showed the same precision loss as previous
uncast values showed.
Submitted by: Bruce Momjian <maillist@candle.pha.pa.us>
Marc G. Fournier [Tue, 13 Aug 1996 01:28:29 +0000 (01:28 +0000)]
Fixes:
There is a support routine in the standard 4.4BSD C library
called "err()". There is also a utility routine in
.../src/backend/bootstrap/bootstrap.c
with the same name.
Here's a patch that renames the pg95 routine to something a little
more sane. As a bonus, one more bit of system-specific code leaves
the system...
Also, I think that an extra source of noise in the diff of regress.out and
expected.out is caused by not substituting the shared library file
extension in the regression.input file (much like the paths and the
usernames are sub'ed). This seems to be fixed with the following patches
to regression.input and the Makefile... If I'm off base here, please tell!
Submitted by: Wayde Nie <niew@phoenix.cis.mcmaster.ca>
I've enclosed two patches. The first affects Solaris compilability. The
bug stems from netdb.h (where MAXHOSTNAMELEN is defined on a stock
system). If the user has installed the header files from BIND 4.9.x,
there will be no definition of MAXHOSTNAMELEN. The patch will, if all
else fails, try to include <arpa/nameser.h> and set MAXHOSTNAMELEN to
MAXDNAME, which is 256 (just like MAXHOSTNAMELEN on a stock system).
The second patch adds aliases for "ISNULL" to "IS NULL" and likewise for
"NOTNULL" to "IS NOT NULL". I have not removed the postgres specific
ISNULL and NOTNULL. I noticed this on the TODO list, and figured it would
be easy to remove.
The full semantics are:
[ expression IS NULL ]
[ expression IS NOT NULL ]
While a normal SELECT statement can contain a GROUP BY clause, a cursor
declaration cannot. This was not the case in PG-1.0. Was there a good
reason why this was changed? Are cursors being phased out? Is there any way
to get data with just a SELECT (and without a DECLARE CURSOR ...)?
The patch below seems to fix things. If anyone can see a problem with it,
please let me know. Thanks.
Submitted by: David Smith <dasmith@perseus.tufts.edu>
Here are a few minor fixes to Postgres95. Mostly I have added const
to some of the char pointers. There was also a missing header file
and a place where it looks like "==" was used when "=" was meant.
I also changed some variables from Pfin and Pfout tp pfin and pfout
because the latter shadow global variables and that just seems like
an unsafe practice which I like to avoid.
Originally, I thought the problem was caused by a function that gets
called as a normal function where we want to return a value, and as a
signal handler where we need to have it accept a parameter (the signal
number) and it returns nothing, I was going to case the function name in
the signal call as (void (*)(int)).
Looking at all the source, it turns out this function only gets used as
a signal handler, so I set an int parameter and return void.
I have removed the Linux defines because they are not needed. BSD let
this sloppiness slide. Linux gave a compile error.
Submitted by: Bruce Momjian <maillist@candle.pha.pa.us>
Marc G. Fournier [Wed, 31 Jul 1996 02:19:23 +0000 (02:19 +0000)]
Fixes:
In postgres95/src/backend/nodes/readfuncs, lines 1188 and 1189,
local_node->relname is taken to point to a NameType, while its
defined as a pointer to char. Both the casting to Name and the
call of namestrcpy should, IMHO, be changed appropriately (first
patch).
As far as I could see from the Linux signal header file,
a signal handler is declared as
typedef void (*__sighandler_t)(int);
Few changes to postgres95/src/backend/storage/lmgr/proc.c seem
appropriate to comply with this.
Finally, postgres95/src/bin/pg_version/pg_version.c defines
a function GetDataHome (by default, returning an integer)
and returns NULL in the function, which isn't an integer...
Marc G. Fournier [Wed, 31 Jul 1996 02:11:23 +0000 (02:11 +0000)]
Fixes:
updates the psql.1 manual page for \ options
add row count and ties it to the header option
updated manual pages and comment for above change
got \? to display in one screen-full (almost, \? scrolls off top)
moved \r to \E, and \z to \r (for historical reasons with monitor)
small code alignment cleanup
Submitted by: Bruce Momjian <maillist@candle.pha.pa.us>
Marc G. Fournier [Tue, 30 Jul 1996 07:56:04 +0000 (07:56 +0000)]
Fixes:
> INDEXED searches in some cases DO NOT WORK.
> Although simple search expressions (i.e. with a constant value on
> the right side of an operator) work, performing a join (by putting
> a field of some other table on the right side of an operator) produces
> empty output.
> WITHOUT indices, everything works fine.
>
submitted by: "Vadim B. Mikheev" <root@ais.sable.krasnoyarsk.su>
Marc G. Fournier [Sat, 27 Jul 1996 02:29:51 +0000 (02:29 +0000)]
This is a patch to pg_dump which fixes varchar and char printing in the
case where the attribute length is variable (stored as -1). Previously,
you'd get output that looked like:
CREATE TABLE foo (bar varchar(-1));
Monitor and psql don't like this at all :). Here is a fix:
Marc G. Fournier [Sat, 27 Jul 1996 02:27:55 +0000 (02:27 +0000)]
My patch to fe-connect.c introduced a new bug which is triggered only, if
Kerberos is being used (attempt to free static memory).
The error was caused by a confusing doublespeak of fe_getauthname():
Returns a pointer to static memory, if you authenticate via Kerberos,
a pointer to dynamic memory otherwise.
Submitted by: Erich Stamberger <eberger@gewi.kfunigraz.ac.at>
Large re-write/enhancement. In pg-101 Jolly only included a smaller part
of my (proff) patch. This is the rest of it, with a few, mainly aesthetic
changes. I've removed a lot of redundency from the original code,
added support for the new PQprint() routines in libpq, expanded tables,
and a few generally nifty ways of massaging data in and out of the
backend. Still needs some good stress testing.
PQprint() routines. The older code is still there for historical
compatibility. There isn't much difference here against my previous
PQprint() code, except that you can add optional arguments to the
<table args> in html.
Marc G. Fournier [Mon, 22 Jul 1996 23:30:57 +0000 (23:30 +0000)]
More of Dr. George's changes...
- src/backend/catalog/*
- no changes
- src/backend/executor/*
- change how nodeHash.c handles running out of memory
- src/backend/optimizer/*
- mostly cosmetic changes
Marc G. Fournier [Mon, 22 Jul 1996 23:00:26 +0000 (23:00 +0000)]
More merges from Dr. George's tree...
- src/backend/tcop/*
- cosmetic changes to OPENLINK patches
- src/backend/storage/*
- more changes, mostly cosmetic
- src/backend/ports/*
- merge in patches for aix and i386_solaris