Re: DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?)
От | Dominic Mitchell |
---|---|
Тема | Re: DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?) |
Дата | |
Msg-id | 3ED766F0.2070707@semantico.com обсуждение исходный текст |
Ответ на | Re: DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?) (Tim Bunce <Tim.Bunce@pobox.com>) |
Ответы |
Re: DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?)
|
Список | pgsql-interfaces |
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 *. >>I'll happily take another look though, now that it's been brought up as >>desirable. > > > 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? > 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.
В списке pgsql-interfaces по дате отправления: