2017-03-05 92 views
1

我將一個函數的實際符號作爲參數傳遞給Datomic查詢。這是否令人沮喪?你會建議動態地生成整個查詢嗎(例子會有所幫助)?Datomic查詢中的功能組合

(d/q '[:find ?effect-o 
     :in $ % ?pred-fn 
     :where 
     [_ :my/effect_o ?effect-o] 
     [(db.utilities/binary_sentiment ?pred-fn ?effect-o)]] 
    (get_db) ALL_RULES pred_fn) 

(defn binary_sentiment [binary_pred_fn score] 
    (binary_pred_fn score) 
) 

回答

0

好戲。語義是明確的,所以你應該沒有問題。

+0

出於安全原因,我擔心查詢參數將被限制爲Datomic類型。 – m33lky

+1

這可能與客戶有關,但與同伴無關。同行在數據庫「內部」並且信任。 –

+0

您是否認爲任何來自網頁的輸入都應該已經被驗證?由於同級在數據庫「內部」,查詢和db函數類似於SQL世界中的存儲過程。這意味着對等方有責任驗證對數據庫的輸入。 – m33lky