他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 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

44.11. PL/Tclの設定

この節では、PL/Tclに影響がある設定パラメータを列挙します。

pltcl.start_proc (string)

このパラメータが空文字以外に設定された場合、PL/Tclのための新しいTclインタプリタが作成された際に実行すべきパラメータなしのPL/Tcl関数の名前(スキーマ修飾される場合もあります)を指定します。 そうした関数は、追加のTclコードをロードするような、Tclセッションごとの初期化を実施できます。 データベースセッションの中で新しいPL/Tcl関数が最初に実行された際、あるいはPL/Tcl関数が新しいロールから呼び出されたためにインタプリタを追加で作成しなければならない際に、新しいTclインタプリタが作られます。

参照されている関数はpltcl言語で記述しなければならず、またSECURITY DEFINERとしてマークされていてはいけません。 (この制約により、その関数が初期化すると想定しているインタプリタ内で実行されることが保証されます。) また、現在のユーザはその関数を呼び出すことが許可されていなければなりません。

関数がエラーで失敗すると、関数呼び出しをアボートし、その結果新しいインタプリタが作成され、エラーは呼び出し元のクエリに伝搬し、現在のトランザクションあるいはサブトランザクションがアボートします。 Tcl内でそれまでに行われた操作は取り消されません。 しかし、インタプリタは再使用できません。 言語が再び使用されると、新しいTclインタプリタ内で初期化が再び試みられます。

スーパーユーザーだけがこの設定を変更できます。 この設定はセッション内で変更できますが、すでに作成されたTclインタプリタには影響しません。

pltclu.start_proc (string)

このパラメータはPL/TclUに適用される点を除けば、pltcl.start_procと完全に類似しています。 参照される関数はpltclu言語で書かれていなければなりません。