sql >> データベース >  >> RDS >> PostgreSQL

plv8は、eval()の実行および準備関数を無効にします

    私はついに解決策を見つけました:

    create or replace function
    public.js(src text, input json) returns json as $$
      //-- select js('var a = input.test; var output = []; for(k in a) { output.push(10+a[k]); };', '{"test": [1,2,3]}'::json)
      //-- select public.js('plv8.elog(NOTICE, "yoyo");', null) // should not be possible
      plv8.elog(NOTICE, 'test');
      var evalRes = null;
      (function() {
            var plv8 = null; //-- In order to disable execute, prepare...
            evalRes = eval('var output=null; ' + src + '; output;');
      })();
      plv8.elog(NOTICE, 'test2');
      return JSON.stringify(evalRes);
    $$ LANGUAGE plv8;
    



    1. ssrsチャートのSQLクエリ式で存在しない値を処理する

    2. codeigniterを使用して複数の画像をアップロードする方法

    3. 外部キーを見つけるためのクエリ

    4. MYSQLインポート:GEOMETRYフィールドに送信したデータからジオメトリオブジェクトを取得できません