前のトピック: Null または空の文字列次のトピック: 正規表現 SQL ステートメント ノーマライザの例


正規表現の SQL ステートメントのノーマライザ

SQL エージェントには、設定可能な正規表現(regex)に基づいて SQL ステートメントを正規化する拡張機能が用意されています。 この RegexNormalizerExtension.jar ファイルは <Agent_Home>/wily/core/ext ディレクトリにあります。

正規表現 SQL ステートメント ノーマライザの使用例については、「正規表現 SQL ステートメント ノーマライザの例」を参照してください。

正規表現拡張機能を適用する方法

  1. IntroscopeAgent.profile を開きます。
  2. 以下のプロパティで設定を行います。

    introscope.agent.sqlagent.normalizer.regex.matchFallThroughfalse の場合、SQL は key1 regex に対して正規化されます。その regex からの出力は、次のようになります: Select * from X where B。 この SQL は返されます。

    introscope.agent.sqlagent.normalizer.regex.matchFallThroughtrue の場合、SQL は最初に key1 regex に対して正規化されます。 その regex からの出力は、次のようになります。Select * from X where B. 次にこの出力は、key2 regex の入力となります。key2 regex からの出力は、Select * from X where Y です。 これは SQL が返されます。

    注: 正規表現拡張機能を有効化する場合、このプロパティは必要ありません。

    introscope.agent.sqlagent.normalizer.regex.key1.replaceAlfalse の場合、SQL ステートメントは次のように正規化されます: Select * from X where A like Z

    introscope.agent.sqlagent.normalizer.regex.key1.replaceAltrue の場合、SQL ステートメントは次のように正規化されます: Select * from X where X like Z

    デフォルト値は False です。 正規表現拡張機能を有効化するために、このプロパティは必要ありません。

    注: いずれの正規表現パターンも入力 SQL と一致しない場合、RegexNormalizer は Null の文字列を返します。 ステートメント ノーマライザは次に、デフォルトの正規化スキーマを使用します。

  3. IntroscopeAgent.profile を保存します。

重要: 上記のプロパティはすべてホット プロパティです。つまりこれらのプロパティに対する変更は IntroscopeAgent.profile を保存した時点で有効になります。