画像や、音声、ビデオのオブジェクトをデータベースに保管すると、エクステンダーによって、そのオブジェクトの属性も同時にデータベースに保管されます。 オブジェクトを更新すると、エクステンダーはそのデータベースに保管されているオブジェクトの属性も更新します。 これらの属性は、照会で使用することができます。
エクステンダーは、ユーザーが管理する属性ごとに UDF を作成します。
したがって、SQL ステートメントに UDF を指定することによって、オブジェクト属性をアクセスし使用することができます。
次の表 に、エクステンダーが使用する属性とその UDF を示します。
さらに、各属性に対するオブジェクト・タイプも示します。
オブジェクトの形式やファイル名など、一部の属性は、すべてのオブジェクト・タイプに共通です。
これらの属性は、画像、音声、およびビデオのオブジェクトに対応しています。
サンプリング率や圧縮タイプなどの属性は、音声やビデオなどの特定のオブジェクト・タイプに固有のものです。
属性 | UDF | イメージ | オーディオ | ビデオ |
---|---|---|---|---|
オブジェクトが保管されているサーバー・ファイルの名前 | Filename | o | o | o |
オブジェクトを保管した人のユーザー ID | Importer | o | o | o |
オブジェクトが保管された日付と時刻 | ImportTime | o | o | o |
オブジェクトの大きさ (バイト単位で) | Size | o | o | o |
オブジェクトを最後に更新した人のユーザー ID | Updater | o | o | o |
オブジェクトが最後に更新された日付と時刻 | UpdateTime | o | o | o |
オブジェクトの形式 (たとえば、GIF や MPEG1) | Format | o | o | o |
オブジェクトの注釈 | Comment | o | o | o |
オブジェクトの高さ (ピクセル単位で) | Height | o | o | |
オブジェクトの幅 (ピクセル単位で) | Width | o | o | |
オブジェクトの色数 | NumColors | o | ||
オブジェクトのサムネール・サイズの画像 | Thumbnail | o | o | |
音声のサンプルごと、またはビデオの音声トラックのサンプルごとの、戻されるバイト数 | AlignValue | o | o | |
各サンプルを表すのに必要なビット数 | BitsPerSample | o | o | |
記録されているチャネルの数 | NumChannels | o | o | |
所要時間 (秒単位で) | Duration | o | o | |
サンプリング率 (秒あたりのサンプル数で) | SamplingRate | o | o | |
秒あたりの平均転送バイト数 | BytesPerSec | o | ||
楽器の音声トラック番号 | FindInstrument | o | ||
指定されたトラックのトラック番号 | FindTrackName | o | ||
録音されている楽器の名前 | GetInstruments | o | ||
録音されている楽器のトラック番号と名前 | GetTrackNames | o | ||
音声の秒あたりのクロック・ティック | TicksPerSec | o | ||
音声の四分音符あたりのクロック・ティック | TicksPerQNote | o | ||
縦横比 | AspectRatio | o | ||
ビデオ圧縮形式 (MPEG1 など) | CompressType | o | ||
秒あたりのスループット・フレーム数 | FrameRate | o | ||
最大スループット (秒あたりのバイト数で) | MaxBytesPerSec | o | ||
音声トラックの数 | NumAudioTracks | o | o | |
フレームの数 | NumFrames | o | ||
ビデオ・トラックの数 | NumVideoTracks | o |
属性 UDF は、SQL ステートメントの SELECT 文節の式か、WHERE 文節の探索条件で使用することができます。 UDF を指定する場合には、そのオブジェクトのハンドルが入っている列 (データベース表の) の名前を指定する必要があります。
たとえば、次のステートメントでは、Updater UDF を SQL SELECT ステートメントの SELECT 文節に指定することによって、従業員表にある画像を最後に更新した人のユーザー ID を取り出します。
EXEC SQL BEGIN DECLARE SECTION; char hvUpdatr[30]; EXEC SQL END DECLARE SECTION; EXEC SQL SELECT UPDATER(PICTURE) INTO :hvUpdatr FROM EMPLOYEE WHERE NAME = 'Anita Jones';
次のステートメントでは、Filename UDF を SELECT ステートメントの SELECT 文節に、NumAudioTracks UDF を WHERE 文節に指定することによって、従業員表に保管されているビデオから、音声トラックがあるものを取り出します。
EXEC SQL BEGIN DECLARE SECTION; char hvVid_fname[251]; EXEC SQL END DECLARE SECTION; EXEC SQL SELECT FILENAME(VIDEO) INTO :hvVid_fname FROM EMPLOYEE WHERE NUMAUDIOTRACKS(VIDEO)>0;