LOAD

Name

LOAD  --  動的にオブジェクトファイルを読み込む。

Synopsis

LOAD 'filename'
  

入力

filename

動的に読み込むオブジェクトファイル。

出力

LOAD

正常終了した時に返されるメッセージ。

ERROR: LOAD: could not open file 'filename'

指定したファイルが存在しなかった時に返されるメッセージ。この 警告を受けないようにするには、ファイルが適切なフルパス名で指 定され、Postgres バッ クエンドにとり可視でなければなりません。

説明

オブジェクト(すなわち、".o")ファイルを Postgres バックエンドのアドレス空間に読 み込みます。ファイルがいったん読み込まれると、そのファイルの中の全 ての関数にアクセスできます。この機能はユーザ定義の型及び関数のサポ ートに使用されます。

ファイルが LOAD を使って読み込まれていない場合、 Postgres によってその関数が最初に呼び出 された時点で自動的にファイルが読み込まれます。オブジェクトファイル を編集し再コンパイルした場合にも、その再読み込みに LOAD を使用します。現時点では C 言語で作成された オブジェクトファイルのみがサポートされています。

注意

読み込まれたオブジェクトファイル内の関数は、他の LOAD コマンドを使って読み込まれるオブジェクトフ ァイル中の関数を呼び出してはいけません。 例えば、ファイル A 中の全関数は、そのファイル内 の関数を、標準または数学ライブラリにある関数を、Postgres内にある関 数を呼び出さなければなりません。 別の読み込まれたファイル B 内で定義された関数を 呼び出してはいけません。 この理由は、B が再読み込みされた場合に Postgres のローダが A 内の関数からの呼び出しを B の新しいアドレス空間に再度合わせることができ ないからです。 B が再読み込みされなければ、問題にはならないの ですが。

オブジェクトファイルは、位置に依存しないコードを持つようにコンパイ ルされなければいけません。例えば DECstations の場合、読み込むべき オブジェクトファイルをコンパイルする時には /bin/cc-G 0 オプ ションを付けて実行しなければなりません。

Postgres を新しいプラットホームに移植す る場合、LOAD が ADT をサポートするようにしなけ ればなりません。

使用法

/usr/postgres/demo/circle.o ファイルを読み込 みます。

LOAD '/usr/postgres/demo/circle.o'
   

互換性

SQL92

SQL92 には LOAD はありませ ん。