Commit Graph

153 Commits

Author SHA1 Message Date
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
Marc G. Fournier e7a110b418 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:33:11 +00:00
Marc G. Fournier 15a645014a 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
1996-08-14 05:03:47 +00:00
Marc G. Fournier 988a9adfbd 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)
1996-08-14 05:01:53 +00:00
Marc G. Fournier 011ee13131 |
|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>
1996-08-14 04:56:55 +00:00
Marc G. Fournier 6b9ecd8348 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>
1996-08-14 04:54:45 +00:00
Marc G. Fournier 80d0c4ffd3 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>
1996-08-14 04:51:34 +00:00
Marc G. Fournier ca5db6cab1 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>
1996-08-13 07:48:33 +00:00
Marc G. Fournier a721c91ade More code cleanups
Submitted by: darcy@druid.druid.com (D'Arcy J.M. Cain)
1996-08-13 01:36:50 +00:00
Marc G. Fournier 9305fc748c 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>
1996-08-13 01:34:29 +00:00
Marc G. Fournier 78d56d0bcb Small cleanup of the irix5 port
Submitted by: Andrew Martin <martin@biochemistry.ucl.ac.uk>
1996-08-13 01:33:27 +00:00
Marc G. Fournier 9da9c0915a 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>
1996-08-13 01:32:26 +00:00
Marc G. Fournier 59f29714aa 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>
1996-08-13 01:29:34 +00:00
Marc G. Fournier 9b7eb28ea5 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>
1996-08-13 01:28:29 +00:00
Marc G. Fournier 5bd4485c8e More code cleanups
Submitted by:  darcy@druid.druid.com (D'Arcy J.M. Cain)
1996-08-13 01:27:21 +00:00
Marc G. Fournier 1508feb283 Another small patch fix...
Submitted by: Bruce Momjian <maillist@candle.pha.pa.us>
1996-08-10 05:02:53 +00:00
Marc G. Fournier 4db7f15b2a Updates to libpq to fix breakage in previous patch...
Submitted by: darcy@druid.druid.com (D'Arcy J.M. Cain)
1996-08-10 00:22:48 +00:00
Marc G. Fournier ae4725295a Fix an Inccorect Error Message...
Submitted by: Dan McGuirk <mcguirk@indirect.com>
1996-08-09 19:06:59 +00:00
Julian Assange dfca092633 applied kurt's patch to fix unlikely, but potential, string underflow
problem in psql
1996-08-06 20:23:14 +00:00
Marc G. Fournier ab57e09e1c 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>
1996-08-06 16:51:35 +00:00
Marc G. Fournier bb0bdfd101 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>
1996-08-06 16:43:41 +00:00
Marc G. Fournier 6c684b1847 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>
1996-08-06 16:38:03 +00:00
Marc G. Fournier ab22b34891 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>
1996-08-06 16:27:59 +00:00
Marc G. Fournier c4e53a1411 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>
1996-08-06 16:16:50 +00:00
Marc G. Fournier fd3b829959 Had a space in CFLAGS+= -I ..
Submitted by:  Andrew Martin <martin@biochemistry.ucl.ac.uk>
1996-08-06 16:05:56 +00:00
Julian Assange 7ef04b25cc added patch from kurt that fixes memory leak (didn't free line buffer
for slash commands)
1996-08-06 00:40:12 +00:00
Marc G. Fournier 132e9159eb 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>
1996-08-05 00:25:07 +00:00
Marc G. Fournier 54f69a954c Fix a bug in pg_class
submitted by: "Peter Daum" <gator@cs.tu-berlin.de>
1996-08-04 22:00:13 +00:00
Marc G. Fournier 423a715989 Quick patch for compiling under BSD/OS 2.0 from Bruce 1996-08-04 21:03:23 +00:00
Marc G. Fournier 7d1402d071 Okay...*last* commit, now to create a release...
README file for regresssion tests from Dr. George
1996-08-02 01:24:00 +00:00
Marc G. Fournier 642668c31d Update to expected.input from Dr. George 1996-08-02 01:18:05 +00:00
Marc G. Fournier 4fff70a819 Fixes:
make TCL conditinal compilation work

Submitted by: Dr_George_D_Detlefsen <drgeorge@madmax.ilt.com>
1996-08-01 19:46:46 +00:00
Marc G. Fournier 164ef6ff2b 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>
1996-08-01 05:11:33 +00:00
Marc G. Fournier 4d837e370c Change the TEMPDIR to be obj instead of /tmp
Suggested by: Michael Babcock <michael@kanji.com>
1996-08-01 05:04:29 +00:00
Marc G. Fournier a82aa45a4d An actual README file for the regression tests
Submitted by: Dr. George
1996-08-01 04:53:22 +00:00
Marc G. Fournier ce48b4d5bd A newer expected.input file for the regression tests
Submitted by: Dr. Geoge
1996-08-01 04:51:49 +00:00
Marc G. Fournier cb34902cbd Move port includes from bin/pg_dump/Makefile to Makefile.global 1996-07-31 18:59:00 +00:00
Marc G. Fournier db174707ba Standardize locations of TCL related files
Submitted by: Dr_George_D_Detlefsen <drgeorge@madmax.ilt.com>
1996-07-31 18:52:38 +00:00
Marc G. Fournier 7bdd8dcac3 This prevent gcc from complaining about casting a short to a char * and
fixes another complaint.

More fixes from Bruce...
1996-07-31 18:48:16 +00:00
Marc G. Fournier 9c0f89c4a4 More patches for BSDi from Bruce 1996-07-31 18:43:58 +00:00
Marc G. Fournier 4e82924eac Row count patch from Bruce 1996-07-31 18:40:12 +00:00
Marc G. Fournier 7d2000e3a7 Fix for <machine.h> bug
Submitted by: Bruce
1996-07-31 17:35:13 +00:00
Marc G. Fournier c317bdc9fd Re-arrange KRBVERS postition
Suggested by: Daniel Kalchev <daniel@digsys.bg>
1996-07-31 17:19:49 +00:00
Marc G. Fournier c114bf330d A "lost in the archives" patch from Chris Dunlop <chris@atlas.onthe.net.au> 1996-07-31 06:09:46 +00:00
Marc G. Fournier dbf2a8c984 Everyone seems to suggestion this is something that should be there...
#include <sys/termios.h>

Submitted by: Dr. George
1996-07-31 06:05:46 +00:00
Marc G. Fournier 5eb17f53b6 Moved src/extend to contrib 1996-07-31 02:30:10 +00:00
Marc G. Fournier c6cf21825a already exists in the contrib directory 1996-07-31 02:28:22 +00:00
Marc G. Fournier 3881cbd2f6 Added <sys/termios.h> for i386_solaris port
Submitted by: Dr_George_D_Detlefsen <drgeorge@ilt.com>
1996-07-31 02:20:59 +00:00
Marc G. Fournier a05ed5bc11 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...

Submitted by:  ernst.molitor@uni-bonn.de
1996-07-31 02:19:23 +00:00