無料スクリプト配布のPHP.TO   PHPの実用的なtips PHPマニュアル MySQLマニュアル Apacheマニュアル PostgreSQLマニュアル マニュアル検索    

52.1. 外部データラッパ関数

FDWの作者は、ハンドラ関数と、オプションで検証関数を実装する必要があります。 両関数とも、version-1インターフェースを使用して、Cなどのコンパイル言語で作成しなければなりません。 C言語の呼び出し規約と動的ロードについては 項35.9 を参照してください。

ハンドラ関数は単に、プランナやエグゼキュータ、様々なメンテナンスコマンドから呼び出されるコールバック関数のポインタを保持する構造体を返します。 FDWを作成するための労力のほとんどは、これらのコールバック関数を実装することに費やされます。 ハンドラ関数は、引数を取らず特殊な仮想型である fdw_handler を返す関数として PostgreSQL に登録しなければなりません。 コールバック関数は通常のC言語関数で、SQLレベルでは参照も呼び出しもできません。コールバック関数の説明は 項52.2 にあります。

検証関数は、そのラッパを使用する外部サーバ、ユーザマッピング、外部テーブルだけでなく、外部データラッパ自身の CREATE ALTER といったコマンドで指定されたオプションの妥当性を検証する責任があります。 検証関数は、検証するオプションを含むtext配列と、オプションを関連付けるオブジェクトの種類を表すOID(そのオブジェクトが格納されるシステムカタログのOIDで ForeignDataWrapperRelationId または ForeignServerRelationId または UserMappingRelationId または ForeignTableRelationId のいずれか)という二つの引数を取るものとして登録しなければなりません。 検証関数が指定されなかった場合、オブジェクト作成時やオブジェクト変更時にオプションはチェックされません。


powered by SEO.CUG.NET