[PHP-users 4001] pgsql非同期関数について

Yasuo Ohgaki php-users@php.gr.jp
Thu, 29 Nov 2001 20:00:52 +0900


This is a multi-part message in MIME format.
--------------080800010407000508040506
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit

大垣です。

pgsqlの非同期関数を4.2.0に追加しようとしています。メンテナー/作者
の方とは調整済みです。 前にPatchを送りましたが、特に要望が無かった
ので再度お聞きします。パッチは4.2.0-dev用なのでソースは
http://snaps.php.net/
のソースを使ってください。

前に送ったパッチは手っ取り早く実装できるので、非同期関数専用のリ
ソースを追加しませんでしたが、専用のリソースがあった方が間違いが少
なくなり便利かもしれないと思っています。pg_send_query()を実行した
後に、pg_exec()を実行する等。このパッチではresultが残っている場合
は無条件に消してしまします。

他のpgsqlの関数と違う部分はconnectionを必ず指定する必要がある部分
が異なっています。(i.e. default connectionを使わない)

また、非同期でDBとの接続を行う関数もあった方が便利な場合もあるので
はないかと思っています。特にPHP-GTKの場合、DBサーバーに問題がある
場合等にブロックされないので便利と思います。

追加予定の関数は以下の関数です。

bool pg_send_query(resouce_conn)
Execute query asyncronously

resouce_result pg_get_result(resource_conn)
Get async query result for the connection

bool pg_is_busy(resource_conn)
Is connection is busy or not. (Executing query or not)

bool pg_request_cancel(resource_conn)
Cancel async query currently executing.

bool pg_reset(resource_conn)
Reconnect to database backend

int pg_status(resource_conn)
Get connection status. PGSQL_CONNECTION_OK or PGSQL_CONNECTION_BAD.

まだマニュアルには書いて無いと思いますが、Notice Messageの取得は
4.0.6からpg_last_notice()で取得できます。だたし、4.0.6の
pg_last_notice()の実装には問題があるので利用はお勧めしません。
(4.0.6でのpgsqlの利用はお勧めしません)

あった方が良い関数や機能、パッチに問題がありましたらメールをくださ
い。一緒に追加できる物は追加してもらいます。

このパッチをpgsql 6.5.xでテストして頂けると助かります。

--
Yasuo Ohgaki

--------------080800010407000508040506
Content-Type: application/x-gzip;
 name="patch.tar.gz"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
 filename="patch.tar.gz"

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
--------------080800010407000508040506--

__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!  http://bb.yahoo.co.jp/