OSDN Git Service

pg-rex/syncrep.git
27 years agoMore code cleanups from "Kurt J. Lidl" <lidl@va.pubnix.com>
Marc G. Fournier [Mon, 16 Sep 1996 05:40:31 +0000 (05:40 +0000)]
More code cleanups from "Kurt J. Lidl" <lidl@va.pubnix.com>

27 years agoEnable FUNC_UTIL_PATCH by default
Marc G. Fournier [Mon, 16 Sep 1996 05:39:04 +0000 (05:39 +0000)]
Enable FUNC_UTIL_PATCH by default

27 years agoThere is a bug in the function executor. The backend crashes while trying to
Marc G. Fournier [Mon, 16 Sep 1996 05:36:38 +0000 (05:36 +0000)]
There is a bug in the function executor. The backend crashes while trying to
execute an sql function containing an utility command (create, notify, ...).
The bug is part in the planner, which returns a number of plans different
than the number of commands if there are utility commands in the query, and
in part in the function executor which assumes that all commands are normal
query commands and causes a SIGSEGV trying to execute commands without plan.

Submitted by: Massimo Dal Zotto <dz@cs.unitn.it>

27 years ago|Subject: Postgres patch: Assert attribute type match
Marc G. Fournier [Mon, 16 Sep 1996 05:33:20 +0000 (05:33 +0000)]
|Subject: Postgres patch: Assert attribute type match
|
|Here's a patch for Version 2 only.  It just adds an Assert to catch some
|inconsistencies in the catalog classes.
|
|--
|Bryan Henderson                                    Phone 408-227-6803
|San Jose, California
|

27 years agoAdd use of INDEXSCAN_PATCH to config.h instead of putting it in Makefile.global
Marc G. Fournier [Tue, 10 Sep 1996 06:51:28 +0000 (06:51 +0000)]
Add use of INDEXSCAN_PATCH to config.h instead of putting it in Makefile.global

27 years agoFixes:
Marc G. Fournier [Tue, 10 Sep 1996 06:48:52 +0000 (06:48 +0000)]
Fixes:

The problem is that the function arguments are not considered as possible key
candidates for index scan and so only a sequential scan is possible inside
the body of a function.  I have therefore made some patches to the optimizer
so that indices are now used also by functions.  I have also moved the plan
debug message from pg_eval to pg_plan so that it is printed also for plans
genereated for function execution.  I had also to add an index rescan to the
executor because it ignored the parameters set in the execution state, they
were flagged as runtime variables in ExecInitIndexScan but then never used
by the executor so that the scan were always done with any key=1. Very odd.
This means that an index rescan is now done twice for each function execution
which uses an index, the first time when the index scan is initialized and
the second when the actual function arguments are finally available for the
execution.  I don't know what is the cost of an double index scan but I
suppose it is anyway less than the cost of a full sequential scan, at leat
for large tables. This is my patch, you must also add -DINDEXSCAN_PATCH in
Makefile.global to enable the changes.

Submitted by: Massimo Dal Zotto <dz@cs.unitn.it>

27 years agoFixes:
Marc G. Fournier [Tue, 10 Sep 1996 06:41:38 +0000 (06:41 +0000)]
Fixes:

The comparison routines for text and char data type give incorrect results
if the input data contains characters greater than 127.  As these routines
perform the comparison using signed char variables all character codes
greater than 127 are interpreted as less than 0.  These codes are used to
encode the iso8859 char sets.
The other text-like data types seem to work as expected as they use unsigned
chars in comparisons.

Submitted by: Massimo Dal Zotto <dz@cs.unitn.it>

27 years agoCleaned up a spurious '-' ...
Marc G. Fournier [Tue, 10 Sep 1996 06:23:46 +0000 (06:23 +0000)]
Cleaned up a spurious '-' ...

Pointed out by: ernst.molitor@uni-bonn.de

27 years agomodifications required to reflect centralized include files
Marc G. Fournier [Wed, 28 Aug 1996 23:02:43 +0000 (23:02 +0000)]
modifications required to reflect centralized include files

27 years agomodifications required to reflect centralized include files
Marc G. Fournier [Wed, 28 Aug 1996 22:50:24 +0000 (22:50 +0000)]
modifications required to reflect centralized include files

27 years agoClean up th ecompile process by centralizing the include files
Marc G. Fournier [Wed, 28 Aug 1996 07:27:54 +0000 (07:27 +0000)]
Clean up th ecompile process by centralizing the include files

- code compile tested, but due to a yet unresolved problem with
          parse.h's creation, compile not completed...

27 years agoWent back one directory too far for the -I include
Marc G. Fournier [Wed, 28 Aug 1996 02:18:00 +0000 (02:18 +0000)]
Went back one directory too far for the -I include

27 years agoPath to pg_proc.h to create fmgrtab.c change to include/catalog
Marc G. Fournier [Wed, 28 Aug 1996 02:13:10 +0000 (02:13 +0000)]
Path to pg_proc.h to create fmgrtab.c change to include/catalog

27 years agoMore cleanups of the include files
Marc G. Fournier [Wed, 28 Aug 1996 01:59:28 +0000 (01:59 +0000)]
More cleanups of the include files

- centralizing to simplify the -I's required to compile

27 years agoMoved the include files to src/include/regex
Marc G. Fournier [Wed, 28 Aug 1996 01:55:44 +0000 (01:55 +0000)]
Moved the include files to src/include/regex

27 years agoRedundant -I pointer to port/<portname>
Marc G. Fournier [Wed, 28 Aug 1996 01:50:01 +0000 (01:50 +0000)]
Redundant -I pointer to port/<portname>

27 years agoc.h is included in postgres.h already
Marc G. Fournier [Wed, 28 Aug 1996 01:23:59 +0000 (01:23 +0000)]
c.h is included in postgres.h already

27 years agoShould finish cleaning out the machine.h includes
Marc G. Fournier [Tue, 27 Aug 1996 22:21:34 +0000 (22:21 +0000)]
Should finish cleaning out the machine.h includes

27 years agoRemove include of machine.h
Marc G. Fournier [Tue, 27 Aug 1996 22:20:28 +0000 (22:20 +0000)]
Remove include of machine.h

27 years agoRemove all traces of machine.h and redundant calls to c.h where
Marc G. Fournier [Tue, 27 Aug 1996 22:15:17 +0000 (22:15 +0000)]
Remove all traces of machine.h and redundant calls to c.h where
postgres.h already pulled in (postgres.h includes c.h)

27 years ago#ifndef the include file like the rest, so that it doesn't get pulled
Marc G. Fournier [Tue, 27 Aug 1996 22:09:10 +0000 (22:09 +0000)]
#ifndef the include file like the rest, so that it doesn't get pulled
in twice...

27 years agoOops, win32 does have one more thing in its machine.h...move that
Marc G. Fournier [Tue, 27 Aug 1996 22:07:59 +0000 (22:07 +0000)]
Oops, win32 does have one more thing in its machine.h...move that
define to config.h

27 years agoWe have a machine.h for each platform just because of BLCKSZ, and every
Marc G. Fournier [Tue, 27 Aug 1996 22:06:30 +0000 (22:06 +0000)]
We have a machine.h for each platform just because of BLCKSZ, and every
platform with a machine.h has the same BLCKSZ?

Consolidate machine.h into config.h

27 years ago#include "postgres.h" exists in most .c files in system, so adding
Marc G. Fournier [Tue, 27 Aug 1996 22:00:21 +0000 (22:00 +0000)]
#include "postgres.h" exists in most .c files in system, so adding
#include "config.h" here will (should?) ensure that any platform
dependencies defined in config.h should be reflected in all .c files...

27 years agoMoved from backend/access to include/access
Marc G. Fournier [Tue, 27 Aug 1996 21:50:29 +0000 (21:50 +0000)]
Moved from backend/access to include/access

27 years agoThe use of include files is a mess...alot of redundancy, it seems...
Marc G. Fournier [Tue, 27 Aug 1996 21:49:14 +0000 (21:49 +0000)]
The use of include files is a mess...alot of redundancy, it seems...

First Step: Centralize them under on src/include hierarchy

27 years agoadded #include "config.h" for ESCAPE_PATCH define
Marc G. Fournier [Tue, 27 Aug 1996 07:42:29 +0000 (07:42 +0000)]
added #include "config.h" for ESCAPE_PATCH define

27 years agoRemoved -DESCAPE_PATCH ... moved to include/config.h
Marc G. Fournier [Tue, 27 Aug 1996 07:41:17 +0000 (07:41 +0000)]
Removed -DESCAPE_PATCH ... moved to include/config.h

27 years agoAt this rate, maybe next year sometime I'll get this done...
Marc G. Fournier [Tue, 27 Aug 1996 07:32:33 +0000 (07:32 +0000)]
At this rate, maybe next year sometime I'll get this done...

Goals: reduce the difficulty of porting from platform to platform,
       release to release, but moving as much as possible into config.h

27 years agoOne file at a time, one directory after the other...this is going
Marc G. Fournier [Tue, 27 Aug 1996 07:30:55 +0000 (07:30 +0000)]
One file at a time, one directory after the other...this is going
to be one helluva chore to clean up...

27 years agofirst attempt at centralizing config information for ports
Marc G. Fournier [Tue, 27 Aug 1996 06:56:08 +0000 (06:56 +0000)]
first attempt at centralizing config information for ports

27 years agofirst pass...move some of the "Port" dependencies to src/include/config.h
Marc G. Fournier [Tue, 27 Aug 1996 06:55:28 +0000 (06:55 +0000)]
first pass...move some of the "Port" dependencies to src/include/config.h

27 years agoReduce -DPORTNAME_$(PORTNAME) down to just -D$(PORTNAME)
Marc G. Fournier [Tue, 27 Aug 1996 06:52:34 +0000 (06:52 +0000)]
Reduce -DPORTNAME_$(PORTNAME) down to just -D$(PORTNAME)

27 years agoIts a start...
Marc G. Fournier [Tue, 27 Aug 1996 06:14:29 +0000 (06:14 +0000)]
Its a start...

27 years agoCreate support for a "common" include directory for the source
Marc G. Fournier [Tue, 27 Aug 1996 06:10:50 +0000 (06:10 +0000)]
Create support for a "common" include directory for the source
tree, instead of having include files all over the place...

Immediate goal...a 'config.h' file so that we can make #ifdef's
being used throughout the code more a rarity as far as porting
is concerned

27 years agoDamn, we really need to clean up this "include file" dilemna...
Marc G. Fournier [Mon, 26 Aug 1996 23:04:07 +0000 (23:04 +0000)]
Damn, we really need to clean up this "include file" dilemna...
include files *everywhere* ;(

27 years agoThe patch that is applied at the end of the email makes sure that these
Marc G. Fournier [Mon, 26 Aug 1996 20:38:52 +0000 (20:38 +0000)]
The patch that is applied at the end of the email makes sure that these
conditions are always met. The patch can be applied to any version
of Postgres95 from 1.02 to 1.05. After applying the patch, queries
using indices on bpchar and varchar fields should (hopefully ;-) )
always return the same tuple set regardless to the fact whether
indices are used or not.

Submitted by: Gerhard Reithofer <tbr_laa@AON.AT>

27 years agoOops, thanks to Dan McGuirk for pointing out that I missed part of
Marc G. Fournier [Mon, 26 Aug 1996 20:02:12 +0000 (20:02 +0000)]
Oops, thanks to Dan McGuirk for pointing out that I missed part of
the commit :(

Here's the rest of the GiST code thta was missing...

27 years agoQuick fix of the PG-GiST import pointed out by Dan
Marc G. Fournier [Mon, 26 Aug 1996 19:59:15 +0000 (19:59 +0000)]
Quick fix of the PG-GiST import pointed out by Dan

27 years agoThere, now we support GiST...now what? :)
Marc G. Fournier [Mon, 26 Aug 1996 06:32:06 +0000 (06:32 +0000)]
There, now we support GiST...now what? :)

27 years agoRoll in patch that fixes problem with sed 3.0
Marc G. Fournier [Mon, 26 Aug 1996 06:04:49 +0000 (06:04 +0000)]
Roll in patch that fixes problem with sed 3.0

submitted by: Dan McGuirk

27 years agoFix prototype for dumpClasses
Marc G. Fournier [Mon, 26 Aug 1996 05:46:39 +0000 (05:46 +0000)]
Fix prototype for dumpClasses

27 years agoThis patch for Versions 1 and 2 corrects the following bug:
Marc G. Fournier [Sat, 24 Aug 1996 20:56:16 +0000 (20:56 +0000)]
This patch for Versions 1 and 2 corrects the following bug:

In a catalog class that has a "name" type attribute, UPDATEing of an
instance of that class may destroy all of the attributes of that
instance that are stored as or after the "name" attribute.

This is caused by the alignment value of the "name" type being set to
"double" in Class pg_type, but "integer" in Class pg_attribute.
Postgres constructs a tuple using double alignment, but interprets it
using integer alignment.

The fix is to change the alignment to integer in pg_type.

Note that this corrects the problem for new Postgres systems.  Existing
databases already contain the error and it can't easily be repaired because
this very bug prevents updating the class that contains it.

--
Bryan Henderson                                    Phone 408-227-6803
San Jose, California

27 years agoThe patch does several things:
Marc G. Fournier [Sat, 24 Aug 1996 20:49:41 +0000 (20:49 +0000)]
The patch does several things:

        It adds a WITH OIDS option to the copy command, which allows
dumping and loading of oids.

        If a copy command tried to load in an oid that is greater than
its current system max oid, the system max oid is incremented.  No
checking is done to see if other backends are running and have cached
oids.

        pg_dump as its first step when using the -o (oid) option, will
copy in a dummy row to set the system max oid value so as rows are
loaded in, they are certain to be lower than the system oid.

        pg_dump now creates indexes at the end to speed loading

Submitted by:  Bruce Momjian <maillist@candle.pha.pa.us>

27 years agoHere's the fix for the problem that Evan Champion reported today.
Marc G. Fournier [Sat, 24 Aug 1996 20:38:56 +0000 (20:38 +0000)]
Here's the fix for the problem that Evan Champion reported today.

This presumably corrects a problem of initdb failing on systems that have
an awk that is sensitive to this.

--
Bryan Henderson                                    Phone 408-227-6803
San Jose, California

27 years ago|May I suggest to add access to the oid of an inserted
Marc G. Fournier [Wed, 21 Aug 1996 04:32:09 +0000 (04:32 +0000)]
|May I suggest to add access to the oid of an inserted
|record, by a small patch to libpq++? At least until the
|feature that will allow dumped oid's to be re-loaded into
|a database becomes available, I need access to the oids
|of newly created records... To this end, I have written a
|three-line wrapper for the PQoidStatus function in libpq and
|named this wrapper OidStatus() (I'd appreciate suggestions for
|a name that would better fit into the general naming scheme).
|
|Regards,
|
|Ernst
|

27 years agoHere's a patch for Versions 1 and 2 that fixes the following bug:
Marc G. Fournier [Wed, 21 Aug 1996 04:25:49 +0000 (04:25 +0000)]
Here's a patch for Versions 1 and 2 that fixes the following bug:

When you try to do any UPDATE of the catalog class pg_class, such as
to change ownership of a class, the backend crashes.

This is really two serial bugs: 1) there is a hardcoded copy of the
schema of pg_class in the postgres program, and it doesn't match the
actual class that initdb creates in the database; 2) Parts of postgres
determine whether to pass an attribute value by value or by reference
based on the attbyval attribute of the attribute in class
pg_attribute.  Other parts of postgres have it hardcoded.  For the
relacl[] attribute in class pg_class, attbyval does not match the
hardcoded expectation.

The fix is to correct the hardcoded schema for pg_attribute and to
change the fetchatt macro so it ignores attbyval for all variable
length attributes.  The fix also adds a bunch of logic documentation and
extends genbki.sh so it allows source files to contain such documentation.

--
Bryan Henderson                                    Phone 408-227-6803
San Jose, California

27 years agoUSE_TCL should default to false, ntot true...
Marc G. Fournier [Wed, 21 Aug 1996 04:08:17 +0000 (04:08 +0000)]
USE_TCL should default to false, ntot true...

27 years agoBSD$$_derived needs -ltermcap for psql
Marc G. Fournier [Wed, 21 Aug 1996 04:06:01 +0000 (04:06 +0000)]
BSD$$_derived needs -ltermcap for psql

27 years agoErk, missed adding the required ilbrary itself
Marc G. Fournier [Wed, 21 Aug 1996 04:03:32 +0000 (04:03 +0000)]
Erk, missed adding the required ilbrary itself

27 years agoQuick fix for compiling psql...
Marc G. Fournier [Wed, 21 Aug 1996 03:59:59 +0000 (03:59 +0000)]
Quick fix for compiling psql...

27 years agocommand line flag for expanded display '-x' had logic reversed
Julian Assange [Wed, 21 Aug 1996 00:22:41 +0000 (00:22 +0000)]
command line flag for expanded display '-x' had logic reversed

27 years agoBring in changes to READLINE/HISTORY defines
Marc G. Fournier [Tue, 20 Aug 1996 05:04:13 +0000 (05:04 +0000)]
Bring in changes to READLINE/HISTORY defines

27 years agoFinish adding in svr4 port to v2.0
Marc G. Fournier [Mon, 19 Aug 1996 13:58:23 +0000 (13:58 +0000)]
Finish adding in svr4 port to v2.0

27 years agoAdded a SVR4 port
Marc G. Fournier [Mon, 19 Aug 1996 13:52:54 +0000 (13:52 +0000)]
Added a SVR4 port

---

below my signature, there are a coupls of diffs and files in a shell
archive, which were needed to build postgres95 1.02 on Siemens Nixdorfs
MIPS based SINIX systems. Except for the compiler switches "-W0" and
"-LD-Blargedynsym" these diffs should also apply for other SVR4 based
systems. The changes in "Makefile.global" and "genbki.sh" can probably
be ignored (I needed gawk, to make the script run).

There is one bugfix thou. In "src/backend/parser/sysfunc.c" the
function in this file didn't honor the EUROPEAN_DATES ifdef.

---

Submitted by:  Frank Ridderbusch <ridderbusch.pad@sni.de>

27 years agoHere's a minor fix that fixes a casting problem:
Marc G. Fournier [Mon, 19 Aug 1996 13:38:42 +0000 (13:38 +0000)]
Here's a minor fix that fixes a casting problem:

-Kurt

27 years agoMore run-time checking errors:
Marc G. Fournier [Mon, 19 Aug 1996 13:37:50 +0000 (13:37 +0000)]
More run-time checking errors:

-Kurt

27 years agoFixes:
Marc G. Fournier [Mon, 19 Aug 1996 13:32:14 +0000 (13:32 +0000)]
Fixes:

Here's a couple more small fixes that I've made to make my runtime
checker happy with the code.  More along the lines of those that
I sent in the past, ie, a pointer to an array != the name of
an array.  The last patch is that I mailed about yesterday -- I got
two replies of "do it", so it's done.  As far as I can tell, however,
the function in question is never called by pg95, so either way
it can't hurt...

From:  "Kurt J. Lidl" <lidl@va.pubnix.com>

27 years agoFixes:
Marc G. Fournier [Mon, 19 Aug 1996 13:25:40 +0000 (13:25 +0000)]
Fixes:

When you connect to a database with PQsetdb, as with psql, depending on
how your uninitialized variables are set, you can get a failure with a
"There is no connection to the backend" message.

The fix is to move a call to PQexec() from inside connectDB() to
PQsetdb() after connectDB() returns to PQsetdb().  That way a connection
doesn't have to be already established in order to establish it!

From:  bryanh@giraffe.netgate.net (Bryan Henderson)

27 years agoFrom: Dan McGuirk <mcguirk@indirect.com>
Marc G. Fournier [Mon, 19 Aug 1996 01:53:39 +0000 (01:53 +0000)]
From: Dan McGuirk <mcguirk@indirect.com>

fixed the spelling of 'nonexistent' in a few places...

27 years ago|From: Dan McGuirk <mcguirk@indirect.com>
Marc G. Fournier [Mon, 19 Aug 1996 01:52:36 +0000 (01:52 +0000)]
|From: Dan McGuirk <mcguirk@indirect.com>
|
|This patch fixes a backend crash that happens sometimes when you try to
|join on a field that contains NULL in some rows.  Postgres tries to
|compute a hash value of the field you're joining on, but when the field
|is NULL, the pointer it thinks is pointing to the data is really just
|pointing to random memory.  This forces the hash value of NULL to be 0.
|
|It seems that nothing matches NULL on joins, even other NULL's (with or
|without this patch).  Is that what's supposed to happen?
|

27 years agoSupport Docs & Contrib
Marc G. Fournier [Sun, 18 Aug 1996 22:14:33 +0000 (22:14 +0000)]
Support Docs & Contrib

27 years agochanged missed err() change to err_out()
Marc G. Fournier [Sat, 17 Aug 1996 06:41:10 +0000 (06:41 +0000)]
changed missed err() change to err_out()

Found/submittd by David Bennett

27 years agoFixes a bug in 'create index'
Marc G. Fournier [Thu, 15 Aug 1996 07:42:52 +0000 (07:42 +0000)]
Fixes a bug in 'create index'

Submitted by: Dan McGuirk <mcguirk@indirect.com>

27 years agoFixes:
Marc G. Fournier [Thu, 15 Aug 1996 07:39:24 +0000 (07:39 +0000)]
Fixes:

CLUSTER command couldn't rename correctly the new created heap relation.
The table base name resulted in some "temp_XXXX" instead of the correct
base name.

Submitted by: Dirk Koeser <koeser@informatik.uni-rostock.de>

27 years agoFixes;
Marc G. Fournier [Thu, 15 Aug 1996 07:30:22 +0000 (07:30 +0000)]
Fixes;

 Postgres is not able to cluster a relation on which an rtree index is
 defined. Postmaster gives the following error message:

 Too Large Allocation Request("!(0 < (size) && (size) <= (0xfffffff)):size=0
 [0x0]", File:"/export/home/postgres/src/backend/utils/mmgr/mcxt.c", Line: 220)
  !(0 <(size) && (size) <= (0xfffffff)) (0) [No such file or directory]

Submitted by: Dirk Koeser <koeser@informatik.uni-rostock.de>

27 years ago|
Marc G. Fournier [Wed, 14 Aug 1996 16:44:51 +0000 (16:44 +0000)]
|
|Here is a fix for the psql alignment problem.  It turns out that libpq
|was trying to determine if the column contained only numeric values so
|it could right justify it.  The 'e' values were taked as exponient
|values and all columns were considered numeric.
|
|The patch excludes 'e' and 'E' as being valid first-column numeric
|values.
|

Submitted by: Bruce...

27 years agoThis patch can be installed as part of 1.02.1 so people can properly
Marc G. Fournier [Wed, 14 Aug 1996 05:44:25 +0000 (05:44 +0000)]
This patch can be installed as part of 1.02.1 so people can properly
pg_dump and load to 2.0.  I haven't gotten any feedback on whether
people want it, so I am submitting it for others to decide.  I would
recommend an install in 1.02.1.

I had said that the 2.0 pg_dump could dump a 1.02.1 database, but I was
wrong.  The copy is actually performed by the backend, and the 2.0
database will not be able to read 1.02.1 databases because of the new
system columns.

This patch does several things.  It copies nulls out as \N, so they can
be distinguished from '' strings.  It fixes a problem where backslashes
in the input stream were not output as double-backslashes.  Without this
patch, backslashes copied out were deleted upon input, or interpreted as
special characters.  Third, input is now terminated by backslash-period.
This can not be part of a normal input stream.

I tested this by creating a database with all sorts of nulls, backslash,
and period fields and dumped the database and reloaded into a new
database and compared them.

Submitted by: Bruce

27 years agoThis patch can be installed as part of 1.02.1 so people can properly
Marc G. Fournier [Wed, 14 Aug 1996 05:33:11 +0000 (05:33 +0000)]
This patch can be installed as part of 1.02.1 so people can properly
pg_dump and load to 2.0.  I haven't gotten any feedback on whether
people want it, so I am submitting it for others to decide.  I would
recommend an install in 1.02.1.

I had said that the 2.0 pg_dump could dump a 1.02.1 database, but I was
wrong.  The copy is actually performed by the backend, and the 2.0
database will not be able to read 1.02.1 databases because of the new
system columns.

This patch does several things.  It copies nulls out as \N, so they can
be distinguished from '' strings.  It fixes a problem where backslashes
in the input stream were not output as double-backslashes.  Without this
patch, backslashes copied out were deleted upon input, or interpreted as
special characters.  Third, input is now terminated by backslash-period.
This can not be part of a normal input stream.

I tested this by creating a database with all sorts of nulls, backslash,
and period fields and dumped the database and reloaded into a new
database and compared them.

Submitted by: Bruce

27 years agoI grabbed the latest version of the source code via sup this morning,
Marc G. Fournier [Wed, 14 Aug 1996 05:03:47 +0000 (05:03 +0000)]
I grabbed the latest version of the source code via sup this morning,
and found out that one of the patches is a show stopper for
compiling under a strict ansi package.

Please make sure the following fix makes it into the 1.02.1
release...

Thanks.

-Kurt

27 years agoThis is a fix to be included in 1.02.1. It adds a tip for people
Marc G. Fournier [Wed, 14 Aug 1996 05:01:53 +0000 (05:01 +0000)]
This is a fix to be included in 1.02.1.  It adds a tip for people
getting semaphore or shared memory errors.

Submitted by: bryanh@giraffe.netgate.net (Bryan Henderson)

27 years ago|
Marc G. Fournier [Wed, 14 Aug 1996 04:56:55 +0000 (04:56 +0000)]
|
|We're all too familiar with psql's "no response from backend" message.
|Users can't tell what this means, and psql continues prompting for
|commands after it even though the backend is dead and no commands can
|succeed.  It eventually dies on a signal when the dead socket fills
|up.  I extended the message to offer a better explanation and made
|psql exit when it finds the backend is dead.
|
|I also added a short message and newline when the user does a ctl-D so
|it doesn't mess up the terminal display.
|
|

Submitted by: Bryan Henderson <bryanh@giraffe.netgate.net>

27 years agoHere's a small makefile patch that corrects the following bug: The makefiles
Marc G. Fournier [Wed, 14 Aug 1996 04:54:45 +0000 (04:54 +0000)]
Here's a small makefile patch that corrects the following bug:  The makefiles
don't indicate that the libpq.a library is a dependency of all the /bin
programs.  So if the library changes, the /bin programs don't get remade.

Submitted by: Bryan Henderson <bryanh@giraffe.netgate.net>

27 years agoThe following patch makes postmaster -D work. -D specifies a different PGDATA
Marc G. Fournier [Wed, 14 Aug 1996 04:51:34 +0000 (04:51 +0000)]
The following patch makes postmaster -D work.  -D specifies a different PGDATA
directory.  The code that looks for the pg_hba file doesn't use it, though,
so the postmaster uses the wrong pg_hba file.  Also, when the postmaster
looks in one directory and the user thinks it is looking in another
directory, the error messages don't give enough information to solve the
problem.  I extended the error message for this.

Submitted by: Bryan Henderson <bryanh@giraffe.netgate.net>

27 years agoI have attached a minor update for the Postgres make files. This update
Marc G. Fournier [Tue, 13 Aug 1996 07:48:33 +0000 (07:48 +0000)]
I have attached a minor update for the Postgres make files.  This update
does 2 things:

1) Make it hard to not notice the make failed.  (As you recall, someone on
   the mailing list had this problem.  I've had it to some extent myself).

    The 1.02 make files continue with the next subdirectory when a make
    in a subdirectory fails.  The patch makes the make stop in the
    conventional way when a submake fails.  It also adds a reassuring message
    when the make succeeds and adds a note to the INSTALL file to expect it.

2) Include loader flags on all invocations of the linker.

   The 1.02 make files omit the $(LDFLAGS) on some of the linker invocations.
   On my system, I need one of those flags just to make it invoke the proper
   version of the compiler/linker, so LDFLAGS has to be everywhere.

Submitted by: Bryan Henderson <bryanh@giraffe.netgate.net>

27 years agoMore code cleanups
Marc G. Fournier [Tue, 13 Aug 1996 01:36:50 +0000 (01:36 +0000)]
More code cleanups

Submitted by: darcy@druid.druid.com (D'Arcy J.M. Cain)

27 years agoFixes:
Marc G. Fournier [Tue, 13 Aug 1996 01:34:29 +0000 (01:34 +0000)]
Fixes:

Attached is a patch to allow libpq to determine if a field is null.

This is needed because text fields will return a PQgetlength() of 0
whether it is '' or NULL.  There is even a comment in the source noting
the fact.

I have changed the value of the 'len' field for NULL result fields.  If
the field is null, the len is set to -1 (NULL_LEN).  I have changed
PQgetlength() to return a 0 length for both '' and NULL.  A new function
PQgetisnull() returns true or false for NULL.

The only risk is to applications that do not use the suggested
PQgetlength() call, but read the result 'len' field directly.

As this is not recommended, I think we are safe here.

A separate documentation patch will be sent.

Submitted by: Bruce Momjian <maillist@candle.pha.pa.us>

27 years agoSmall cleanup of the irix5 port
Marc G. Fournier [Tue, 13 Aug 1996 01:33:27 +0000 (01:33 +0000)]
Small cleanup of the irix5 port

Submitted by: Andrew Martin <martin@biochemistry.ucl.ac.uk>

27 years agoFixes:
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>

Anyways, here's the patch:

-Kurt

Submitted by: "Kurt J. Lidl" <lidl@va.pubnix.com>

27 years agoFixes:
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>

27 years agoFixes:
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...

Submitted by: "Kurt J. Lidl" <lidl@va.pubnix.com>

27 years agoMore code cleanups
Marc G. Fournier [Tue, 13 Aug 1996 01:27:21 +0000 (01:27 +0000)]
More code cleanups

Submitted by:  darcy@druid.druid.com (D'Arcy J.M. Cain)

27 years agoAnother small patch fix...
Marc G. Fournier [Sat, 10 Aug 1996 05:02:53 +0000 (05:02 +0000)]
Another small patch fix...

Submitted by: Bruce Momjian <maillist@candle.pha.pa.us>

27 years agoUpdates to libpq to fix breakage in previous patch...
Marc G. Fournier [Sat, 10 Aug 1996 00:22:48 +0000 (00:22 +0000)]
Updates to libpq to fix breakage in previous patch...

Submitted by: darcy@druid.druid.com (D'Arcy J.M. Cain)

27 years agoFix an Inccorect Error Message...
Marc G. Fournier [Fri, 9 Aug 1996 19:06:59 +0000 (19:06 +0000)]
Fix an Inccorect Error Message...

Submitted by: Dan McGuirk <mcguirk@indirect.com>

27 years agoapplied kurt's patch to fix unlikely, but potential, string underflow
Julian Assange [Tue, 6 Aug 1996 20:23:14 +0000 (20:23 +0000)]
applied kurt's patch to fix unlikely, but potential, string underflow
problem in psql

27 years agoFixes:
Marc G. Fournier [Tue, 6 Aug 1996 16:51:35 +0000 (16:51 +0000)]
Fixes:

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>

27 years agoFixes:
Marc G. Fournier [Tue, 6 Aug 1996 16:43:41 +0000 (16:43 +0000)]
Fixes:

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 ]

--Jason

Submitted by: Jason Wright <jason@oozoo.vnet.net>

27 years agoFixes:
Marc G. Fournier [Tue, 6 Aug 1996 16:38:03 +0000 (16:38 +0000)]
Fixes:

Previously Postgres95 wouldn't accept 'order by' clauses with fields
referred to as '<table>.<field>', e.g.:

        select t1.field1, t2.field2 from table1 t1, table2 t2
                order by t2.field2;

This syntax is required by the ODBC SQL spec.

Submitted by: Dan McGuirk <mcguirk@indirect.com>

27 years agoFixes:
Marc G. Fournier [Tue, 6 Aug 1996 16:27:59 +0000 (16:27 +0000)]
Fixes:

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>

27 years agoFixes for:
Marc G. Fournier [Tue, 6 Aug 1996 16:16:50 +0000 (16:16 +0000)]
Fixes for:

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.

Submitted by:  "D'Arcy J.M. Cain" <darcy@druid.druid.com>

27 years agoHad a space in CFLAGS+= -I ..
Marc G. Fournier [Tue, 6 Aug 1996 16:05:56 +0000 (16:05 +0000)]
Had a space in CFLAGS+= -I ..

Submitted by:  Andrew Martin <martin@biochemistry.ucl.ac.uk>

27 years agoadded patch from kurt that fixes memory leak (didn't free line buffer
Julian Assange [Tue, 6 Aug 1996 00:40:12 +0000 (00:40 +0000)]
added patch from kurt that fixes memory leak (didn't free line buffer
for slash commands)

27 years agoFixes:
Marc G. Fournier [Mon, 5 Aug 1996 00:25:07 +0000 (00:25 +0000)]
Fixes:

Someone asked me if the bpchar type could be extended to do
case-insensitive regular expression searches.

Submitted by: "Alistair G. Crooks" <azcb0@juts.ccc.amdahl.com>

27 years agoFix a bug in pg_class
Marc G. Fournier [Sun, 4 Aug 1996 22:00:13 +0000 (22:00 +0000)]
Fix a bug in pg_class

submitted by: "Peter Daum" <gator@cs.tu-berlin.de>

27 years agoQuick patch for compiling under BSD/OS 2.0 from Bruce
Marc G. Fournier [Sun, 4 Aug 1996 21:03:23 +0000 (21:03 +0000)]
Quick patch for compiling under BSD/OS 2.0 from Bruce

27 years agoOkay...*last* commit, now to create a release...
Marc G. Fournier [Fri, 2 Aug 1996 01:24:00 +0000 (01:24 +0000)]
Okay...*last* commit, now to create a release...

README file for regresssion tests from Dr. George

27 years agoUpdate to expected.input from Dr. George
Marc G. Fournier [Fri, 2 Aug 1996 01:18:05 +0000 (01:18 +0000)]
Update to expected.input from Dr. George

27 years agoFixes:
Marc G. Fournier [Thu, 1 Aug 1996 19:46:46 +0000 (19:46 +0000)]
Fixes:

make TCL conditinal compilation work

Submitted by: Dr_George_D_Detlefsen <drgeorge@madmax.ilt.com>

27 years agoFixes:
Marc G. Fournier [Thu, 1 Aug 1996 05:11:33 +0000 (05:11 +0000)]
Fixes:

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>