diff options
author | Bruce Momjian <bruce@momjian.us> | 1998-05-06 23:51:16 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1998-05-06 23:51:16 +0000 |
commit | edbd51395c425795b3ccacbc9d26044beb1a1277 (patch) | |
tree | 3933022b5410589db1a4d1273174b5daa7a66931 /src/backend/commands/async.c | |
parent | 2e12331d42610e6489de85b5ca18644c0bf11f14 (diff) | |
download | postgresql-edbd51395c425795b3ccacbc9d26044beb1a1277.tar.gz postgresql-edbd51395c425795b3ccacbc9d26044beb1a1277.zip |
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
Diffstat (limited to 'src/backend/commands/async.c')
-rw-r--r-- | src/backend/commands/async.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/src/backend/commands/async.c b/src/backend/commands/async.c index 551c3bad3fd..fcf02b2e4bf 100644 --- a/src/backend/commands/async.c +++ b/src/backend/commands/async.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/async.c,v 1.31 1998/04/27 04:05:08 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/async.c,v 1.32 1998/05/06 23:49:52 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -20,8 +20,7 @@ * end of commit), * 2.a If the process is the same as the backend process that issued * notification (we are notifying something that we are listening), - * signal the corresponding frontend over the comm channel using the - * out-of-band channel. + * signal the corresponding frontend over the comm channel. * 2.b For all other listening processes, we send kill(2) to wake up * the listening backend. * 3. Upon receiving a kill(2) signal from another backend process notifying @@ -30,7 +29,7 @@ * 3.a We are sleeping, wake up and signal our frontend. * 3.b We are in middle of another transaction, wait until the end of * of the current transaction and signal our frontend. - * 4. Each frontend receives this notification and prcesses accordingly. + * 4. Each frontend receives this notification and processes accordingly. * * -- jw, 12/28/93 * @@ -547,12 +546,6 @@ Async_UnlistenOnExit(int code, /* from exitpg */ * Results: * XXX * - * Side effects: - * - * We make use of the out-of-band channel to transmit the - * notification to the front end. The actual data transfer takes - * place at the front end's request. - * * -------------------------------------------------------------- */ GlobalMemory notifyContext = NULL; |