Re: FW: LISTEN/NOTIFY support in JDBC driver?

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: FW: LISTEN/NOTIFY support in JDBC driver?
Дата
Msg-id 200202230207.g1N277O02568@candle.pha.pa.us
обсуждение исходный текст
Ответ на Re: FW: LISTEN/NOTIFY support in JDBC driver?  (Barry Lind <barry@xythos.com>)
Список pgsql-jdbc
Barry, do you have a patch you want to apply for 7.3?

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

Barry Lind wrote:
> Ben,
>
> I was looking into this a bit more tonight.  I have gotten some
> notifications to come through.  But not all.
>
> If you apply the following two line patch to current sources you will
> get notifications if (and only if) you run with autoCommit = true.  If
> you set autoCommit to false the backend never sends the notifications to
> the client, and I have no idea why.  I plan to follow up on that.  Given
> that this only partly works, I don't want to commit this change into 7.2
> as it isn't complete and 7.2 is too close to release.
>
> thanks,
> --Barry
>
>
> *** QueryExecutor.java    Mon Jan 14 21:53:38 2002
> --- QueryExecutor.java.orig    Mon Jan 14 21:54:24 2002
> ***************
> *** 70,77 ****
>                                    switch (c)
>                                    {
>                                            case 'A':    // Asynchronous Notify
> !                                                 int pid =
> pg_stream.ReceiveIntegerR(4);
> !
> connection.addWarning(pg_stream.ReceiveString(connection.getEncoding())
>   + " - " +pid );
>                                                    break;
>                                            case 'B':    // Binary Data Transfer
>                                                    receiveTuple(true);
> --- 70,77 ----
>
>     switch (c)
>
>     {
>
>         case 'A':    // Asynchronous Notify
> !
>                 int pid = pg_stream.ReceiveInteger(4);
> !
>                 String msg = pg_stream.ReceiveString(connection.getEncoding());
>
>             break;
>
>         case 'B':    // Binary Data Transfer
>
>             receiveTuple(true);
>
>
> Benjamin.Feinstein@guardent.com wrote:
>
> > Hey David,
> >
> > I've forwarded the thread from a few days ago regarding async client
> > notifications using the PostgreSQL JDBC interface.  Barry answered that it
> > was possible, but I've been unable to get the code to work.  Anyone got
> > working LISTEN/NOTIFY code uding JDBC?
> >
> > Thanks for any help,
> > Ben
> >
> > -----Original Message-----
> > From: Ben Feinstein
> > Sent: Monday, January 14, 2002 10:13 AM
> > To: barry@xythos.com
> > Cc: pgsql-jdbc@postgresql.org
> > Subject: Re: [JDBC] LISTEN/NOTIFY support in JDBC driver?
> >
> >
> > Hey all,
> >
> > I've tried selecting from the db in between checking for warnings, but still
> > no luck?  Does anyone have JDBC code that issues a LISTEN, then reaps
> > notifications from the connection warnings?
> >
> > Much thanks!,
> > Ben
> >
> > -----Original Message-----
> > From: Barry Lind [mailto:barry@xythos.com]
> > Sent: Friday, January 11, 2002 12:58 PM
> > To: Ben Feinstein
> > Cc: pgsql-jdbc@postgresql.org
> > Subject: Re: LISTEN/NOTIFY support in JDBC driver?
> >
> >
> > Ben,
> >
> > Since the jdbc driver doesn't poll the server, you would only see
> > notifications after interacting with the database in someother way.
> > Thus you will periodically need to issue queries to get the
> > notifications to be read.  (note I havn't tried this, but from looking
> > at the code this should be the case).
> >
> > thanks,
> > --Barry
> >
> >
> >
> > Benjamin.Feinstein@guardent.com wrote:
> >
> >
> >>Hey ya'll,
> >>
> >>Thanks for the quick reply, Barry!  I'm still having trouble getting the
> >>notifications from the "SQLWarning Connection.getWarnings()" method.  When
> >>
> > I
> >
> >>tried to execute multiple LISTEN statments, I get warnings like:
> >>
> >>java.sql.SQLWarning: NOTICE:  Async_Listen: We are already listening on
> >>event
> >>
> >>However, I've never gotten a notification from the warnings. Yes, I am
> >>sending the notifies from another connection to the same database. I've
> >>attached my Java test program. Could you take a look and see what I'm
> >>
> > doing
> >
> >>wrong?
> >>
> >>Cheers,
> >>Ben
> >>
> >>-----Original Message-----
> >>From: Barry Lind [mailto:barry@xythos.com]
> >>Sent: Wednesday, January 09, 2002 10:10 PM
> >>To: Ben Feinstein
> >>Cc: pgsql-jdbc@postgresql.org
> >>Subject: Re: LISTEN/NOTIFY support in JDBC driver?
> >>
> >>
> >>The jdbc driver does support notifications, but in a rather strange way.
> >>  When the driver receives a notification is takes the notification
> >>message and adds it to the list of warnings on the connection.  So the
> >>way you get notifications is to call getWarnings().  Given that there
> >>isn't a concept like notifications in the jdbc API, this is perhaps the
> >>best way these can be handled within jdbc, unless someone can suggest a
> >>better approach.
> >>
> >>thanks,
> >>--Barry
> >>
> >>Benjamin.Feinstein@guardent.com wrote:
> >>
> >>
> >>
> >>>Hello ya'll,
> >>>
> >>>It appears that the current version of the JDBC interface for PostgreSQL
> >>>does not implement asyncronous client notifications. I have been able to
> >>>issue a NOTIFY statement through the JDBC driver, but I haven't found how
> >>>
> >>>
> >>to
> >>
> >>
> >>>LISTEN for an client notification. Am I missing something, or does the
> >>>JDBC-PgSQL interface not support LISTEN? Does anyone know of a patch to
> >>>
> >>>
> >>the
> >>
> >>
> >>>JDBC-PgSQL interface that enables the LISTEN functionality? I've looked
> >>>
> >>>
> >>back
> >>
> >>
> >>>through the list archives but was unable to find any threads in this
> >>>
> >>>
> >>topic.
> >>
> >>
> >>>I'm running:
> >>>PostgreSQL 7.1.3
> >>>jdbc7.1-1.2.jar
> >>>Sun JDK 1.3.1_01
> >>>
> >>>Thanks for any help,
> >>>Ben
> >>>
> >>>
> >>>
> >>>
> >>>>Ben Feinstein
> >>>>Software Development Engineer, R & D
> >>>>W: 678.585.7865 x6726 F: 770.645.8311 M: 678.772.4126
> >>>>8302 Dunwoody Pl., Suite 320, Atlanta, GA 30350 www.guardent.com
> >>>>_____________________________________________________
> >>>>G U A R D E N T
> >>>>Enterprise Security and Privacy Programs
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>---------------------------(end of broadcast)---------------------------
> >>>TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
> >>>
> >>>
> >>>
> >>>
> >>
> >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 2: you can get off all lists at once with the unregister command
> >     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 3: if posting/reading through Usenet, please send an appropriate
> > subscribe-nomail command to majordomo@postgresql.org so that your
> > message can get through to the mailing list cleanly
> >
> >
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Patch : Re: JDBC improvements
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Problem in ResultSet#getTimestamp() of 7.2b4