NULL の検査

UDF クラスを含め、すべてのクラスは UDX の名前空間に入っています。 API バージョン 1 の名前空間 nz::udx と、API バージョン 2 の名前空間 nz::udx_ver2 という 2 つの名前空間があります。

関数では、evaluate() メソッド (UDF の場合) または finalResult() メソッド (UDA の場合) から戻る前に、setReturnNull を呼び出して戻り値が NULL かどうかを設定します。 UDF を登録するときには、CREATE FUNCTION コマンドの次のオプションを使用して、データベース NULL 値が検出された場合の UDF の動作を構成します。
[{RETURNS NULL ON NULL INPUT | CALLED ON NULL INPUT}]

デフォルトの設定は RETURNS NULL ON NULL INPUT です。 このオプションは、引数のいずれかが NULL の場合は evaluate() メソッドを呼び出さないことを指定します。 NULL 値が渡されたら関数をスキップするという場合は、この設定を行うと確実にパフォーマンスを向上できます。

CALLED ON NULL INPUT オプションは、NULL 値が検出された場合でも関数を呼び出すことを指定します。 このオプションを選択する場合は、次の関数を evaluate() メソッドおよび finalResult() メソッド内で使用して、引数が NULL かどうかを確認してください。
bool isArgNull(int n)