Re: Problem Using PQcancel in a Synchronous Query

Поиск
Список
Период
Сортировка
От Eric Simon
Тема Re: Problem Using PQcancel in a Synchronous Query
Дата
Msg-id 42EB0E1F7AB04432B464F069A27896EB@Masterchief
обсуждение исходный текст
Ответ на Re: Problem Using PQcancel in a Synchronous Query  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Tom,

That was it!  My implementation of cancel() was swallowing the result
message.  Thanks so much, I've got it working now.

-- 
Eric Simon
The IQ Group, Inc.


-----Original Message-----
From: pgsql-hackers-owner@postgresql.org
[mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of Tom Lane
Sent: Monday, August 23, 2010 7:06 PM
To: Eric Simon
Cc: pgsql-hackers@postgresql.org
Subject: Re: [HACKERS] Problem Using PQcancel in a Synchronous Query 

"Eric Simon" <esimon@theiqgroup.com> writes:
> Now that I've established some context, here's where I'm at: I've written
> $sth->cancel() for DBD::Pg using PQcancel(), and it works (it returns the
> status 57014: QUERY CANCELED).  The problem is that the $sth->execute call
> (which resides between the two alarm() calls above) doesn't continue on,
but
> rather stays frozen, waiting for data.  Does PQcancel not communicate back
> to the execute statement so that it unblocks?

Um ... PQcancel returns no such thing, only true or false.  I'm guessing
you've coded your signal handler in such a way that it eats the query
result message intended for the mainline execute code.  You should not
be calling anything except PQcancel itself in the signal handler.
        regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers



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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Typing Records
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: [ADMIN] Unable to drop role