2013-02-19 191 views
1

我有一個定義內存數據庫的Clojure ns:1個分區,一些屬性和2個實體。我從Eclipse的(逆時針),結果(例外)運行如下:相同的功能,不同的結果

;; Clojure 1.4.0 
;; Switching to ww.billing namespace 
#'ww.billing/cardinality 
#<Namespace ww.billing> 
=> (setup-db) 
#<HashSet [[:billing]]> 
#<HashSet [[:db/code], [:customer/taxid], [:fressian/tag], [:db/unique], [:db/fn], 
[:customer/role], [:db/noHistory], [:db/fulltext], [:db/lang], [:db/valueType], 
[:db/doc], [:db/isComponent], [:db.install/function], [:db/cardinality], 
[:db/txInstant], [:db/index], [:customer/taxname]]> 
#<HashSet [["BBB010101BB1"], ["AAA010101AAA"]]> 
#<HashSet [[272678883689455], [272678883689454]]> 
nil 
=> (cardinality mdb :customer/taxid) 
IllegalArgumentException Cannot resolve key: :customer/taxid 
datomic.datalog/resolve-id ( datalog.clj:144) 

然而,從LightTable,同樣的代碼,當然,結果是不同的(正確):

(ns ww.billing) => nil 
(setup-db) => nil 
(cardinality mdb :customer/taxid) => :db.cardinality/one 

Output: 
#<HashSet [[:billing]]> 
#<HashSet [[:db/code], [:customer/taxid], [:fressian/tag], [:db/unique], [:db/fn], 
[:customer/role], [:db/noHistory], [:db/fulltext], [:db/lang], [:db/valueType], 
[:db/doc], [:db/isComponent], [:db.install/function], [:db/cardinality], 
[:db/txInstant], [:db/index], [:customer/taxname]]> 
#<HashSet [["BBB010101BB1"], ["AAA010101AAA"]]> 
#<HashSet [[272678883689455], [272678883689454]]> 

根據環境的不同,結果可能有什麼不同?注意:IntelliJ表現得像Eclipse一樣。基數功能取自西雅圖演示。

回答