スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド

[目次][索引][前へ][次へ]

3.4.11 インデクスキー値の排他資源の作成方法

インデクスのキー値が10バイトを超えた場合,システム定義のpd_key_resource_typeオペランドの指定値によって,作成されるインデクスキー値の排他資源が変わります。システム定義のpd_key_resource_typeオペランドについては,マニュアル「HiRDB Version 8 システム定義」を参照してください。

pd_key_resource_typeオペランドにTYPE1又はTYPE2を指定した場合の,キー値排他資源の作成方法を図3-14図3-15に示します。

図3-14 pd_key_resource_type=TYPE1のキー値排他資源の作成方法

[図データ]

[説明]
キー長が10バイトを超えると,キー値の先頭2バイトと下位1バイトを除いた長さを7バイト単位で切り出し,ビットシフトしながら排他的論理和をします。ビットシフトは,切り出した回数を8で割った余りの数で論理シフトし,8バイトデータの排他的論理和をします。
排他的論理和の結果(中間結果)は,8バイトの領域に格納し,先頭1バイト(X)と下位1バイト(Y)の排他的論理和をして,7バイト分のデータ(結果)を作成します。
この7バイト分のデータ(結果)と,最初に除いた先頭2バイトと下位1バイトとを合わせた,10バイトのデータがインデクスキー値の排他資源となります。

図3-15 pd_key_resource_type=TYPE2のキー値排他資源の作成方法

[図データ]

[説明]
キー長が10バイトを超えると,キー値の先頭2バイトと下位1バイトを除いた長さを7バイト単位で排他的論理和をします。排他的論理和の結果の7バイトデータと先頭2バイト,下位1バイトを合わせた10バイトのデータがインデクスキー値の排他資源となります。