100 Commits

Author SHA1 Message Date
Bruce Momjian
3406901a29 Move some system includes into c.h, and remove duplicates. 1999-07-17 20:18:55 +00:00
Tom Lane
fa179dde82 Make sure symlinks for sharedlib get removed by 'make clean'. 1999-06-30 23:57:31 +00:00
Tom Lane
3257b0e592 egcs thinks omitting the return type in a function declaration
is poor coding style.  I agree.
1999-05-30 15:22:34 +00:00
Bruce Momjian
fcff1cdf4e Another pgindent run. Sorry folks. 1999-05-25 22:43:53 +00:00
Bruce Momjian
07842084fe pgindent run over code. 1999-05-25 16:15:34 +00:00
Bruce Momjian
4853495e03 Change error messages to oids come out as %u and not %d. Change has no
real affect now.
1999-05-10 00:46:32 +00:00
Bruce Momjian
6724a50787 Change my-function-name-- to my_function_name, and optimizer renames. 1999-02-13 23:22:53 +00:00
Tom Lane
45ff93c460 Include -lcrypt when needed to link libpgtcl.so and plpgsql.so 1999-02-07 22:10:47 +00:00
Tom Lane
fa0f24165c Add PQresStatus() function to avoid direct access to pgresStatus[] array,
making life easier for Windoids...
1999-02-07 22:08:54 +00:00
Tom Lane
be94d8fb1e Keep Tcl from getting confused if backend closes connection
when a notify is installed.
1999-01-17 21:14:33 +00:00
Tom Lane
5d2cf6af9e TCL_ARRAYS option patches from Massimo Dal Zotto 1999-01-17 21:12:55 +00:00
Tom Lane
6d98d3737a Centralized shared-library build knowledge in a new file,
src/Makefile.shlib.  Updated all the makefiles that try to build shlibs
to include that file instead of having duplicate (and mostly incomplete)
copies of shared-library options.  It works on HPUX, a lot better than it
did before in fact, but there's a chance I broke some other platforms.
At least now you only have to fix one place not six...
1998-10-19 00:00:51 +00:00
Tom Lane
e1942f5b9e Clean up shared makefile install procedures.
Get the permissions right, don't overwrite real files with symlinks, etc.
plpgsql and odbc still aren't fully up to speed, but at least they don't crash and burn...
1998-10-18 19:41:00 +00:00
Thomas G. Lockhart
9b895d0658 Clean up library names and installation paths.
Include soft links in the installation directory for major version number.
Use the existing $(DLSUFFIX) parameter to name shared library.
1998-10-14 16:13:03 +00:00
Tom Lane
acc9c38471 Fix another memory leak in pg_select --- pointed out by teo@flex.ro 1998-10-14 15:17:51 +00:00
Bruce Momjian
7a9312b422 Tcl fixes from Billy G. Allie 1998-10-12 02:41:01 +00:00
Bruce Momjian
e48623ce87 More Solaris fixes. 1998-10-12 01:23:29 +00:00
Bruce Momjian
e16634386a Add SVr4 shared libraries. 1998-10-12 01:10:09 +00:00
Bruce Momjian
66f893f3fe Solaris shared library fixes. 1998-10-12 01:04:02 +00:00
Bruce Momjian
2ac3173d75 major/minor shared name cleanup 1998-10-09 21:28:50 +00:00
Bruce Momjian
a8428c9e3f More bsdi 4.0 cleanups for shared libraries. 1998-10-09 04:50:12 +00:00
Bruce Momjian
765dd1b3f2 More bsdi 4.0 fixes. 1998-10-09 04:22:49 +00:00
Bruce Momjian
af45dab6d7 Fix for BSDI shared libraries. 1998-10-09 03:08:00 +00:00
Thomas G. Lockhart
7d4b59f024 Use the $(LN_S) substitution for "ln -s" since configure tests for it. 1998-10-07 06:50:37 +00:00
Tom Lane
820f9f8be8 Fix potential coredump in pg_conndefaults (assigning constant string
to a field that will get free'd).  Also make it robust in cases where
values contain Tcl special characters.
1998-10-02 01:37:17 +00:00
Tom Lane
f447344003 Simplify pg_result by using new libpq PQresultErrorMessage;
fix some memory leaks in pg_select.
1998-10-01 01:45:38 +00:00
Bruce Momjian
4b048fbfaa This patch covers several to-do items that I had for libpgtcl:
* It works under both Tcl 7.6 and Tcl 8.0 now.  (The code claims to
  work under Tcl 7.5 as well, but I have no way to test that ---
  if anyone still cares, please check it with 7.5.)

* pg_listen suppresses extra LISTEN commands and correctly sends an
  UNLISTEN when the last listen request for a relation is cancelled.
  (Note this means it will not work with pre-6.4 backends, but that
  was true already because it depends on the current libpq, which
  only speaks protocol 2.0.)

* Added -error option to pg_result so that there's some way to find
  out what you did wrong ;-)

* Miscellaneous cleanups of code comments and overenthusiastic #includes.

BTW, I bumped the package version number from 1.2 to 1.3.  Is this
premature?  Does someone run around and do that routinely before
each pgsql release?

			regards, tom lane
1998-09-21 01:02:04 +00:00
Bruce Momjian
e1f21884c6 More bsdi 4.0 additions. 1998-09-10 04:59:01 +00:00
Bruce Momjian
e9d0fa3762 libpgtcl cleanups for Tom Lane. 1998-09-04 05:03:05 +00:00
Bruce Momjian
9d8d647146 patch cleanups. 1998-09-03 05:08:28 +00:00
Bruce Momjian
f71d0cf64e Attached is a patch to remove the definitions of libpq's internal
structs from libpq-fe.h, as we previously discussed.

There turned out to be sloppy coding practices in more places than
I had realized :-(, but all in all I think it was a well-worth-while
exercise.

I ended up adding several routines to libpq's API in order to respond
to application requirements that were exposed by this work.  I owe the
docs crew updates for libpq.sgml to describe these changes.  I'm way too
tired to work on the docs tonight, however.

This is the last major change I intend to submit for 6.4.  I do want
to see if I can make libpgtcl work with Tcl 8.0 before we go final,
but hopefully that will be a minor bug fix.
1998-09-03 02:10:56 +00:00
Bruce Momjian
fa1a8d6a97 OK, folks, here is the pgindent output. 1998-09-01 04:40:42 +00:00
Bruce Momjian
af74855a60 Renaming cleanup, no pgindent yet. 1998-09-01 03:29:17 +00:00
Bruce Momjian
c0d730460f The attached patch fixes a problem that I seem to have introduced
with the new support for asynchronous NOTIFY in libpgtcl.  With
the current sources, if the backend disconnects unexpectedly then
the tcl/tk application coredumps when control next reaches the idle
loop.  Oops.

			regards, tom lane
1998-08-22 04:34:22 +00:00
Bruce Momjian
a738478ad8 Here are additional patches for the UnixWare 7 port.
Summary of changes:

In pqcomm.h, use the SUN_LEN macro if it is defined to calculate
the size of the sockaddr_un structure.

In unixware.h, drop the use of the UNIXWARE macro.  Everything can
be handled with the USE_UNIVEL_CC and DISABLE_COMPLEX_MACRO macros.

In s_lock.h, remove the reference to the UNIXWARE macro (see above).

In the unixware template, add the YFLAGS:-d line.

In various makefile templates, add (or cleanup) unixware and univel
port specific information.

-- Billy G. Allie
1998-08-22 04:24:41 +00:00
Marc G. Fournier
9312033071 Date: Sun, 16 Aug 1998 14:56:48 -0400
From: Tom Lane <tgl@sss.pgh.pa.us>
Attached is a patch for this weekend's work on libpq.  I've dealt
with several issues:

        <for details: see message, in pgsql-patches archive for above data>
1998-08-17 03:50:43 +00:00
Bruce Momjian
cfef73b4c0 Update linux_i386 fix. 1998-07-12 18:48:08 +00:00
Marc G. Fournier
bd029bcb4a From: Tom Lane <tgl@sss.pgh.pa.us>
The attached patches respond to discussion that was on pgsql-hackers
around the beginning of June (see thread "libpgtcl bug (and symptomatic
treatment)").  The changes are:

1. Remove code in connectDB that throws away the password after making
a connection.  This doesn't really add much security IMHO --- a bad guy
with access to your client's address space can likely extract the
password anyway, to say nothing of what he might do directly.  And
there's the serious shortcoming that it prevents PQreset() from working
if the database requires a password.

2. Fix coredump problem: fe_sendauth did not guard against being handed
a NULL password pointer.  (This is the proximate cause of the coredump-
during-PQreset problem that Magosanyi Arpad complained of last month.)

3. Remove highly questionable "error recovery" logic in libpgtcl's
pg_exec statement.

I believe the consensus of the discussion last month was in favor of
#1 and #3, but I'm just now getting around to making the change.
I realized that #2 was a bug in process of looking at the change.
1998-07-09 03:32:10 +00:00
Bruce Momjian
0f356be054 large object fix 1998-06-16 06:53:27 +00:00
Bruce Momjian
67a636918a There is a patch which has worked for me. The real problem might
be in PQreset, which can't reset a conninfo based connection. The
patch:

Arpad Magosanyi
1998-06-16 05:50:55 +00:00
Bruce Momjian
583891833f The attached patch modifies libpgtcl per previous discussion: the
pg_notifies statement is eliminated, and callbacks defined by
pg_listen are instead invoked automatically from the Tcl idle loop
whenever a NOTIFY message is received.

I have done only cursory testing, so there may be problems still
lurking (particularly on non-Unix machines?).  But it seems to
work.

Patch is against today's cvs sources.  Note that this will not work
with the 6.3.2 release since it depends on the new libpq.

The diffs are a bit large so I've gzipped them.  A patch to update
libpgtcl.sgml is included too.

			regards, tom lane
1998-06-16 04:10:17 +00:00
Bruce Momjian
26d5a31dbf Add bsdi shared library support. 1998-06-16 03:17:47 +00:00
Bruce Momjian
a0f95aceb4 Fix portname defines in Makefiles. 1998-06-15 21:01:54 +00:00
Bruce Momjian
6bd323c6b3 Remove un-needed braces around single statements. 1998-06-15 19:30:31 +00:00
Bruce Momjian
6f1a50746c Clean up template names and remove LINUX_ELF hack. No longer
needed.
1998-06-12 18:36:42 +00:00
Marc G. Fournier
eaa1df28bf From: Tom Lane <tgl@sss.pgh.pa.us>
... which causes it to build and install the shared version of
libpgtcl under the wrong name, on HPUX only.  Patch against
today's sources follows.
1998-05-24 03:48:58 +00:00
Bruce Momjian
58fffea03c Cleanups for large objects, so file is trucated on open, fix for
solaris/spare shared libararies, new error message for postmaster
startup, and makefile cleanups.
1998-05-12 21:44:08 +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
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