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
は次のいずれかです。
{ ANSINAMEname
[,name
] | AUDITRBArba
[comparison_operator
] | CLEAR {filter_spec
| ALL} | CSN | LogCSN [comparison_operator
] [value
] ENDTIMEtime_string
| FILENAMEname
[,name
] | GGSTOKENtoken_name
[comparison_operator
] [token_value
] | HEX "hex_string
" [byte_range
][, "hex_string
" [byte_range
]] [...] | INT1616_bit_integer
| INT3232_bit_integer
| IOTYPEoperation_type
[,operation_type
] | MATCH {ANY | ALL} | OFF | ON | PROCESSprocess_name
| RBAbyte_address
[comparison_operator
] [...] | RECLENlength
[comparison_operator
] | RECTYPE {type_number
|type_name
} | SHOW | STARTTIMEtime_string
| STRING [BOTH] [B],text
[column_range
] [[B],text
[column_range
]] [...] | SYSKEYsystem_key
[comparison_operator
] [...] | TRANSIDtransaction_identifier
| TRANSINDindicator
[comparison_operator
] | TYPEtype
| UNDOFLAGtype
[comparison_operator
] | USERTOKENtoken_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
.file
volume
.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_integer
16ビット整数に基づいてフィルタします。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