Commit Graph

15551 Commits

Author SHA1 Message Date
Marc G. Fournier 6196646291 Remove include of machine.h 1996-08-27 22:20:28 +00:00
Marc G. Fournier 3c0f8ed4ae Remove all traces of machine.h and redundant calls to c.h where
postgres.h already pulled in (postgres.h includes c.h)
1996-08-27 22:15:17 +00:00
Marc G. Fournier a88b72ea39 #ifndef the include file like the rest, so that it doesn't get pulled
in twice...
1996-08-27 22:09:10 +00:00
Marc G. Fournier 54223de000 Oops, win32 does have one more thing in its machine.h...move that
define to config.h
1996-08-27 22:07:59 +00:00
Marc G. Fournier 3a606407c7 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
1996-08-27 22:06:30 +00:00
Marc G. Fournier eadf5dc754 #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...
1996-08-27 22:00:21 +00:00
Marc G. Fournier 5a8820efcd Moved from backend/access to include/access 1996-08-27 21:50:29 +00:00
Marc G. Fournier 9247b29228 The use of include files is a mess...alot of redundancy, it seems...
First Step: Centralize them under on src/include hierarchy
1996-08-27 21:49:14 +00:00
Marc G. Fournier e1f31a2bb6 added #include "config.h" for ESCAPE_PATCH define 1996-08-27 07:42:29 +00:00
Marc G. Fournier 43eeb64688 Removed -DESCAPE_PATCH ... moved to include/config.h 1996-08-27 07:41:17 +00:00
Marc G. Fournier 321b8c80fd 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
1996-08-27 07:32:33 +00:00
Marc G. Fournier e733befeed One file at a time, one directory after the other...this is going
to be one helluva chore to clean up...
1996-08-27 07:30:55 +00:00
Marc G. Fournier 849292a188 first attempt at centralizing config information for ports 1996-08-27 06:56:08 +00:00
Marc G. Fournier c028568217 first pass...move some of the "Port" dependencies to src/include/config.h 1996-08-27 06:55:28 +00:00
Marc G. Fournier 672aec6ce3 Reduce -DPORTNAME_$(PORTNAME) down to just -D$(PORTNAME) 1996-08-27 06:52:34 +00:00
Marc G. Fournier 1da12ffb12 Its a start... 1996-08-27 06:14:29 +00:00
Marc G. Fournier 51b3f2d371 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
1996-08-27 06:10:50 +00:00
Marc G. Fournier bfc308d196 Damn, we really need to clean up this "include file" dilemna...
include files *everywhere* ;(
1996-08-26 23:04:07 +00:00
Marc G. Fournier 491b9b89c4 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>
1996-08-26 20:38:52 +00:00
Marc G. Fournier e78fe652f4 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...
1996-08-26 20:02:12 +00:00
Marc G. Fournier 2fd6061e1c Quick fix of the PG-GiST import pointed out by Dan 1996-08-26 19:59:15 +00:00
Marc G. Fournier a2740a455f There, now we support GiST...now what? :) 1996-08-26 06:32:06 +00:00
Marc G. Fournier fe87dbb140 Roll in patch that fixes problem with sed 3.0
submitted by: Dan McGuirk
1996-08-26 06:04:49 +00:00
Marc G. Fournier c449668d3e Fix prototype for dumpClasses 1996-08-26 05:46:39 +00:00
Marc G. Fournier 61eaefe9a6 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
1996-08-24 20:56:16 +00:00
Marc G. Fournier 208a30f23d 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>
1996-08-24 20:49:41 +00:00
Marc G. Fournier 2adb6d703b 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
1996-08-24 20:38:56 +00:00
Marc G. Fournier e2c9fd8e87 |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
|
1996-08-21 04:32:09 +00:00
Marc G. Fournier 5e773a4f70 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
1996-08-21 04:25:49 +00:00
Marc G. Fournier 93ad36fdc2 USE_TCL should default to false, ntot true... 1996-08-21 04:08:17 +00:00
Marc G. Fournier 2a23229cb3 BSD$$_derived needs -ltermcap for psql 1996-08-21 04:06:01 +00:00
Marc G. Fournier 4455ba2c88 Erk, missed adding the required ilbrary itself 1996-08-21 04:03:32 +00:00
Marc G. Fournier 41d0b14764 Quick fix for compiling psql... 1996-08-21 03:59:59 +00:00
Julian Assange 99dc4e3b43 command line flag for expanded display '-x' had logic reversed 1996-08-21 00:22:41 +00:00
Marc G. Fournier 1bdbf4092a Bring in changes to READLINE/HISTORY defines 1996-08-20 05:04:13 +00:00
Marc G. Fournier c801ca0982 Finish adding in svr4 port to v2.0 1996-08-19 13:58:23 +00:00
Marc G. Fournier 926a066d40 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>
1996-08-19 13:52:54 +00:00
Marc G. Fournier 0e9f4ceae0 Here's a minor fix that fixes a casting problem:
-Kurt
1996-08-19 13:38:42 +00:00
Marc G. Fournier c3673c0345 More run-time checking errors:
-Kurt
1996-08-19 13:37:50 +00:00
Marc G. Fournier 60b1123f5e 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>
1996-08-19 13:32:14 +00:00
Marc G. Fournier 77e01653bc 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)
1996-08-19 13:25:40 +00:00
Marc G. Fournier 3c47cdeb5a From: Dan McGuirk <mcguirk@indirect.com>
fixed the spelling of 'nonexistent' in a few places...
1996-08-19 01:53:39 +00:00
Marc G. Fournier f796387b60 |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?
|
1996-08-19 01:52:36 +00:00
Marc G. Fournier 9848d3655d Support Docs & Contrib 1996-08-18 22:14:33 +00:00
Marc G. Fournier 1960a3b965 changed missed err() change to err_out()
Found/submittd by David Bennett
1996-08-17 06:41:10 +00:00
Marc G. Fournier a4402ecc8c Fixes a bug in 'create index'
Submitted by: Dan McGuirk <mcguirk@indirect.com>
1996-08-15 07:42:52 +00:00
Marc G. Fournier d6fa4d95cd 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>
1996-08-15 07:39:24 +00:00
Marc G. Fournier 4844adc888 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>
1996-08-15 07:30:22 +00:00
Marc G. Fournier bde34552a2 |
|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...
1996-08-14 16:44:51 +00:00
Marc G. Fournier 476ef10913 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
1996-08-14 05:44:25 +00:00