pg_result_callback
Prev | 4.4.Asynchronous Query Processing Commands | Next

## pg_result_callback

pg_result_callback — 利用可能な非同期 SQL命令結果の呼戻しを設定する Set a callback for asynchronous SQL command result availability

## 構文 Synopsis

    pg_result_callback conn ?callbackCommand?

## 説明 Description

`pg_result_callback` は非同期問合せの結果が準備できた時に呼戻し命令を実行する為に要求を､生成や変更や予約解消する｡ `callbackCommand` 假引数があると､呼戻し命令が確立される､又は､既存の呼戻し命令が置換えられる｡ `callbackCommand` 無しでは､どの既存の呼戻し命令も予約解消される｡ `pg_result_callback` creates, changes, or cancels a request to execute a callback command when the result of an asynchronous query is ready. With a `callbackCommand` parameter, the callback command is established or an existing callback command is replaced. With no `callbackCommand` parameter, any existing callback command is canceled.

行事-駆動の非同期問合せを使う為には､最初に `pg_result_callback`による呼戻し命令を確立されたい､次に､ pg_sendquery か pg_sendquery_prepared か pg_sendquery_params 命令を発行する｡tcl/tk応用譜は問合せが実行されている間､結果について抑止や繁忙待機無しに､処理を続けられる｡譬えば､tk応用譜は､使用者-対話機能行事に応答することを続けられる｡若しくは､tcl 応用譜は同時に問合せ結果や電網受け口入力の準備条件を待つ事ができる｡問合せ結果が利用できる時､ｔｃｌ/ｔｋ 行事系は呼戻し命令を実行することになる｡ To use event-driven asynchronous queries, first establish a callback command with `pg_result_callback`, then issue a command with pg_sendquery, pg_sendquery_prepared, or pg_sendquery_params. The Tcl/Tk application can then continue processing while the query is executing, without blocking or busy-waiting for the result. For example, a Tk application can continue to respond to user-interface events. Or, a Tcl application can simultaneously wait for a query result or a network socket input ready condition. When the query result is available, the Tcl/Tk event system will execute the callback command.

呼戻し命令文字列はtcl暇巡回から実行される｡それはtkについて書かれた応用譜の通常の暇状態である｡非-Tk Tcl 対話譜内では､使用者は入力されるべき暇巡回を惹き起すべき更新やvwaitを実行できる｡ The callback command string is executed from the Tcl idle loop. That is the normal idle state of an application written with Tk. In non-Tk Tcl shells, you can execute `update` or `vwait` to cause the idle loop to be entered.

## 引数 Arguments

`conn`

  そこで呼戻しを設立する接続の把持子｡ The handle of the connection on which to establish the callback.

`callbackCommand`

  もし存在すると､非同期問合せ結果が準備できた時､実行すべき命令文字列をを提供する｡もし､無いと､既存の非同期問合せ呼戻し命令は予約解消される｡ If present, provides the command string to execute when an asynchronous query result is ready. If absent, an existing asynchronous query result callback command is canceled.

## 返り値 Return Value

なし､もし不都合が生じるとTcl不都合が発せられる｡ Nothing. Throws a Tcl error if an error occurs.

## 註意 Notes

次の内のどれか一つが起きると設立された呼戻し命令は自動的に除去される: An established callback command will be automatically removed when any of the following occurs:

- 結果が準備できたので呼戻し命令が実行される｡ The callbackCommand executes because a result is ready.

- 結果が準備できるまで抑止されるpg_getresult が呼出された｡ pg_getresult is called, which blocks until a result is ready.

- pg_cancelrequest が呼出され､非同期の問合せを予約解消する｡ pg_cancelrequest is called, canceling the asynchronous query.

- PostgreSQL 中央集中処理系への接続が閉じた｡ The connection to the PostgreSQL server is closed.

- `pg_result_callback` が呼出された--呼戻し命令なしに､呼戻しを除去するか､既存の呼戻しを置換える新しい呼戻し命令によって｡ `pg_result_callback` is called - without a callbackCommand, to remove the callback, or with a new callbackCommand to replace the existing callback.

非同期問合せ呼戻し命令が配置されている間､同期問合せ命令(pg_exec, pg_select,等)は許容されず且つTcl不都合が発せられる｡ While an asynchronous query callback command is in place, synchronous query commands (pg_exec, pg_select, etc.) are not allowed and will throw a Tcl error.

この命令は pgtclng-1.6.0に追加された｡それは pgintclでは利用できない｡この性質は Kyle Bateman (kyleb)によって提案され､ Miguel Sofer (msofer)によって初期実装が設計され且つ書かれた｡ This command was added in pgtclng-1.6.0. It is not available in pgintcl. This feature was suggested by Kyle Bateman (kyleb), with the initial implementation designed and written by Miguel Sofer (msofer).

用例はSection5.12, “Example - Asynchronous Query with Event-Driven Results” を参照されたい｡ See Section5.12, “Example - Asynchronous Query with Event-Driven Results” for an example.

Prev | Up | Next
pg_blocking | Home | 4.5.Notification and Notice Processing Commands