287 Commits

Author SHA1 Message Date
Bruce Momjian
9527ce3efe Add missing file from Tom Lane. 1998-05-07 14:52:52 +00:00
Bruce Momjian
1c2d9cb637 It seems the regression tests don't cover copy in/out at all, so
code that I had assumed was working had not been tested.  Naturally,
it was broken ...

Tom Lane
1998-05-06 23:53:48 +00:00
Bruce Momjian
edbd51395c What I've done:
1. Rewritten libpq to allow asynchronous clients.

2. Implemented client side of cancel protocol in library,
   and patched psql.c to send a cancel request upon SIGINT.  The
   backend doesn't notice it yet :-(

3. Implemented 'Z' protocol message addition and renaming of
   copy in/out start messages.  These are implemented conditionally,
   ie, the client protocol version is checked; so the code should
   still work with 1.0 clients.

4. Revised protocol and libpq sgml documents (don't have an SGML
   compiler, though, so there may be some markup glitches here).


What remains to be done:

1. Implement addition of atttypmod field to RowDescriptor messages.
   The client-side code is there but ifdef'd out.  I have no idea
   what to change on the backend side.  The field should be sent
   only if protocol >= 2.0, of course.

2. Implement backend response to cancel requests received as OOB
   messages.  (This prolly need not be conditional on protocol
   version; just do it if you get SIGURG.)

3. Update libpq.3.  (I'm hoping this can be generated mechanically
   from libpq.sgml... if not, will do it by hand.)  Is there any
   other doco to fix?

4. Update non-libpq interfaces as necessary.  I patched libpgtcl
   so that it would compile, but haven't tested it.  Dunno what
   needs to be done with the other interfaces.

Have at it!

Tom Lane
1998-05-06 23:51:16 +00:00
Marc G. Fournier
6bccf64d7b From: Michael Meskes <meskes@topsystem.de>
Tue Apr 28 14:48:41 CEST 1998

      - Put operator "->" back into parser. Note that :foo->bar means the
        C term, but :foo ->bar means the operator "->".

Tue Apr 28 15:49:07 CEST 1998

      - Added exec sql disconnect command.
      - Allow varchar in C to be written in uppercase too.
      - Added whenever option "do break;"

Wed Apr 29 09:17:53 CEST 1998

      - Corrected parsing of C comments.
      - Also allow C++ style comments.
      - Make sure not found is only checked after commands that could
          return it.
      - Added error codes, see ecpgerror.h for details.
      - Added "exec sql <TransactionStmt> release" as disconnect statement
        for compatibility issues.

Thu Apr 30 10:42:10 CEST 1998

      - Added a -t option to disable automatic transaction start.
      - Added sqlerrd[] to sqlca struct.
      - Give back number of tuples affect in sqlca.sqlerrd[2].

Thu Apr 30 13:36:02 CEST 1998

      - Make the return code different in case of different errors.

Wed May  6 11:42:48 CEST 1998

      - Free memory if possible
      - Some bugfixes for bugs I found while changing the memory
          allocation code
      - Now able to fill complete array with one call (see test1.pgc for
          an example)
      - Set version to 2.3.0
      - Set library version to 2.1
1998-05-06 13:03:47 +00:00
Marc G. Fournier
a9ed49d5b5 From: Oliver Elphick <olly@lfix.co.uk>
If PQfn() receives NOTICEs from the backend, it fails because there is no
provision to deal with them.

This patch (supplied by Anders Hammarquist <iko@netg.se> to me as Debian
maintainer of postgresql) cures the problem:
1998-04-29 02:04:01 +00:00
Marc G. Fournier
6d817475b2 From: Tom Lane <tgl@sss.pgh.pa.us>
HP-UX (all versions) requires shared libraries to have execute
permission, and really needs them to be exactly mode 555 for
performance reasons.  The standard configure/install procedure
installs libpq.sl as mode 644, which DOES NOT WORK.

The attached patch modifies the makefiles to distinguish
INSTL_LIB_OPTS (install mode for ordinary libraries) from
INSTL_SHLIB_OPTS (mode for shared libs), and adds a test
to configure to set INSTL_SHLIB_OPTS="-m 555" when on HP-UX.
1998-04-27 14:55:46 +00:00
Marc G. Fournier
718430ea40 From: Michael Meskes <meskes@topsystem.de>
And the next update. Now you can use only parts of a struct like this:

exec sql select a into :struct.string from foo;
1998-04-27 14:35:58 +00:00
Bruce Momjian
1efd2cf7b0 Included is a patch for ecpg which seems to have some compiling
problems on non POSIX systems such as SunOS 4.1.x.  -- Tatsuo Ishii
t-ishii@sra.co.jp -
1998-04-26 23:14:39 +00:00
Marc G. Fournier
7500a961f1 From: Michael Meskes <meskes@topsystem.de>
+ Thu Apr 23 09:27:16 CEST 1998
+
+       - Also allow call in whenever statement with the same functionality
+         as do.
+
+ Thu Apr 23 12:29:28 CEST 1998
+
+       - Also rewrote variable declaration part. It is now possible to
+         declare more than one variable per line.
+       - Set version to 2.1.0
+
+ Fri Apr 24 13:50:15 CEST 1998
+
+       - Fixed some bugs.
+       - Set version to 2.1.1
1998-04-24 12:10:20 +00:00
Marc G. Fournier
64e35e1468 Upgrade ECPG to 2.0
Michael Meskes <meskes@topsystem.de>
1998-04-21 13:23:24 +00:00
Marc G. Fournier
5e6b0a574b Try for a LINUX_ELF fix (bandage?) 1998-04-21 12:38:46 +00:00
Marc G. Fournier
5bdda53f12 From: Bryan Henderson <bryanh@giraffe-data.com>
Here's a fix for a tiny memory leak in PQsetdb/PQfinish.

(Analysis of a running program indicates there are several others, but
this is the only obvious one I saw in the code).
1998-04-21 04:00:06 +00:00
Marc G. Fournier
b542fa1a6e From: Peter T Mount <patches@maidast.demon.co.uk>
This fixes a problem in ResultSet.getDate() when the column is NULL
(reported by Vincent Partington <Vincent.Partington@nmg.nl>)

And fixes a problem with Field's (ResultSet.getObject() was proving to be
slow as it repetedly send queries for oid -> name mapping - fixed by
creating a cache. (reported by Mario Ellebrecht <ellebrec@nads.de>)
1998-04-18 18:32:44 +00:00
Marc G. Fournier
83fd305f78 A few minor mods:
gram.c updated
	scan.c updated
	ecpg/Makefile added LDFLAGS
	configure requires sfio for those systems with it installed...
1998-04-17 03:06:35 +00:00
Marc G. Fournier
34299b4fac From: David Hartwig <daveh@insightdist.com>
Marc, I overlooked this file it should be included in the source.  Oops
Also the binary file is only 1.2 meg not 2.5 meg. Oops again.
1998-04-15 21:56:54 +00:00
Edmund Mergl
11c091272a 1.7.3 1998-04-14 21:14:52 +00:00
Marc G. Fournier
9e3382dfc5 Replace old PostODBC driver with new one...
This one is based on an older PostODBC driver, rewritten and maintained by
InsightDist(?)
1998-04-13 15:02:05 +00:00
Bruce Momjian
471dbbc223 DESTDIR removed, again. 1998-04-06 16:53:15 +00:00
Bruce Momjian
cf1f24fbf0 destdir cleanup. 1998-04-06 04:57:32 +00:00
Bruce Momjian
645146260e Cleanup of compiler warnings. 1998-04-06 02:38:26 +00:00
Bruce Momjian
066ee9a2e9 Make DESTDIR consistent, and verious Linux cleanups. 1998-04-06 01:36:41 +00:00
Bruce Momjian
5523beb949 Re-introduce $DISTDIR. 1998-04-06 01:16:55 +00:00
Bruce Momjian
1e801a8f16 Hi,
Attached you'll find a (big) patch that fixes make dep and make
depend in all Makefiles where I found it to be appropriate.

It also removes the dependency in Makefile.global for NAMEDATALEN
and OIDNAMELEN by making backend/catalog/genbki.sh and bin/initdb/initdb.sh
a little smarter.

This no longer requires initdb.sh that is turned into initdb with
a sed script when installing Postgres, hence initdb.sh should be
renamed to initdb (after the patch has been applied :-) )

This patch is against the 6.3 sources, as it took a while to
complete.

Please review and apply,

Cheers,

Jeroen van Vianen
1998-04-06 00:32:26 +00:00
Bruce Momjian
2dfee93457 Remove DISTDIR. 1998-04-05 22:02:56 +00:00
Bruce Momjian
05102c7551 Here are 3 patches (all relative to the src directory) to help with
the configuration of v6.3.1.  I have replaced the queries for
include/lib directories with --with configuration options.  I have
also included a list of potential tcl/tk include directories directly
in the CPPFLAGS variable.  As new versions are needed, these should
be added to the list in reverse numerical order (libraries are in
a separate list near the end).  This greatly simplifies the later
checks if --with-tcl is set.  I hope this solution works for
everyone.

I also added a check to disable the perl support if postgres was
not already installed (as per the instructions in the directory).
By the way, why must there be an installed pgsql to compile perl
support? This seems odd, at best.

Finally, I changed the Makefile in the libpgtcl interface to place
the shared libraries at the end of the list of files, not at the
beginning.  With NetBSD at least, libraries are linked in order,
so the original sequence does not work.

Brook Milligan
1998-04-05 20:28:23 +00:00
Marc G. Fournier
62943bb76f Pointed out by: Doug Winterburn <dlw@seavme.xroads.com>
3) Add "#include "config.h" to src/interfaces/ecpg/preproc/pgc.l
   to correct "strings.h not found".  config.h has the proper define to
   make this work and should probably be near the top of pgc.l before
   the first include.
1998-03-31 03:00:20 +00:00
Bruce Momjian
dbf34c5c19 This problem had nothing to do with the upgrades I made. There
was a 2000 character buffer allocated for results, and the files
you refer to produce a 2765 byte column called formsource.  This
should not have worked with any version of libpgtcl.

Nevertheless, the limit is an artificial one, since there is no
need to use this intermediate buffer where it is being used and
abused.

Randy Kunkee <kunkee@pluto.ops.NeoSoft.com>
1998-03-30 17:39:16 +00:00
Bruce Momjian
f07c7bf4e7 I have been troubled by a segmentation fault when reloading from
a dumpall.  This has been happening when a second \connect is
encountered.

The faulty code was in fe-connect.c, where the memory for the user
password was freed, but the pointer itself was not set to NULL.
Later, the memory was reused and the password appeared not to be
empty, so that an attempt was made to reference it.

Oliver Elphick
1998-03-26 23:46:14 +00:00
Bruce Momjian
953ca76b8d more tcl/tk fixes 1998-03-23 06:03:04 +00:00
Marc G. Fournier
8d53465ed5 Moved sys/types.h to before netdb.h
From: Vince Vielhaber <vev@michvhf.com>
1998-03-22 04:18:17 +00:00
Bruce Momjian
2b3bb341fe This patch fixes a couple of minor bugs:
1) DatabaseMetaData.getPrimaryKeys() would fail saying that there
is no
   table t.

2) PreparedStatement.getObject() was missing some break statements,
which
   was causing updates not to work with JBuilder (supplied by Aaron
   Dunlop).


jdbc fixes from Peter.
1998-03-20 22:03:55 +00:00
Bruce Momjian
ee85fda2ad Add missing file. 1998-03-20 17:24:37 +00:00
Bruce Momjian
76e6d26011 HPUX build does not build shared lib versions of libpq and libpq++
--------------------------------------------------------------------------

Test Case:  ----------


--------------------------------------------------------------------------

Solution:  --------- Add this to the libpq and libpq++ Makefiles
to build shared libs:

Mike Ferrara
1998-03-20 04:07:11 +00:00
Bruce Momjian
e98df1ab29 In libpq-fe.h: #if defined(sun) && defined(sparc) && !defined(__svr4)
extern char *sys_errlist[]; #define strerror(A) (sys_errlist[(A)])
#endif                                                  /* sunos4
*/

is picked up by Solaris when the above is intended only for SunOS.

Fix Solaris.  Albert Chin-A-Young
1998-03-20 04:02:57 +00:00
Bruce Momjian
80f7c41388 Here's my next patch to bring ecpg to version 1.1. It now correctly
handles all transaction commands and the exec sql include command.

Michael Meskes
1998-03-20 03:08:11 +00:00
Marc G. Fournier
e4135ad17e From: Randy Kunkee <kunkee@pluto.ops.NeoSoft.com>
The following patch is to src/interfaces/libpq of postgresql-6.3.
The purpose of the patch is to make the initialization of
const char *pgresStatus[] match the ExecStatusType enum.
1998-03-15 08:11:11 +00:00
Marc G. Fournier
6ac2528616 From: Randy Kunkee <kunkee@pluto.ops.NeoSoft.com>
It is my hope that the following "patches" to libpgtcl get included
in the next release.

See the update to the README file to get a full description of the changes.
This version of libpgtcl is completely interpreter-safe, implements the
database connection handle as a channel (no events yet, but will make it
a lot easier to do fileevents on it in the future), and supports the SQL
"copy table to stdout" and "copy table from stdin" commands, with the
I/O being from and to the connection handle.  The connection and result
handles are formatted in a way to make access to the tables more efficient.
1998-03-15 08:03:00 +00:00
Marc G. Fournier
31a925c4d0 From: Peter T Mount <patches@maidast.demon.co.uk>
Ok, this fixes three things:

1. It seems (from tests submitted by two people with JBuilder) that
   JBuilder expects a responce from ResultSetMetaData.getPrecision() &
   getScale() when used on non numeric types. This patch makes these
   methods return 0, instead of throwing an exception.

2. Fixes a small bug where getting the postgresql type name returns null.

3. Fixes a problem with ResultSet.getObject() where getting it's string
   value returns null if you case the object as (PGobject), but returns
   the value if you case it as it's self.
1998-03-15 07:12:07 +00:00
Bruce Momjian
3674ccdf95 Change Postgres95 to PostgreSQL. Update CLUSTER manual page. 1998-03-14 21:58:09 +00:00
Marc G. Fournier
0bad7c1198 Add ecpg back in again 1998-03-05 13:18:51 +00:00
Marc G. Fournier
96ac738269 From: Michael Meskes <meskes@topsystem.de>
No more shift/reduce conflicts. Also all other bugs I know about are fixed.
1998-02-27 12:59:33 +00:00
Marc G. Fournier
c37be81cdf Add <sys/types.h> for SunOS
From: t-ishii@sra.co.jp
1998-02-27 03:07:35 +00:00
Marc G. Fournier
296a942b56 From: Darren King <darrenk@insightdist.com>
This patch will...

1. Remove the "-Wall" option from the ecpg/lib and ecpg/preproc Makefile.

2. Remove the addition of $(SRCDIR)/include and-or $(SRCDIR)/backend from
   ecpg/lib, ecpg/preproc, libpq and utils Makefiles. Already in CFLAGS...

3. Set MK_NO_LORDER and RANLIB in Makefile.aix to avoid a couple of extra
   steps taken care of by the 'ld' command anyways.
1998-02-27 02:41:21 +00:00
Marc G. Fournier
50e4120d5e From: Michael Meskes <meskes@topsystem.de>
Sorry, I just repeated the last call and send out a stupid should be empty
mail. Anyway, my last patch missed one change:
1998-02-27 02:34:33 +00:00
Marc G. Fournier
f139617b55 From: Michael Meskes <meskes@topsystem.de>
Subject: [PATCHES] ecpg: correct whenever statement
1998-02-27 02:31:20 +00:00
Bruce Momjian
8367529c41 Remove compile warning. 1998-02-26 16:06:20 +00:00
Bruce Momjian
a32450a585 pgindent run before 6.3 release, with Thomas' requested changes. 1998-02-26 04:46:47 +00:00
Marc G. Fournier
80e12829cf + Sat Feb 21 19:10:55 CET 1998
+
+       - use char[] as string not as array of bytes that is integers
+
+ Sun Feb 22 16:37:36 CET 1998
+
+       - use long for all size variables
+       - added execute immediate statement
+
+ Sun Feb 22 20:41:32 CET 1998
+
+       - use varcharsize = 1 for all simple types, 0 means pointer, > 1
+         means array if type is char resp. unsigned char
+
+ Thu Feb 24 12:26:12 CET 1998
+
+       - allow 'go to' in whenever statement as well as 'goto'
+       - new argument 'stop' for whenever statement

From: Michael Meskes <meskes@topsystem.de>
1998-02-24 15:52:13 +00:00
Marc G. Fournier
96316211c3 From: t-ishii@sra.co.jp
Ok. I have decided to use:

#if defined(sun) && if defined(sparc) && !defined(__svr4)

instead of defined(sunos4).  interfaces/libpq/libpq-fe.h and
include/c.h have been modified(see included patches).

Another porblems I have found are:

o SunOS lacks strtoul(). to fix this I stole strtoul.c from FreeBSD
and place it under backend/port. necessary modifications have been
also made to backend/port/Makefile.in, include/config.h.in and
configure.in (see included patches).
1998-02-24 06:04:55 +00:00
Marc G. Fournier
712e77e3df Various fixes for string.h vs strings.h
From: Frank Ridderbusch <ridderbusch.pad@sni.de>
1998-02-24 04:02:20 +00:00