他のバージョンの文書10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

42.9. ユーティリティ関数

plpyでは、plpy.debug(msg)plpy.log(msg)plpy.info(msg)plpy.notice(msg)plpy.warning(msg)plpy.error(msg)、およびplpy.fatal(msg)関数を提供しています。 plpy.errorおよびplpy.fatalは、実際にPythonの例外を発生させます。 これが捕捉されない場合、呼び出し中の問い合わせ外部に伝わり、その結果、現在のトランザクションもしくはサブトランザクションがアボートします。 raise plpy.Error(msg)およびraise plpy.Fatal(msg)は、それぞれplpy.errorおよびplpy.fatalの呼び出しと同じです。 他の関数は異なる重要度のメッセージを生成するだけです。 log_min_messagesclient_min_messages設定変数は、特定の重要度のメッセージをクライアントに報告するか、サーバのログに書き出すか、あるいはその両方かを制御します。 詳細は第18章を参照してください。

この他のユーティリティ関数群にはplpy.quote_literal(string)plpy.quote_nullable(string)およびplpy.quote_ident(string)があります。 これらは項9.4で説明する組込みの引用符付け関数と同等です。 これらはその場限りの問い合わせを構築する時に有用です。 例39-1の動的SQLと同等なPL/Pythonを以下に示します。

plpy.execute("UPDATE tbl SET %s = %s WHERE key = %s" % (
    plpy.quote_ident(colname),
    plpy.quote_nullable(newvalue),
    plpy.quote_literal(keyvalue)))