JavaScript UDFs のトラブルシューティング

このトピックでは、 JavaScript UDFs のトラブルシューティングに関する情報を提供します。

このトピックの内容:

ヒント

  • JavaScript は大文字と小文字を区別しますが、 SQL は名前が大文字にします。これは、たとえば UDF 入力パラメーター名に影響を与える可能性があります。JavaScript コードは、すべて大文字を使用して入力パラメーター名を参照する必要があります。

  • マスキングポリシー で JavaScript UDF を使用する場合は、列、 UDF、およびマスキングポリシーのデータ型が一致していることを確認します。

トラブルシューティング

エラーメッセージ: Variable is not defined

原因:

SnowSQL でコマンドを実行しているときにこのエラーメッセージが表示される場合は、 CREATE FUNCTION コマンド内のアンパサンド(&)が原因である可能性があります。(アンパサンドは SnowSQL 変数置換文字です。)たとえば、 SnowSQL で次のコマンドを実行すると、このエラーが発生します。

create function mask_bits(...)
    ...
    as
    $$
    var masked = (x & y);
    ...
    $$;
Copy

エラーは、関数が呼び出されたときではなく、関数が作成されたときに発生します。

解決策:

SnowSQL で変数置換を使用する予定がない場合は、次のコマンドを実行して変数置換を明示的に無効にできます。

!set variable_substitution=false;
Copy

変数置換の詳細については、 変数の使用 をご参照ください。