Re: Pqsocket not implemented in PHP

From: Volkan YAZICI <volkan(dot)yazici(at)gmail(dot)com>
To: Nick Stone <nick(at)harelane(dot)com>
Cc: pgsql-php(at)postgresql(dot)org
Subject: Re: Pqsocket not implemented in PHP
Date: 2005-06-30 10:10:48
Message-ID: 7104a7370506300310710e365c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-php

Hi,

On 6/30/05, Nick Stone <nick(at)harelane(dot)com> wrote:
> I'm currently implementing a standalone app using php cli. Part of the app
> connects to Postgres and waits for a notification using the "Listen
> <tablename>" SQL. In the postgres C lib there is a function called
> "Pqsocket" which returns the file-descriptor of the socket connection to
> Postgres. With this I can use a simple select server to sleep on this
> interface and others in the application.
>
> Does anybody now of a patch to make this available under PHP or does the
> structure of PHP code effectively make this type approach impossible?

You can write a very simple patch returns socket FD using PQsocket().
But, AFAIC, it's not as simple as it seems to listen a socket using
just its FD value. As I understand from the source code, resource
required by socket_open() function has its own internal struct
representation, which means you need to be familiar with PHP internal
data types and mechanism before writing a patch. Therefore, it's not
impossible to implement such a feature, but, to be honest, it needs a
hard work.

IMHO, you can enter a loop with pg_last_notice() by using usleep(). I
won't think it'd cost so much system resource for you.

Regards.

In response to

Responses

Browse pgsql-php by date

  From Date Subject
Next Message Nick Stone 2005-06-30 10:55:28 Re: Pqsocket not implemented in PHP
Previous Message Nick Stone 2005-06-30 09:35:06 Pqsocket not implemented in PHP