Re: DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?)

From: Tim Bunce <Tim(dot)Bunce(at)pobox(dot)com>
To: Dominic Mitchell <dom(at)semantico(dot)com>
Cc: Tim Bunce <Tim(dot)Bunce(at)pobox(dot)com>, Rudy Lippan <rlippan(at)remotelinux(dot)com>, Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, David Wheeler <david(at)wheeler(dot)net>, pgsql-interfaces(at)postgresql(dot)org, "'DBI developers'" <dbi-dev(at)perl(dot)org>
Subject: Re: DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?)
Date: 2003-05-30 16:21:21
Message-ID: 20030530162121.GA6818@dansat.data-plan.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

On Fri, May 30, 2003 at 03:13:04PM +0100, Dominic Mitchell wrote:
> Tim Bunce wrote:
> >On Fri, May 30, 2003 at 10:20:11AM +0100, Dominic Mitchell wrote:
> >>See, I told you I wasn't an XS guru. :-)
> >>
> >>Actually, I looked at this, but my limited C and DBI skills couldn't
> >>work out a) what the required handle was (probably dbh)
> >
> >Just whatever handle was used to call the method that's generating the
> >warning.
> >
> >>and b) how to pass that into the PQsetNoticeProcessor function as data
> >>and get it out again.
> >
> >
> >Ah, different issue. For that I'd say if DBIc_WARN(imp_xxh) isn't true
> >then disable the PQsetNoticeProcessor function.
>
> Well, we're calling PQsetNoticeProcessor[1], from inside dbd_db_login,
> so I should be able to pass in imp_dbh as the "arg" argument. The bit
> that I wasn't sure about before was what to cast it to in order to
> retrieve it from a void *.

You could always cast it to a void * :-)

> >Actually I'd misunderstood the circumstances of the warn (not reading
> >your message carefully enough). For notice messages generated by
> >the database server they'll soon(ish) be a $h->{HandleEvent} = sub { ... }
> >hook that should be used.
>
> How will that work? Is that for any sort of asynchronous message from
> the database?

That kind of thing, yes, plus 'success with info' and anything else
a driver wants to comminucate back to an app 'out of band'. The
tricky part will be categorizing the types of events to make it
usefully portable. But I don't want to start that thread just yet,
so ignore me!

> >But that'll bring you back to needing some way for the PQsetNoticeProcessor
> >function to get at the handle data it'll need to pass to the HandleEvent
> >hook. The PQsetNoticeProcessor API ought to allow you to some way to do
> >that.
>
> It does, I just couldn't figure it out in the 30 minutes I spent looking
> at it. I need to go back and spend more time with the docs and less
> being lazy. :-)
>
> -Dom
>
> [1] Damn mozilla for not being emacs[2]. I want dynamic-abbrevs!
> [2] Or vim. That does it too.

I use mutt and so edit messages in vim. Works well for me.

Tim.

In response to

Browse pgsql-interfaces by date

  From Date Subject
Next Message Tom Lane 2003-05-30 17:37:29 Re: DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?)
Previous Message Rudy Lippan 2003-05-30 16:06:56 Re: DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?)