MRo*_*lin 6 database clojure datomic
列出Datomic数据库的所有分区的查询是什么?
这应该回来了
[[:db.part/db] [:db.part/tx] [:db.part/user] .... ]
Run Code Online (Sandbox Code Playgroud)
....所有用户定义的分区在哪里.
您应该能够:db.part/db通过以下:db.install/partition属性搜索与实体关联的所有实体来获取数据库中所有分区的列表:
(ns myns
(:require [datomic.api :as d]))
(defn get-partitions [db]
(d/q '[:find ?ident :where [:db.part/db :db.install/partition ?p]
[?p :db/ident ?ident]]
db))
Run Code Online (Sandbox Code Playgroud)
注意
Datomic(build 0.8.3524)的当前版本有一个缺点,即:db.part/tx和:db.part/user(三个内置分区中的两个)被特殊处理并且实际上并不与:db.part/dbvia 相关联:db.install/partition,因此上述查询函数的结果不会包括两个.
这个问题将在未来的Datomic构建中得到解决.在此期间,您应该自己处理包含:db.part/tx和:db.part/user结果集.