FILTERを使用して、1つ以上の基準に基づいて表示をフィルタします。
次のように複数のFILTERコマンドをセミコロンで区切って1行に入力できます。
FILTER INCLUDE FILENAME fin.act*; FILTER RECTYPE 5; FILTER MATCH ALL
または...
FILTER INCLUDE FILENAME $QA01.QAESRC.ACCTN; FILTER SYSKEY 4294967302; FILTER MATCH ALL
予期しない結果にならないよう、1つのFILTERコマンドにフィルタ・オプションをまとめないようにします。たとえば、次の例は正しくない例です。
FILTER INCLUDE FILENAME fin.act*; RECTYPE 5; MATCH ALL
または...
FILTER INCLUDE FILENAME $QA01.QAESRC.ACCTN; SYSKEY 4294967302
引数を指定しない場合、FILTERは、現在のフィルタのステータス(ONまたはOFF)および有効なフィルタ基準を表示します。
比較演算子
比較演算子をとるオプションには、次の標準演算子を使用できます。演算子がない場合、Equalと見なされます。
表2-9 フィルタ・オプションの比較演算子
| 演算子 | 例 |
|---|---|
等しい |
|
より小さい |
|
以下 |
|
より大きい |
|
以上 |
|
等しくない |
|
デフォルト
現在のフィルタ設定を表示します。
構文
FILTER [INCLUDE] [EXCLUDE] filter_option
説明:
filter_optionは次のいずれかです。
{
ANSINAME name [, name] |
AUDITRBA rba [comparison_operator] |
CLEAR {filter_spec | ALL} |
CSN | LogCSN [comparison_operator] [value]
ENDTIME time_string |
FILENAME name [, name] |
GGSTOKEN token_name [comparison_operator] [token_value] |
HEX "hex_string" [byte_range][, "hex_string" [byte_range]] [...] |
INT16 16_bit_integer |
INT32 32_bit_integer |
IOTYPE operation_type [, operation_type] |
MATCH {ANY | ALL} |
OFF |
ON |
PROCESS process_name |
RBA byte_address [comparison_operator] [...] |
RECLEN length [comparison_operator] |
RECTYPE {type_number | type_name} |
SHOW |
STARTTIME time_string |
STRING [BOTH] [B],text [ column_range ]
[[B],text [column_range]] [...] |
SYSKEY system_key [comparison_operator] [...] |
TRANSID transaction_identifier |
TRANSIND indicator [comparison_operator] |
TYPE type |
UNDOFLAG type [comparison_operator] |
USERTOKEN token_name [comparison_operator] [token_value]
}
ANSINAME name [, name]SQL/MX表、またはWindowsまたはUNIXのソース・システムの表のANSI名に基づいてフィルタします。NonStopシステムで使用する場合。nameの形式は次のとおりです。
catalog.schema.table
最大8個の名前を指定できます。コマンドでは、大/小文字が区別されます。
データ・ファイルの名前に基づいてフィルタするには、FILENAMEオプションを使用します。
AUDITRBA rba [comparison_operator]コミット・レコードの相対バイト・アドレスに基づいてフィルタします。comparison_operatorについては、比較演算子を参照してください。
CLEAR {filter_spec | ALL}フィルタ基準を削除します。
ALLは、すべてのフィルタ基準を削除します。
filter_specは、指定された基準のみ削除します。FILTERオプションは指定しますが、値は指定しません。次の例は有効です。
FILTER CLEAR STRING
次の例は無効です。
FILTER CLEAR STRING "Denver"
CLEARの別名はRESETです。
CSN | LogCSN [comparison_operator] [value] コミット順序番号値に基づいてフィルタします。
comparison_operatorについては、比較演算子を参照してください。
ENDTIME time_string指定された時間に書き込まれた最後のレコードでフィルタを終了します。時間の文字列には、次の形式を使用します。
[[yy]yy-mm-dd] [hh[:mm][:ss]]
例:
ENDTIME 2011-01-31 23:59:59
このコマンドは、ENDTSまたはENDに短縮できます。
FILENAME name [, name]SQL表の名前または名前のグループに基づいてフィルタします。名前の形式は次のとおりです。
[catalog.]owner.table[catalog.]owner.string*
NonStopデータ・ファイルの名前または名前のグループでもフィルタできます。名前の形式は次のとおりです。
volume.subvolume.filevolume.subvolume.string*
WindowsおよびUNIXでは、両方のタイプのオブジェクトがサポートされます。NonStopでは、NonStopファイルの表示のみサポートされます。NonStopでSQL表を表示するには、ANSINAMEオプションを使用します。
WindowsおよびUNIXシステムでは、FILENAMEは大文字/小文字が区別されます。データベースで名前の前後に引用符が必要な場合、WindowsまたはUNIXでNonStopデータ・ファイルを開く場合、ファイル名は大文字に変換されます。FILENAMEはFILEまたはFIに短縮できます。
最大8個の名前を指定できます。
GGSTOKEN token_name [comparison_operator] [token_value] レコード・ヘッダー内の特定のトークンに基づいてフィルタします。
token_nameには、トークンの名前(TRANSIDなど)を指定します。
可能なトークンおよび値のリストを表示するには、GGSTOKENを参照してください。
token_valueには、フィルタ文字列となる、このトークンの実際の値を指定します。
comparison_operatorについては、比較演算子を参照してください。
HEX "hex_string" [byte_range] [, "hex_string" [byte_range]] []16進文字列、およびオプションで列の範囲に基づいてフィルタします。列の範囲を指定するには、次の形式を使用します。
start_column:end_column
例:
10:35
このオプションでは、最大8個の16進文字列および列の引数を使用できます。16進文字列は、引用符で囲む必要があります。
16進のフィルタ文字列は二重引用符で囲む必要があります。
INCLUDE現在のFILTER文の他のオプションで指定された情報をフィルタに含めることを指定します。INCに短縮できます。
EXCLUDE現在のFILTER文の他のオプションで指定された情報をフィルタから除外することを指定します。EXCに短縮できます。
INT16 16_bit_integer16ビット整数に基づいてフィルタします。16ビット・プロセッサに使用します。
INT32 32_bit_integer 32ビット整数に基づいてフィルタします。32ビット・プロセッサに使用します。
IOTYPE operation_type [, operation_type]操作のタイプに基づいてフィルタします。レコード・タイプのリストは、LogdumpのSHOW RECTYPEコマンドで表示できます。最大32個の操作タイプをIOTYPEに指定できます。
MATCH {ANY | ALL}複数のフィルタが指定された場合のフィルタ動作を制御します。MATまたはMAに短縮できます。
ANYでは、フィルタ条件のいずれかに一致する場合にレコードが表示またはカウントの対象として含まれます。これはデフォルトです。
ALLでは、フィルタ条件のすべてに一致する場合にレコードが表示またはカウントの対象として含まれます。
OFFレコードのフィルタを無効にします。デフォルトでは、フィルタは無効です。このオプションの別名は、DISABLEです。
ONレコードのフィルタを有効にします。このオプションの別名は、ENABLEです。
RBA byte_address [comparison_operator] []相対バイト・アドレスに基づいてフィルタします。32ビットまたは64ビットの値が受け付けられます。最大32個の指定を行えます。
RECLEN length [comparison_operator]レコード長(バイト)に基づいてフィルタします。comparison_operatorについては、比較演算子を参照してください。
RECTYPE {type_number | type_name}レコードのタイプに基づいてフィルタします。次のいずれかを指定できます。
レコード・タイプに割り当てられている番号。
FILTER RECTYPE 10
レコード・タイプの名前。
FILTER RECTYPE Update
レコード・タイプの名前と番号を表示するには、SHOW RECTYPEコマンドを発行します。(SHOWを参照してください。)
SHOWフィルタ設定を表示します。オプションを指定せずにFILTERを使用した場合と同じです。
STARTTIME time_string指定された時間に書き込まれた最初のレコードでフィルタを開始します。時間の文字列には、次の形式を使用します。
[[yy]yy-mm-dd] [hh[:mm][:ss]]
例:
STARTTIME 2011-01-01 00:00:00
STARTTSまたはSTARTに短縮できます。
STRING [BOTH] [B], "text" [column_range] [[B], text [column_range]] []textは、文字列に基づいてフィルタします。文字列は二重引用符で囲みます。
column_rangeは、列の範囲に基づいてフィルタします。次の形式を使用します。
start_column:end_column
例:
10:35
BOTHは、文字列と列の範囲の両方でフィルタします。
[B]は、大文字/小文字を区別しない一致を指定します。最大8個の文字列および列の引数を使用できます。
証跡データがEBCDICの場合、FILTER STRINGを使用する前にEBCDICDATA ONまたはASCIIDATA OFFコマンドを発行して正しい一致が行われるようにします。
STRINGはSTRに短縮できます。
SYSKEY system_key [comparison_operator] []NonStopソース・キーに基づいてフィルタします。32ビットまたは64ビットの値が受け付けられます。最大32個の指定を行えます。
TRANSIND indicator [comparison_operator] レコード・ヘッダーのTransIndフィールドに基づいてフィルタします。有効な値は次のとおりです。
0 = トランザクションの始まり
1 = トランザクションの中間
2 = トランザクションの終わり
3 = トランザクション内の唯一のレコード
たとえば、トランザクションの終わりをフィルタするには、次のコマンド(構文内の空白を含む)を使用します。
FILTER INCLUDE TransInd > = 2
comparison_operatorについては、比較演算子を参照してください。
TRANSID 'transaction_identifier'TMF証跡を読み取る場合、TMFトランザクション識別子でフィルタします。次に例を示します。
FILTER INCLUDE TRANSID \GGQA(2).0.12792182.
UNDOFLAG type [comparison_operator]NonStopのUNDOフラグに基づいてフィルタします。UNDOフラグは、TMFトランザクションが中断され、取り消されたレコードに設定されます。通常、UndoFlagは0(ゼロ)に設定されますが、レコードが以前成功した操作を取り消したものである場合、UndoFlagは1に設定されます。制約違反によりディスク・プロセスで行われた取消しは、UNDOとしてマークされません。
comparison_operatorについては、比較演算子を参照してください。
USERTOKEN token_name [comparison_operator] [token_value] 証跡ファイル・ヘッダー内の特定のユーザー・トークンに基づいてフィルタします。
token_nameは、Extractパラメータ・ファイルのTABLE文のTOKENS句で定義されたトークンの名前です。大文字/小文字は区別されません。
token_valueは、token_nameのTOKENS句での指定に応じて、二重引用符で囲まれた定数またはの列変換関数の結果のいずれかです。
comparison_operatorについては、比較演算子を参照してください。
次に、比較演算子で修飾されたフィルタ・オプションを示します。
FILTER INCLUDE RECLEN > 400 FILTER INCLUDE RECLEN < 200 FILTER INCLUDE TRANSIND <> 1 FILTER INCLUDE SYSKEY > 202172700557313
次の例では、データ・ファイル名および相対キー19446(16進値で00004bf6)でフィルタします。MATCH ALLが使用されているため、レコードがフィルタに含まれるには、すべてのフィルタ指定を満たす必要があります。
FILTER INCLUDE FILENAME $QA01.QAESRC.ACCT* FILTER INCLUDE HEX "00004bf6" 0:3 FILTER MATCH ALL
次の例では、ACCDET表以外のACCで始まる表、および指定された開始時間と終了時間の間のタイムスタンプを含むレコードをフィルタします。デフォルトでは、レコードがINCLUDE指定のいずれかに一致する場合、そのレコードはフィルタに含められます。
FILTER INCLUDE FILENAME SALES.ACC* FILTER EXCLUDE FILENAME SALES.ACCDET FILTER INCLUDE STARTTIME 2011-01-11 17:00:00 FILTER INCLUDE ENDTIME 2011-01-11 19:00:00
次の例では、複数の指定が行われたフィルタ・オプションを示します。デフォルトでは、指定のいずれかに一致するレコードはフィルタに含められます。STRINGフィルタでは、基準のうちの2つで大文字/小文字が区別されず、1つで区別されます。また、フィルタは列の範囲内に限定されます。
FILTER INCLUDE IOTYPE insert,update,delete FILTER INCLUDE STRING b"String1" "string2" b"String3" 25:50 FILTER INCLUDE FILENAME $QA01.QAESRC.ACCT1, $QA01.QAESRC.ACCT2, $QA01.QAESRC.ACCT3