2.29.1 pddivinfgtの形式と規則
(1) 機能
ディクショナリ表から表の分割条件を取得し,ファイルに出力します。
(2) 実行者
DBA権限を持つユーザ,又は表の所有者が実行できます。
(3) 形式
pddivinfgt -t 〔認可識別子.〕表識別子 -f 分割情報ファイル名
(4) オプション
(a) -t 〔認可識別子.〕表識別子
分割条件を取得したい表の名称を指定します。実表以外は指定できません。
認可識別子を省略した場合は,クライアント環境定義のPDUSERに指定した認可識別子を仮定します。
認可識別子,又は表識別子を引用符('')で囲んだ場合は,英大文字と英小文字が区別されます。引用符('')で囲まない場合は,すべて英大文字として扱われます。表識別子に空白が含まれる場合は,引用符(")で囲んでください。
なお,sh(Bourneシェル),csh(Cシェル),及びksh(Kシェル)の場合は,更にアポストロフィ(’)で囲む必要があります。
(b) -f 分割情報ファイル名 〜<パス名>(1023バイト以内)
取得した分割条件を出力する分割情報ファイルのファイル名を絶対パスで指定します。
(5) 規則
-
pddivinfgtコマンドは,HiRDBが稼働中のときだけ実行できます。
-
pddivinfgtコマンドは,任意のサーバマシン,又はHiRDBクライアントをインストールしているマシンで実行できます。
-
pddivinfgtコマンドを実行する前に,クライアント環境定義のPDHOST,PDNAMEPORT,及びPDUSERを設定しておく必要があります。
各クライアント環境定義については,マニュアル「HiRDB Version 9 UAP開発ガイド」を参照してください。
-
次の場合,出力内容は保証されません。
-
pddivinfgtコマンドを実行中にエラーが発生した場合
-
定義系SQLを実行中にpddivinfgtコマンドを実行した場合
-
-
pddivinfgtコマンドで出力するファイル名が重複する場合,ファイルは上書きされます。
(6) 注意事項
-
pddivinfgtコマンドのリターンコードを次に示します。
0:正常終了
8:異常終了
-
pddivinfgtコマンドで取得できる表種別と表の分割方法を次に示します。
表2‒2 取得できる表種別と表の分割方法 表種別
表の分割方法
取得可否
非分割表
−
○
横分割表
キーレンジ分割
境界値指定
○
格納条件指定
格納条件の比較演算子に=だけを指定
○
格納条件の比較演算子に=以外を指定
×
ハッシュ分割
×
マトリクス分割表
−
×
- (凡例)
-
○:取得できます。
×:取得できません。
−:該当しません。
-
分割キーに改行コード,又は引用符(")を使用した表を指定した場合,ファイルの出力結果は保証されません。
-
HiRDB接続時のパスワード秘匿化機能を使用している場合,必要に応じて,クライアント環境変数PDAUTHTYPEを設定し,HiRDBへ接続するときの認証方式を指定してから実行してください。指定値についてはマニュアル「HiRDB Version 9システム運用ガイド」の「HiRDB接続時のパスワード秘匿化機能の設定方法」を参照してください。
(7) 出力形式
#OwnerName : "aa...a", TableName : "bb...b" #DivisionNumber : cc...c dd, "ee...e", ff...f : :
- [説明]
-
- aa...a:
-
-tオプションに指定した認可識別子(30バイト以内)
- bb...b:
-
-tオプションに指定した表識別子(30バイト以内)
- cc...c:
-
取得した表の分割数(5バイト以内)
非分割表の場合は,1を表示します。
- dd:
-
分割条件コード(=,^=,<,<=,>,>=のどれか)
非分割表の場合,又は空白の場合は「--」を表示します。
- ee...e:
-
分割条件値(513バイト以内)
分割条件値の出力例を次に示します。
表の種別
ディクショナリ表SQL_DIV_TABLEのDCVALUES列の値※
ディクショナリ表SQL_DIV_TABLEのDCVALUES_TYPE列の値※
分割キーのデータ型
"ee...e"の出力例
備考
非分割表
−
−
−
NULL
""で囲みません。
分割表
NULL値
−
−
NULL値以外
'X'(16進文字列定数)
−
X'41424344'
X''で囲みます。16進文字列で出力します。
NULL値
(16進文字列定数以外)
数データ
1000
""で囲みません。また,空白は削除します。
数データ以外
"ABCD"
""で囲みます。
- (凡例)
-
−:該当しません。
- 注※
-
ディクショナリ表の列の値です。詳細は,マニュアル「HiRDB Version 9 UAP開発ガイド」の「ディクショナリ表の詳細」を参照してください。
値がNULLの場合,又は非分割表の場合は,NULLを表示します。
分割条件値のデータ型が数データの場合,又はNULLの場合は「""」で囲みません。また,分割条件値のデータ型が数データの場合は,空白は削除して表示します。
- ff...f:
-
分割条件に対応するデータを格納するバックエンドサーバ名(8バイト以内)
空白は削除して表示します。