datahike 0.7.1630

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (282) hide show
  1. package/README.md +226 -0
  2. package/cljs.analyzer.api.js +427 -0
  3. package/cljs.analyzer.api.js.map +1 -0
  4. package/cljs.analyzer.impl.js +86 -0
  5. package/cljs.analyzer.impl.js.map +1 -0
  6. package/cljs.analyzer.impl.namespaces.js +219 -0
  7. package/cljs.analyzer.impl.namespaces.js.map +1 -0
  8. package/cljs.analyzer.js +7186 -0
  9. package/cljs.analyzer.js.map +1 -0
  10. package/cljs.analyzer.passes.and_or.js +141 -0
  11. package/cljs.analyzer.passes.and_or.js.map +1 -0
  12. package/cljs.analyzer.passes.js +104 -0
  13. package/cljs.analyzer.passes.js.map +1 -0
  14. package/cljs.cache.js +1145 -0
  15. package/cljs.cache.js.map +1 -0
  16. package/cljs.cache.wrapped.js +352 -0
  17. package/cljs.cache.wrapped.js.map +1 -0
  18. package/cljs.core.async.impl.buffers.js +489 -0
  19. package/cljs.core.async.impl.buffers.js.map +1 -0
  20. package/cljs.core.async.impl.channels.js +711 -0
  21. package/cljs.core.async.impl.channels.js.map +1 -0
  22. package/cljs.core.async.impl.dispatch.js +81 -0
  23. package/cljs.core.async.impl.dispatch.js.map +1 -0
  24. package/cljs.core.async.impl.ioc_helpers.js +192 -0
  25. package/cljs.core.async.impl.ioc_helpers.js.map +1 -0
  26. package/cljs.core.async.impl.protocols.js +368 -0
  27. package/cljs.core.async.impl.protocols.js.map +1 -0
  28. package/cljs.core.async.impl.timers.js +510 -0
  29. package/cljs.core.async.impl.timers.js.map +1 -0
  30. package/cljs.core.async.js +8813 -0
  31. package/cljs.core.async.js.map +1 -0
  32. package/cljs.core.js +38764 -0
  33. package/cljs.core.js.map +1 -0
  34. package/cljs.env.js +60 -0
  35. package/cljs.env.js.map +1 -0
  36. package/cljs.nodejs.js +80 -0
  37. package/cljs.nodejs.js.map +1 -0
  38. package/cljs.reader.js +462 -0
  39. package/cljs.reader.js.map +1 -0
  40. package/cljs.spec.alpha.js +5312 -0
  41. package/cljs.spec.alpha.js.map +1 -0
  42. package/cljs.spec.gen.alpha.js +2020 -0
  43. package/cljs.spec.gen.alpha.js.map +1 -0
  44. package/cljs.tagged_literals.js +103 -0
  45. package/cljs.tagged_literals.js.map +1 -0
  46. package/cljs.tools.reader.edn.js +960 -0
  47. package/cljs.tools.reader.edn.js.map +1 -0
  48. package/cljs.tools.reader.impl.commons.js +217 -0
  49. package/cljs.tools.reader.impl.commons.js.map +1 -0
  50. package/cljs.tools.reader.impl.errors.js +441 -0
  51. package/cljs.tools.reader.impl.errors.js.map +1 -0
  52. package/cljs.tools.reader.impl.inspect.js +182 -0
  53. package/cljs.tools.reader.impl.inspect.js.map +1 -0
  54. package/cljs.tools.reader.impl.utils.js +429 -0
  55. package/cljs.tools.reader.impl.utils.js.map +1 -0
  56. package/cljs.tools.reader.js +1830 -0
  57. package/cljs.tools.reader.js.map +1 -0
  58. package/cljs.tools.reader.reader_types.js +838 -0
  59. package/cljs.tools.reader.reader_types.js.map +1 -0
  60. package/cljs_env.js +18192 -0
  61. package/cljs_node_io.core.js +1278 -0
  62. package/cljs_node_io.core.js.map +1 -0
  63. package/cljs_node_io.file.js +918 -0
  64. package/cljs_node_io.file.js.map +1 -0
  65. package/cljs_node_io.fs.js +3911 -0
  66. package/cljs_node_io.fs.js.map +1 -0
  67. package/clojure.data.js +319 -0
  68. package/clojure.data.js.map +1 -0
  69. package/clojure.edn.js +119 -0
  70. package/clojure.edn.js.map +1 -0
  71. package/clojure.set.js +406 -0
  72. package/clojure.set.js.map +1 -0
  73. package/clojure.string.js +502 -0
  74. package/clojure.string.js.map +1 -0
  75. package/clojure.walk.js +156 -0
  76. package/clojure.walk.js.map +1 -0
  77. package/datahike.api.impl.js +621 -0
  78. package/datahike.api.impl.js.map +1 -0
  79. package/datahike.api.specification.js +85 -0
  80. package/datahike.api.specification.js.map +1 -0
  81. package/datahike.array.js +275 -0
  82. package/datahike.array.js.map +1 -0
  83. package/datahike.config.js +437 -0
  84. package/datahike.config.js.map +1 -0
  85. package/datahike.connections.js +55 -0
  86. package/datahike.connections.js.map +1 -0
  87. package/datahike.connector.js +1248 -0
  88. package/datahike.connector.js.map +1 -0
  89. package/datahike.constants.js +66 -0
  90. package/datahike.constants.js.map +1 -0
  91. package/datahike.core.js +628 -0
  92. package/datahike.core.js.map +1 -0
  93. package/datahike.datom.js +963 -0
  94. package/datahike.datom.js.map +1 -0
  95. package/datahike.db.interface.js +819 -0
  96. package/datahike.db.interface.js.map +1 -0
  97. package/datahike.db.js +3095 -0
  98. package/datahike.db.js.map +1 -0
  99. package/datahike.db.search.js +1004 -0
  100. package/datahike.db.search.js.map +1 -0
  101. package/datahike.db.transaction.js +1904 -0
  102. package/datahike.db.transaction.js.map +1 -0
  103. package/datahike.db.utils.js +642 -0
  104. package/datahike.db.utils.js.map +1 -0
  105. package/datahike.gc.js +1618 -0
  106. package/datahike.gc.js.map +1 -0
  107. package/datahike.impl.entity.js +604 -0
  108. package/datahike.impl.entity.js.map +1 -0
  109. package/datahike.index.interface.js +484 -0
  110. package/datahike.index.interface.js.map +1 -0
  111. package/datahike.index.js +50 -0
  112. package/datahike.index.js.map +1 -0
  113. package/datahike.index.persistent_set.js +1250 -0
  114. package/datahike.index.persistent_set.js.map +1 -0
  115. package/datahike.js.api.js +2211 -0
  116. package/datahike.js.api.js.map +1 -0
  117. package/datahike.lru.js +404 -0
  118. package/datahike.lru.js.map +1 -0
  119. package/datahike.pull_api.js +533 -0
  120. package/datahike.pull_api.js.map +1 -0
  121. package/datahike.query.js +11891 -0
  122. package/datahike.query.js.map +1 -0
  123. package/datahike.query_stats.js +152 -0
  124. package/datahike.query_stats.js.map +1 -0
  125. package/datahike.readers.js +166 -0
  126. package/datahike.readers.js.map +1 -0
  127. package/datahike.schema.js +251 -0
  128. package/datahike.schema.js.map +1 -0
  129. package/datahike.schema_cache.js +66 -0
  130. package/datahike.schema_cache.js.map +1 -0
  131. package/datahike.spec.js +70 -0
  132. package/datahike.spec.js.map +1 -0
  133. package/datahike.store.js +514 -0
  134. package/datahike.store.js.map +1 -0
  135. package/datahike.tools.js +436 -0
  136. package/datahike.tools.js.map +1 -0
  137. package/datahike.writer.js +3463 -0
  138. package/datahike.writer.js.map +1 -0
  139. package/datahike.writing.js +3168 -0
  140. package/datahike.writing.js.map +1 -0
  141. package/datalog.parser.impl.js +1421 -0
  142. package/datalog.parser.impl.js.map +1 -0
  143. package/datalog.parser.impl.proto.js +213 -0
  144. package/datalog.parser.impl.proto.js.map +1 -0
  145. package/datalog.parser.impl.util.js +117 -0
  146. package/datalog.parser.impl.util.js.map +1 -0
  147. package/datalog.parser.js +47 -0
  148. package/datalog.parser.js.map +1 -0
  149. package/datalog.parser.pull.js +2603 -0
  150. package/datalog.parser.pull.js.map +1 -0
  151. package/datalog.parser.type.js +7502 -0
  152. package/datalog.parser.type.js.map +1 -0
  153. package/datalog.parser.util.js +60 -0
  154. package/datalog.parser.util.js.map +1 -0
  155. package/environ.core.js +263 -0
  156. package/environ.core.js.map +1 -0
  157. package/fress.api.js +607 -0
  158. package/fress.api.js.map +1 -0
  159. package/fress.impl.adler32.js +435 -0
  160. package/fress.impl.adler32.js.map +1 -0
  161. package/fress.impl.bigint.js +185 -0
  162. package/fress.impl.bigint.js.map +1 -0
  163. package/fress.impl.buffer.js +1087 -0
  164. package/fress.impl.buffer.js.map +1 -0
  165. package/fress.impl.codes.js +105 -0
  166. package/fress.impl.codes.js.map +1 -0
  167. package/fress.impl.hopmap.js +603 -0
  168. package/fress.impl.hopmap.js.map +1 -0
  169. package/fress.impl.ranges.js +49 -0
  170. package/fress.impl.ranges.js.map +1 -0
  171. package/fress.impl.raw_input.js +837 -0
  172. package/fress.impl.raw_input.js.map +1 -0
  173. package/fress.impl.raw_output.js +653 -0
  174. package/fress.impl.raw_output.js.map +1 -0
  175. package/fress.impl.table.js +133 -0
  176. package/fress.impl.table.js.map +1 -0
  177. package/fress.reader.js +2312 -0
  178. package/fress.reader.js.map +1 -0
  179. package/fress.util.js +458 -0
  180. package/fress.util.js.map +1 -0
  181. package/fress.writer.js +2141 -0
  182. package/fress.writer.js.map +1 -0
  183. package/geheimnis.aes.js +132 -0
  184. package/geheimnis.aes.js.map +1 -0
  185. package/hasch.base64.js +42 -0
  186. package/hasch.base64.js.map +1 -0
  187. package/hasch.benc.js +201 -0
  188. package/hasch.benc.js.map +1 -0
  189. package/hasch.core.js +188 -0
  190. package/hasch.core.js.map +1 -0
  191. package/hasch.platform.js +221 -0
  192. package/hasch.platform.js.map +1 -0
  193. package/incognito.base.js +276 -0
  194. package/incognito.base.js.map +1 -0
  195. package/incognito.edn.js +54 -0
  196. package/incognito.edn.js.map +1 -0
  197. package/incognito.fressian.js +330 -0
  198. package/incognito.fressian.js.map +1 -0
  199. package/index.d.ts +660 -0
  200. package/is.simm.partial_cps.async.js +142 -0
  201. package/is.simm.partial_cps.async.js.map +1 -0
  202. package/is.simm.partial_cps.runtime.js +65 -0
  203. package/is.simm.partial_cps.runtime.js.map +1 -0
  204. package/is.simm.partial_cps.sequence.js +1255 -0
  205. package/is.simm.partial_cps.sequence.js.map +1 -0
  206. package/konserve.cache.js +2519 -0
  207. package/konserve.cache.js.map +1 -0
  208. package/konserve.compressor.js +502 -0
  209. package/konserve.compressor.js.map +1 -0
  210. package/konserve.core.js +8052 -0
  211. package/konserve.core.js.map +1 -0
  212. package/konserve.encryptor.js +553 -0
  213. package/konserve.encryptor.js.map +1 -0
  214. package/konserve.gc.js +541 -0
  215. package/konserve.gc.js.map +1 -0
  216. package/konserve.impl.defaults.js +8290 -0
  217. package/konserve.impl.defaults.js.map +1 -0
  218. package/konserve.impl.storage_layout.js +849 -0
  219. package/konserve.impl.storage_layout.js.map +1 -0
  220. package/konserve.memory.js +2102 -0
  221. package/konserve.memory.js.map +1 -0
  222. package/konserve.node_filestore.js +2951 -0
  223. package/konserve.node_filestore.js.map +1 -0
  224. package/konserve.protocols.js +590 -0
  225. package/konserve.protocols.js.map +1 -0
  226. package/konserve.serializers.js +562 -0
  227. package/konserve.serializers.js.map +1 -0
  228. package/konserve.store.js +2245 -0
  229. package/konserve.store.js.map +1 -0
  230. package/konserve.tiered.js +9574 -0
  231. package/konserve.tiered.js.map +1 -0
  232. package/konserve.utils.js +180 -0
  233. package/konserve.utils.js.map +1 -0
  234. package/me.tonsky.persistent_sorted_set.arrays.js +66 -0
  235. package/me.tonsky.persistent_sorted_set.arrays.js.map +1 -0
  236. package/me.tonsky.persistent_sorted_set.branch.js +2779 -0
  237. package/me.tonsky.persistent_sorted_set.branch.js.map +1 -0
  238. package/me.tonsky.persistent_sorted_set.btset.js +14196 -0
  239. package/me.tonsky.persistent_sorted_set.btset.js.map +1 -0
  240. package/me.tonsky.persistent_sorted_set.impl.node.js +324 -0
  241. package/me.tonsky.persistent_sorted_set.impl.node.js.map +1 -0
  242. package/me.tonsky.persistent_sorted_set.impl.storage.js +123 -0
  243. package/me.tonsky.persistent_sorted_set.impl.storage.js.map +1 -0
  244. package/me.tonsky.persistent_sorted_set.js +890 -0
  245. package/me.tonsky.persistent_sorted_set.js.map +1 -0
  246. package/me.tonsky.persistent_sorted_set.leaf.js +561 -0
  247. package/me.tonsky.persistent_sorted_set.leaf.js.map +1 -0
  248. package/me.tonsky.persistent_sorted_set.util.js +402 -0
  249. package/me.tonsky.persistent_sorted_set.util.js.map +1 -0
  250. package/medley.core.js +1857 -0
  251. package/medley.core.js.map +1 -0
  252. package/package.json +38 -0
  253. package/spec_tools.core.js +1925 -0
  254. package/spec_tools.core.js.map +1 -0
  255. package/spec_tools.data_spec.js +1291 -0
  256. package/spec_tools.data_spec.js.map +1 -0
  257. package/spec_tools.form.js +185 -0
  258. package/spec_tools.form.js.map +1 -0
  259. package/spec_tools.impl.js +362 -0
  260. package/spec_tools.impl.js.map +1 -0
  261. package/spec_tools.parse.js +427 -0
  262. package/spec_tools.parse.js.map +1 -0
  263. package/spec_tools.transform.js +288 -0
  264. package/spec_tools.transform.js.map +1 -0
  265. package/superv.async.js +8617 -0
  266. package/superv.async.js.map +1 -0
  267. package/tailrecursion.priority_map.js +994 -0
  268. package/tailrecursion.priority_map.js.map +1 -0
  269. package/taoensso.encore.js +12385 -0
  270. package/taoensso.encore.js.map +1 -0
  271. package/taoensso.timbre.appenders.core.js +239 -0
  272. package/taoensso.timbre.appenders.core.js.map +1 -0
  273. package/taoensso.timbre.js +1264 -0
  274. package/taoensso.timbre.js.map +1 -0
  275. package/taoensso.truss.impl.js +442 -0
  276. package/taoensso.truss.impl.js.map +1 -0
  277. package/taoensso.truss.js +743 -0
  278. package/taoensso.truss.js.map +1 -0
  279. package/test-config-keys.js +33 -0
  280. package/test-final.js +36 -0
  281. package/test-key-duplication.js +67 -0
  282. package/test.js +557 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["datahike/db/transaction.cljc"],"mappings":"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","names":["datahike.db.transaction/validate-datom","db","datom","and__5000__auto__","datahike.datom/datom-added","datahike.db.utils/is-attr?","temp__5804__auto__","found","cljs.core/not-empty","datahike.db.interface/datoms","G__58927","cljs.core.ex_info","cljs.core.pr_str","fexpr__58926","taoensso.timbre._log_BANG_","taoensso.timbre/*config*","cljs.core/Delay","p__58937","p__58938","vec__58939","cljs.core.nth","map__58942","cljs.core/--destructure-map","cljs.core.get","datahike.db.transaction/validate-val","v","_","a","at","config","schema","ref-ident-map","G__58946","fexpr__58945","map__58947","attribute-refs?","schema-flexibility","a-ident","datahike.db.interface/-ident-for","v-ident","cljs.core/contains?","datahike.db.interface/-system-entities","cljs.core._EQ_","schema-spec","datahike.schema/meta-attr?","datahike.schema/schema-attr?","datahike.schema/implicit-schema-spec","datahike.schema/value-valid?","G__58953","fexpr__58952","datahike.schema/describe-type","cljs.core.get_in","datahike.db.transaction/current-tx","report","datahike.db.transaction/next-eid","datahike.db.transaction/tx-id?","e","datahike.db.transaction/tempid?","x","datahike.db.transaction/advance-max-eid","eid","G__58962","datahike.constants/tx0","cljs.core.assoc","var_args","G__58966","datahike.db.transaction/allocate-eid","js/Error","cljs.core.update_in","G__58972","cljs.core/assoc-in","datahike.db.transaction/update-schema","datahike.db.interface/-schema","datahike.db.interface/-config","G__59005","fexpr__59004","G__59007","fexpr__59006","cljs.core.merge","or__5002__auto__","cljs.core/PersistentHashMap","temp__5802__auto__","schema-entry","old","datahike.schema/entity-spec-attr?","cljs.core.conj","datahike.db.transaction/update-rschema","datahike.db.utils/rschema","datahike.db.transaction/remove-schema","G__59038","fexpr__59037","cljs.core/not","err-msg","err-map","cljs.core.dissoc","p1__59030#","p1__59031#","p1__59032#","p1__59033#","p1__59034#","datahike.db.transaction/with-datom","map__59052","datahike.db.utils/attr-info","indexing?","datahike.db.utils/indexing?","schema?","keep-history?","datahike.db.interface/-keep-history?","datahike.db.utils/no-history?","op-count","G__59053","p1__59040#","datahike.index/-insert","p1__59041#","p1__59042#","cljs.core.update","cljs.core/+","cljs.core/hash","cljs.core/inc","temp__5806__auto__","removing","cljs.core/first","datahike.db.interface/search","G__59055","p1__59043#","datahike.index/-remove","p1__59044#","p1__59045#","cljs.core/-","p1__59046#","datahike.index/-temporal-insert","p1__59047#","G__59081","G__59082","G__59083","G__59084","p1__59048#","p1__59049#","G__59085","G__59086","G__59087","G__59088","p1__59050#","p1__59051#","G__59089","G__59090","G__59091","G__59092","datahike.db.transaction/with-temporal-datom","map__59109","current-datom","history-datom","datahike.db.search.search_temporal_indices","current?","history?","G__59120","p1__59101#","p1__59102#","p1__59103#","p1__59104#","p1__59105#","p1__59106#","datahike.db.transaction/queue-tuple","queue","tuple","idx","tuple-value","cljs.core/vec","cljs.core.repeat","cljs.core/count","tuple-value'","datahike.db.transaction/queue-tuples","tuples","cljs.core/reduce-kv","datahike.db.transaction/validate-datom-upsert","G__59129","fexpr__59128","datahike.db.transaction/with-datom-upsert","map__59149","cljs.core.not_EQ_","old-datom","G__59150","G__59151","G__59152","G__59153","datahike.index/-slice","datahike.datom.datom","G__59158","e59159","cljs.core/ExceptionInfo","_e","p1__59140#","datahike.index/-temporal-upsert","p1__59141#","datahike.index/-upsert","p1__59142#","p1__59143#","p1__59144#","p1__59146#","G__59168","datahike.db.transaction/transact-report","datahike.db.transaction.transact_report","upsert?","update-fn","report'","cljs.core/conj","datahike.db.utils/tuple-source?","datahike.db.interface/-attrs-by","queue'","cljs.core/assoc","datahike.db.transaction/check-upsert-conflict","entity","acc","vec__59173","G__59178","fexpr__59177","datahike.db.transaction/upsert-eid","tempids","unique-idents","unique-tuple-idents","clojure.set.intersection","found-eav","v-original","datahike.db.interface/-ref-for","tempid-val","datahike.db.utils/ref?","vec__59185","_a","_v","G__59193","fexpr__59192","found-eav-including-composite-tuples","cljs.core.reduce","a-tuple","tuple-attrs","contains-tuple-attrs?","clojure.set/subset?","cljs.core/set","cljs.core/keys","tuple-contains-tempids?","cljs.core/some","v-tuple","cljs.core.mapv","datahike.db.utils.entid_strict","vec__59197","G__59203","fexpr__59202","datahike.db.transaction/maybe-wrap-multival","vs","datahike.db.utils/reverse-ref?","datahike.db.utils/multival?","me.tonsky.persistent-sorted-set.arrays/array?","cljs.core/coll?","cljs.core/map?","cljs.core/Keyword","datahike.db.transaction/explode","G__59209","fexpr__59208","ensure","entities","iter__5480__auto__","s__59213","cljs.core/LazySeq","cljs.core/seq","xs__6360__auto__","vec__59218","iterys__5476__auto__","s__59215","cljs.core/chunked-seq?","c__5478__auto__","size__5479__auto__","b__59217","cljs.core/chunk-buffer","i__59216","cljs.core/-nth","cljs.core/chunk-append","cljs.core/chunk-cons","cljs.core/chunk","iter__59214","cljs.core/chunk-rest","cljs.core/cons","cljs.core/rest","fs__5477__auto__","cljs.core.concat","iter__59212","datahike.db.utils/validate-attr-ident","reverse?","straight-a-ident","datahike.db.utils/reverse-ref","straight-a","G__59224","fexpr__59223","datahike.schema/is-system-keyword?","map__59229","attrs","preds","G__59230","cljs.core/empty?","p__59233","p__59234","map__59235","vec__59236","datahike.db.transaction/transact-add","db-after","tx","ent","datahike.db.utils/normalize-and-validate-attr","new-datom","G__59244","datahike.db.transaction/transact-retract-datom","d","datahike.db.transaction.transact_retract_datom","keep-tx-id","txid","datahike.datom/datom-tx","datahike.db.transaction/transact-purge-datom","datahike.db.transaction/retract-components","datoms","cljs.core.into","cljs.core.comp","cljs.core.filter","datahike.db.utils/component?","cljs.core.map","datahike.db.transaction/purge-components","xf","datahike.db.transaction/retry-with-tempid","initial-report","es","tempid","upserted-eid","G__59256","fexpr__59255","tempids'","datahike.db.transaction/transact-tx-data","p__59259","vec__59260","datahike.db.transaction/assert-preds","datahike.db.transaction/builtin-op?","datahike.db.transaction/flush-tuples","tuples+values","value","cljs.core/every?","cljs.core/nil?","current","p__59268","map__59270","datahike.db.transaction/flush-tx-meta","tx-meta","db-before","map__59271","tid","attribute","G__59274","fexpr__59273","datahike.db.transaction/check-schema-update","new-eid","datahike.schema/schema-entity?","G__59284","fexpr__59283","attr-name","invalid-updates","datahike.schema/find-invalid-schema-updates","G__59288","fexpr__59287","datahike.schema/schema?","G__59292","fexpr__59291","p__59294","map__59296","datahike.db.transaction/entity-map->op-vec","old-eid","tx?","resolved-eid","cljs.core/sequential?","updated-entity","updated-report","G__59298","datahike.db.transaction.allocate_eid","resolved-tempid","G__59300","fexpr__59299","new-entity","datahike.db.transaction/compare-and-swap","op-vec","vec__59303","ov","nv","datahike.db.utils/validate-attr","G__59310","fexpr__59309","G__59321","fexpr__59320","G__59323","fexpr__59322","datahike.db.transaction/retract-entity","vec__59327","datahike.db.utils.entid","e-datoms","v-datoms","cljs.core.partial","cljs.core.mapcat","datahike.db.transaction/check-tuple","vec__59332","attr-schema","G__59338","fexpr__59337","cljs.core.apply","cljs.core/=","cljs.core/type","G__59340","fexpr__59339","cljs.spec.alpha.valid_QMARK_","G__59343","G__59345","fexpr__59344","G__59348","fexpr__59347","cljs.spec.alpha/valid?","G__59353","fexpr__59352","cljs.core/meta","G__59357","fexpr__59356","datahike.db.transaction/filter-before","before-date","before-pred","filtered-tx-ids","datahike.db.utils/filter-txInstant","datahike.db.transaction/apply-db-op","vec__59370","op","G__59374","pattern","history","datahike.db/HistoricalDB","old-datoms","G__59379","fexpr__59377","G__59382","fexpr__59381","G__59386","fexpr__59385","G__59388","fexpr__59387","G__59395","fexpr__59394","G__59398","fexpr__59397","p1__59367#","into-sorted-set","cljs.core/sorted-set-by","datahike.datom/cmp-datoms-eavt-quick","clojure.set.difference","datahike.db.search.search_current_indices","G__59409","fexpr__59408","map__59410","tx-data","asserting-datoms","asserting-attributes","diff","G__59413","fexpr__59412","map__59415","G__59418","fexpr__59417","vec__59421","seq__59422","first__59423","cljs.core/next","f","args","ident","fun","cljs.core/fn?","G__59429","fexpr__59428","G__59426","fexpr__59425","G__59433","fexpr__59432","clojure.string.join","p__59441","map__59442","initial-es","G__59449","fexpr__59448","has-tuples?","initial-es'","cljs.core.interleave","p1__59436#","datahike.tools/get-date","meta-entities","cljs.core/transient","vec__59479","seq__59480","first__59481","map__59482","cljs.core/persistent!","map__59485","new-report","new-entities","retry?","vec__59486","datahike.db.utils/tuple?","G__59492","fexpr__59491","allocated-eid","vid","vec__59500","datahike.datom/datom?","vec__59503","added","G__59507","fexpr__59506","datahike.db.transaction/transact-entities-directly","migration-state","vec__59527","seq__59528","first__59529","map__59530","vec__59531","t","G__59535","fexpr__59534","max-eid","max-tid","p1__59510#","new-t","new-e","cljs.core/chunk-first"],"sourcesContent":["(ns datahike.db.transaction\n (:require\n [clojure.spec.alpha :as s]\n [clojure.string :as str]\n [datahike.index :as di]\n [datahike.datom :as dd :refer [datom datom-tx datom-added datom?]]\n #?(:cljs [datahike.db :refer [HistoricalDB]])\n [datahike.db.interface :as dbi]\n [datahike.db.search :as dbs]\n [datahike.db.utils :as dbu]\n [datahike.constants :refer [tx0]]\n [datahike.tools :refer [get-date raise]]\n [datahike.schema :as ds]\n [me.tonsky.persistent-sorted-set.arrays :as arrays])\n #?(:cljs (:require-macros [datahike.datom :refer [datom]]\n [datahike.tools :refer [raise]]))\n #?(:clj (:import [clojure.lang ExceptionInfo]\n [datahike.datom Datom]\n [datahike.db HistoricalDB]\n [java.util Date])))\n\n(defn validate-datom [db ^Datom datom]\n (when (and (datom-added datom)\n (dbu/is-attr? db (.-a datom) :db/unique))\n (when-let [found (not-empty (dbi/datoms db :avet [(.-a datom) (.-v datom)]))]\n (raise \"Cannot add \" datom \" because of unique constraint: \" found\n {:error :transact/unique :attribute (.-a datom) :datom datom}))))\n\n(defn- validate-val [v [_ _ a _ _ :as at] {:keys [config schema ref-ident-map] :as db}]\n (when (nil? v)\n (raise \"Cannot store nil as a value at \" at\n {:error :transact/syntax, :value v, :context at}))\n (let [{:keys [attribute-refs? schema-flexibility]} config\n a-ident (if (and attribute-refs? (number? a)) (dbi/-ident-for db a) a)\n v-ident (if (and attribute-refs?\n (contains? (dbi/-system-entities db) a)\n (not (nil? (ref-ident-map v))))\n (ref-ident-map v)\n v)]\n\n (when (= :write schema-flexibility)\n (let [schema-spec (if (or (ds/meta-attr? a-ident) (ds/schema-attr? a-ident))\n ds/implicit-schema-spec\n schema)]\n (when-not (ds/value-valid? a-ident v-ident schema)\n (raise \"Bad entity value \" v-ident \" at \" at \", value does not match schema definition. Must be conform to: \"\n (ds/describe-type (get-in schema-spec [a-ident :db/valueType]))\n {:error :transact/schema :value v-ident :attribute a-ident :schema (get-in db [:schema a-ident])}))))))\n\n(defn- current-tx [report]\n (inc (get-in report [:db-before :max-tx])))\n\n(defn next-eid [db]\n (inc (:max-eid db)))\n\n(defn- #?@(:clj [^Boolean tx-id?]\n :cljs [^boolean tx-id?])\n [e]\n (or (= e :db/current-tx)\n (= e \":db/current-tx\") ;; for datahike.js interop\n (= e \"datomic.tx\")\n (= e \"datahike.tx\")))\n\n(defn- #?@(:clj [^Boolean tempid?]\n :cljs [^boolean tempid?])\n [x]\n (or (and (number? x) (neg? x)) (string? x)))\n\n(defn advance-max-eid [db eid]\n (cond-> db\n (and (> eid (:max-eid db))\n (< eid tx0)) ;; do not trigger advance if transaction id was referenced\n (assoc :max-eid eid)))\n\n(defn- allocate-eid\n ([report eid]\n (update-in report [:db-after] advance-max-eid eid))\n ([report e eid]\n (cond-> report\n (tx-id? e)\n (assoc-in [:tempids e] eid)\n (tempid? e)\n (assoc-in [:tempids e] eid)\n true\n (update-in [:db-after] advance-max-eid eid))))\n\n(defn update-schema [db ^Datom datom]\n (let [schema (dbi/-schema db)\n attribute-refs? (:attribute-refs? (dbi/-config db))\n e (.-e datom)\n a (.-a datom)\n v (.-v datom)\n a-ident (if attribute-refs? (dbi/-ident-for db a) a)\n v-ident (if (and attribute-refs? (contains? (dbi/-system-entities db) v))\n (dbi/-ident-for db v)\n v)]\n (when (and attribute-refs? (contains? (dbi/-system-entities db) e))\n (raise \"System schema entity cannot be changed\"\n {:error :transact/schema :entity-id e}))\n (if (= a-ident :db/ident)\n (if (schema v-ident)\n (raise (str \"Schema with attribute \" v-ident \" already exists\")\n {:error :transact/schema :attribute v-ident})\n (-> (assoc-in db [:schema v-ident] (merge (or (schema e) {}) (hash-map a-ident v-ident)))\n (assoc-in [:schema e] v-ident)\n (assoc-in [:ident-ref-map v-ident] e)\n (assoc-in [:ref-ident-map e] v-ident)))\n (if-let [schema-entry (schema e)]\n (if (schema schema-entry)\n (update-in db [:schema schema-entry a-ident] (fn [old]\n (if (ds/entity-spec-attr? a-ident)\n (if old\n (conj old v-ident)\n [v-ident])\n v-ident)))\n (assoc-in db [:schema e a-ident] v-ident))\n (assoc-in db [:schema e] (hash-map a-ident v-ident))))))\n\n(defn update-rschema [db]\n (assoc db :rschema (dbu/rschema (:schema db))))\n\n(defn remove-schema [db ^Datom datom]\n (let [schema (dbi/-schema db)\n attribute-refs? (:attribute-refs? (dbi/-config db))\n e (.-e datom)\n a (.-a datom)\n v (.-v datom)\n a-ident (if attribute-refs? (dbi/-ident-for db a) a)\n v-ident (if (and attribute-refs? (contains? (dbi/-system-entities db) v))\n (dbi/-ident-for db v)\n v)]\n (when (and attribute-refs? (contains? (dbi/-system-entities db) e))\n (raise \"System schema entity cannot be changed\"\n {:error :retract/schema :entity-id e}))\n (if (= a-ident :db/ident)\n (if-not (schema v-ident)\n (let [err-msg (str \"Schema with attribute \" v-ident \" does not exist\")\n err-map {:error :retract/schema :attribute v-ident}]\n (throw (ex-info err-msg err-map)))\n (-> (assoc-in db [:schema e] (dissoc (schema v-ident) a-ident))\n (update-in [:schema] #(dissoc % v-ident))\n (update-in [:ident-ref-map] #(dissoc % v-ident))\n (update-in [:ref-ident-map] #(dissoc % e))))\n (if-let [schema-entry (schema e)]\n (if (schema schema-entry)\n (update-in db [:schema schema-entry] #(dissoc % a-ident))\n (update-in db [:schema e] #(dissoc % a-ident v-ident)))\n (let [err-msg (str \"Schema with entity id \" e \" does not exist\")\n err-map {:error :retract/schema :entity-id e :attribute a :value e}]\n (throw (ex-info err-msg err-map)))))))\n\n;; In context of `with-datom` we can use faster comparators which\n;; do not check for nil (~10-15% performance gain in `transact`)\n\n(defn- with-datom [db ^Datom datom]\n (validate-datom db datom)\n (let [{a-ident :ident} (dbu/attr-info db (.-a datom))\n indexing? (dbu/indexing? db a-ident)\n schema? (or (ds/schema-attr? a-ident) (ds/entity-spec-attr? a-ident))\n keep-history? (and (dbi/-keep-history? db) (not (dbu/no-history? db a-ident)))\n op-count (:op-count db)]\n (if (datom-added datom)\n (cond-> db\n true (update-in [:eavt] #(di/-insert % datom :eavt op-count))\n true (update-in [:aevt] #(di/-insert % datom :aevt op-count))\n indexing? (update-in [:avet] #(di/-insert % datom :avet op-count))\n true (advance-max-eid (.-e datom))\n true (update :hash + (hash datom))\n schema? (-> (update-schema datom)\n update-rschema)\n true (update :op-count inc))\n\n (if-some [removing ^Datom (first (dbi/search db [(.-e datom) (.-a datom) (.-v datom)]))]\n (cond-> db\n true (update-in [:eavt] #(di/-remove % removing :eavt op-count))\n true (update-in [:aevt] #(di/-remove % removing :aevt op-count))\n indexing? (update-in [:avet] #(di/-remove % removing :avet op-count))\n true (update :hash - (hash removing))\n schema? (-> (remove-schema datom) update-rschema)\n keep-history? (update-in [:temporal-eavt] #(di/-temporal-insert % removing :eavt op-count))\n keep-history? (update-in [:temporal-eavt] #(di/-temporal-insert % datom :eavt (inc op-count)))\n keep-history? (update-in [:temporal-aevt] #(di/-temporal-insert % removing :aevt op-count))\n keep-history? (update-in [:temporal-aevt] #(di/-temporal-insert % datom :aevt (inc op-count)))\n keep-history? (update :hash + (hash datom))\n (and keep-history? indexing?) (update-in [:temporal-avet] #(di/-temporal-insert % removing :avet op-count))\n (and keep-history? indexing?) (update-in [:temporal-avet] #(di/-temporal-insert % datom :avet (inc op-count)))\n true (update :op-count + (if (or keep-history? indexing?) 2 1)))\n db))))\n\n(defn- with-temporal-datom [db ^Datom datom]\n (let [{a-ident :ident} (dbu/attr-info db (.-a datom))\n indexing? (dbu/indexing? db a-ident)\n schema? (ds/schema-attr? a-ident)\n current-datom ^Datom (first (dbi/search db [(.-e datom) (.-a datom) (.-v datom)]))\n history-datom ^Datom (first (dbs/search-temporal-indices db [(.-e datom) (.-a datom) (.-v datom) (.-tx datom)]))\n current? (not (nil? current-datom))\n history? (not (nil? history-datom))\n op-count (:op-count db)]\n (cond-> db\n current? (update-in [:eavt] #(di/-remove % current-datom :eavt op-count))\n current? (update-in [:aevt] #(di/-remove % current-datom :aevt op-count))\n (and current? indexing?) (update-in [:avet] #(di/-remove % current-datom :avet op-count))\n current? (update :hash - (hash current-datom))\n (and current? schema?) (-> (remove-schema datom) update-rschema)\n history? (update-in [:temporal-eavt] #(di/-remove % history-datom :eavt op-count))\n history? (update-in [:temporal-aevt] #(di/-remove % history-datom :aevt op-count))\n (and history? indexing?) (update-in [:temporal-avet] #(di/-remove % history-datom :avet op-count))\n (or current? history?) (update :op-count inc))))\n\n(defn- queue-tuple [queue tuple idx db e v]\n (let [tuple-value (or (get queue tuple)\n (:v (first (dbi/datoms db :eavt [e tuple])))\n (vec (repeat (-> db (dbi/-schema) (get tuple) :db/tupleAttrs count) nil)))\n tuple-value' (assoc tuple-value idx v)]\n (assoc queue tuple tuple-value')))\n\n(defn- queue-tuples\n \"Assuming the attribute we are concerned with is :a and its associated value is 'a',\n returns {:a+b+c [a nil nil], :a+d [a, nil]}\"\n [queue tuples db e v]\n (reduce-kv\n (fn [queue tuple idx]\n (queue-tuple queue tuple idx db e v))\n queue\n tuples))\n\n(defn validate-datom-upsert [db ^Datom datom]\n (when (dbu/is-attr? db (.-a datom) :db/unique)\n (when-let [old (first (dbi/datoms db :avet [(.-a datom) (.-v datom)]))]\n (when-not (= (.-e datom) (.-e ^Datom old))\n (raise \"Cannot add \" datom \" because of unique constraint: \" old\n {:error :transact/unique\n :attribute (.-a datom)\n :datom datom})))))\n\n(defn- with-datom-upsert [db ^Datom datom]\n (validate-datom-upsert db datom)\n (let [indexing? (dbu/indexing? db (.-a datom))\n {a-ident :ident} (dbu/attr-info db (.-a datom))\n schema? (ds/schema-attr? a-ident)\n keep-history? (and (dbi/-keep-history? db) (not (dbu/no-history? db a-ident))\n (not= :db/txInstant a-ident))\n op-count (:op-count db)\n old-datom (first (di/-slice (:eavt db)\n (dd/datom (.-e datom) (.-a datom) nil (.-tx datom))\n (dd/datom (.-e datom) (.-a datom) nil (.-tx datom))\n :eavt))]\n (cond-> db\n ;; Optimistic removal of the schema entry (because we don't know whether it is already present or not)\n schema? (try\n (-> db (remove-schema datom) update-rschema)\n (catch ExceptionInfo _e\n db))\n\n keep-history? (update-in [:temporal-eavt] #(di/-temporal-upsert % datom :eavt op-count old-datom))\n true (update-in [:eavt] #(di/-upsert % datom :eavt op-count old-datom))\n\n keep-history? (update-in [:temporal-aevt] #(di/-temporal-upsert % datom :aevt op-count old-datom))\n true (update-in [:aevt] #(di/-upsert % datom :aevt op-count old-datom))\n\n (and keep-history? indexing?) (update-in [:temporal-avet] #(di/-temporal-upsert % datom :avet op-count old-datom))\n indexing? (update-in [:avet] #(di/-upsert % datom :avet op-count old-datom))\n\n true (update :op-count inc)\n true (advance-max-eid (.-e datom))\n true (update :hash + (hash datom))\n schema? (-> (update-schema datom) update-rschema))))\n\n(defn- transact-report\n ([report datom] (transact-report report datom false))\n ([report datom upsert?]\n (let [db (:db-after report)\n a (:a datom)\n update-fn (if upsert? with-datom-upsert with-datom)\n report' (-> report\n (update-in [:db-after] update-fn datom)\n (update-in [:tx-data] conj datom))]\n (if (dbu/tuple-source? db a)\n (let [e (:e datom)\n v (if (datom-added datom) (:v datom) nil)\n queue (or (-> report' ::queued-tuples (get e)) {})\n tuples (get (dbi/-attrs-by db :db/attrTuples) a)\n queue' (queue-tuples queue tuples db e v)]\n (update report' ::queued-tuples assoc e queue'))\n report'))))\n\n(defn- check-upsert-conflict [entity acc]\n (let [[e a v] acc\n _e (:db/id entity)]\n (if (or (nil? _e)\n (tempid? _e)\n (nil? acc)\n (== _e e))\n acc\n (raise \"Conflicting upsert: \" [a v] \" resolves to \" e\n \", but entity already has :db/id \" _e\n {:error :transact/upsert\n :entity entity\n :assertion acc}))))\n\n(defn- upsert-eid [db entity tempids] ;; TODO: adjust to datascript?\n (when-let [unique-idents (not-empty (dbi/-attrs-by db :db.unique/identity))]\n (let [unique-tuple-idents (clojure.set/intersection\n (dbi/-attrs-by db :db.type/tuple)\n unique-idents)\n found-eav\n (reduce-kv\n (fn [acc a-ident v-original] ;; acc = [e a v]\n (if-not (contains? unique-idents a-ident)\n acc\n (let [a (if (:attribute-refs? (dbi/-config db))\n (dbi/-ref-for db a-ident)\n a-ident)\n tempid-val (and (dbu/ref? db a-ident) (tempid? v-original))\n v (if tempid-val\n (tempids v-original)\n v-original)]\n (if-some [e (when v\n (validate-val v [nil nil a v nil] db)\n (:e (first (dbi/datoms db :avet [a v]))))]\n (cond\n (nil? acc) [e a v] ;; first upsert\n (= (get acc 0) e) acc ;; second+ upsert, but does not conflict\n :else\n (let [[_e _a _v] acc]\n (raise \"Conflicting upserts: \" [_a _v] \" resolves to \" _e\n \", but \" [a v] \" resolves to \" e\n {:error :transact/upsert\n :entity entity\n :assertion [e a v]\n :conflict [_e _a _v]})))\n acc)))) ;; upsert attr, but resolves to nothing ;; non-upsert attr\n nil\n entity)\n\n found-eav-including-composite-tuples\n (reduce\n (fn [acc a-tuple]\n (let [tuple-attrs (get-in (dbi/-schema db) [a-tuple :db/tupleAttrs])\n contains-tuple-attrs? (clojure.set/subset?\n (set tuple-attrs)\n (set (keys entity)))\n tuple-contains-tempids? (and contains-tuple-attrs?\n (some (fn [a] (and (dbu/ref? db a)\n (tempid? (get entity a))))\n tuple-attrs))\n v-tuple (and contains-tuple-attrs?\n (not tuple-contains-tempids?)\n (mapv (fn [a]\n (let [v (get entity a)]\n (validate-val v [nil nil a v nil] db)\n (if (dbu/ref? db a)\n (dbu/entid-strict db v)\n v)))\n tuple-attrs))]\n (if-let [e (and contains-tuple-attrs?\n (not tuple-contains-tempids?)\n (:e (first (dbi/datoms db :avet [a-tuple v-tuple]))))]\n (cond\n (nil? acc) [e a-tuple v-tuple] ;; first upsert\n (= (get acc 0) e) acc ;; second+ upsert, but does not conflict\n :else\n (let [[_e _a _v] acc]\n (raise \"Conflicting upserts: \" [_a _v] \" resolves to \" _e\n \", but \" [a-tuple v-tuple] \" resolves to \" e\n {:error :transact/upsert\n :entity entity\n :assertion [e a-tuple v-tuple]\n :conflict [_e _a _v]})))\n acc))) ;; upsert attr, but resolves to nothing ;; non-upsert attr\n found-eav\n unique-tuple-idents)]\n (->> found-eav-including-composite-tuples\n (check-upsert-conflict entity)\n first)))) ;; getting eid from acc\n\n;; multivals/reverse can be specified as coll or as a single value, trying to guess\n(defn- maybe-wrap-multival [db a-ident vs]\n (cond\n ;; not a multival context\n (not (or (dbu/reverse-ref? a-ident)\n (dbu/multival? db a-ident)))\n [vs]\n\n ;; not a collection at all, so definitely a single value\n (not (or (arrays/array? vs)\n (and (coll? vs) (not (map? vs)))))\n [vs]\n\n ;; probably lookup ref, but not an entity spec\n (and (= (count vs) 2)\n (keyword? (first vs))\n (dbu/is-attr? db (first vs) :db.unique/identity)\n (not (ds/entity-spec-attr? a-ident)))\n [vs]\n\n :else vs))\n\n(defn- explode [db entity]\n (let [eid (:db/id entity)\n attribute-refs? (:attribute-refs? (dbi/-config db))\n _ (when (and attribute-refs? (contains? (dbi/-system-entities db) eid))\n (raise \"Entity with ID \" eid \" is a system attribute \" (dbi/-ident-for db eid) \" and cannot be changed\"\n {:error :transact/syntax, :eid eid, :attribute (dbi/-ident-for db eid) :context entity}))\n ensure (:db/ensure entity)\n entities (for [[a-ident vs] entity\n :when (not (or (= a-ident :db/id) (= a-ident :db/ensure)))\n :let [_ (dbu/validate-attr-ident a-ident {:db/id eid, a-ident vs} db)\n reverse? (dbu/reverse-ref? a-ident)\n straight-a-ident (if reverse? (dbu/reverse-ref a-ident) a-ident)\n straight-a (if attribute-refs?\n (dbi/-ref-for db straight-a-ident) ;; translation to datom format\n straight-a-ident)\n _ (when (and reverse? (not (dbu/ref? db straight-a-ident)))\n (raise \"Bad attribute \" a-ident \": reverse attribute name requires {:db/valueType :db.type/ref} in schema\"\n {:error :transact/syntax, :attribute a-ident, :context {:db/id eid, a-ident vs}}))]\n v (maybe-wrap-multival db a-ident vs)]\n (if (and (dbu/ref? db straight-a-ident) (map? v)) ;; another entity specified as nested map\n (assoc v (dbu/reverse-ref a-ident) eid)\n (if reverse?\n [:db/add v straight-a eid]\n [:db/add eid straight-a\n (if (and attribute-refs?\n (dbu/is-attr? db straight-a-ident :db/systemAttribRef)\n (ds/is-system-keyword? v)) ;; translation of system enums\n (dbi/-ref-for db v)\n v)])))]\n (if ensure\n (let [{:keys [:db.entity/attrs :db.entity/preds]} (-> db :schema ensure)]\n (if (empty? attrs)\n (if (empty? preds)\n entities\n (concat entities [[:db.ensure/preds eid ensure preds]]))\n (if (empty? preds)\n (concat entities [[:db.ensure/attrs eid ensure attrs]])\n (concat entities [[:db.ensure/attrs eid ensure attrs]\n [:db.ensure/preds eid ensure preds]]))))\n entities)))\n\n(defn- transact-add [{:keys [db-after] :as report} [_ e a v tx :as ent]]\n (let [a (dbu/normalize-and-validate-attr a ent db-after)\n _ (validate-val v ent db-after)\n attribute-refs? (:attribute-refs? (dbi/-config db-after))\n tx (or tx (current-tx report))\n db db-after\n e (dbu/entid-strict db e)\n a-ident (if attribute-refs? (dbi/-ident-for db a) a)\n v (if (dbu/ref? db a-ident) (dbu/entid-strict db v) v)\n new-datom (datom e a v tx)\n upsert? (not (dbu/multival? db a))]\n (transact-report report new-datom upsert?)))\n\n(defn- transact-retract-datom\n ([report ^Datom d] (transact-retract-datom report d false))\n ([report ^Datom d keep-tx-id]\n (let [txid (or (and keep-tx-id (datom-tx d)) (current-tx report))]\n (transact-report report (datom (.-e d) (.-a d) (.-v d) txid false)))))\n\n(defn- transact-purge-datom [report ^Datom d]\n (update-in report [:db-after] with-temporal-datom d))\n\n(defn- retract-components [db datoms]\n (into #{} (comp\n (filter (fn [^Datom d] (dbu/component? db (.-a d))))\n (map (fn [^Datom d] [:db.fn/retractEntity (.-v d)]))) datoms))\n\n(defn- purge-components [db datoms]\n (let [xf (comp\n (filter (fn [^Datom d] (dbu/component? db (.-a d))))\n (map (fn [^Datom d] [:db.purge/entity (.-v d)])))]\n (into #{} xf datoms)))\n\n(declare transact-tx-data)\n\n(defn- retry-with-tempid [initial-report report es tempid upserted-eid]\n (if (contains? (:tempids initial-report) tempid)\n (raise \"Conflicting upsert: \" tempid \" resolves\"\n \" both to \" upserted-eid \" and \" (get-in initial-report [:tempids tempid])\n {:error :transact/upsert})\n ;; try to re-run from the beginning\n ;; but remembering that `tempid` will resolve to `upserted-eid`\n (let [tempids' (-> (:tempids report)\n (assoc tempid upserted-eid))\n report' (assoc initial-report :tempids tempids')]\n (transact-tx-data report' es))))\n\n(defn assert-preds [db [_ e _ preds]]\n #?(:cljs (throw (ex-info \"tx predicate resolution is not supported in cljs at this time\" {:e e :preds preds}))\n :clj\n (reduce\n (fn [coll pred]\n (if ((resolve pred) db e)\n coll\n (conj coll pred)))\n #{} preds)))\n\n(def builtin-op?\n #{:db.fn/call\n :db.fn/cas\n :db/cas\n :db/add\n :db/retract\n :db.fn/retractAttribute\n :db.fn/retractEntity\n :db/retractEntity\n :db/purge\n :db.ensure/attrs\n :db.ensure/preds\n :db.purge/entity\n :db.purge/attribute\n :db.history.purge/before})\n\n(defn flush-tuples\n \"Generates all the add or retract operations needed for updating the states of composite tuples.\n E.g., if '::queued-tuples' contains {100 {:a+b+c [123 nil nil]}}, this function creates this vector [:db/add 100 :a+b+c [123 nil nil]]\"\n [report]\n (let [db (:db-after report)]\n (reduce-kv\n (fn [entities eid tuples+values]\n (reduce-kv\n (fn [entities tuple value]\n (let [value (if (every? nil? value) nil value)\n current (:v (first (dbi/datoms db :eavt [eid tuple])))]\n (cond\n (= value current) entities\n ;; adds ::internal to meta-data to mean that these datoms were generated internally.\n (nil? value) (conj entities ^::internal [:db/retract eid tuple current])\n :else (conj entities ^::internal [:db/add eid tuple value]))))\n entities\n tuples+values))\n []\n (::queued-tuples report))))\n\n(defn flush-tx-meta\n \"Generates add-operations for transaction meta data.\"\n [{:keys [tx-meta db-before] :as report}]\n (let [;; tx-meta (merge {:db/txInstant (get-date)} tx-meta)\n tid (current-tx report)\n {:keys [attribute-refs?]} (dbi/-config db-before)]\n (reduce-kv\n (fn [entities attribute value]\n (let [straight-a (if attribute-refs? (dbi/-ref-for db-before attribute) attribute)]\n (if (some? straight-a)\n (conj entities\n [:db/add\n tid\n straight-a\n value\n tid])\n (raise \"Bad transaction meta attribute \" attribute \" at \" tx-meta \", not defined in system or current schema\"\n {:error :transact/schema :attribute attribute :context tx-meta}))))\n []\n tx-meta)))\n\n(defn check-schema-update [db entity new-eid]\n (when (ds/schema-entity? entity)\n (when (and (contains? entity :db/ident)\n (ds/is-system-keyword? (:db/ident entity)))\n (raise \"Using namespace 'db' for attribute identifiers is not allowed\"\n {:error :transact/schema :entity entity}))\n (if-let [attr-name (get-in db [:schema new-eid])]\n (when-let [invalid-updates (ds/find-invalid-schema-updates entity (get-in db [:schema attr-name]))]\n (when-not (empty? invalid-updates)\n (raise \"Update not supported for these schema attributes\"\n {:error :transact/schema :entity entity :invalid-updates invalid-updates})))\n (when (= :write (get-in db [:config :schema-flexibility]))\n (when (or (:db/cardinality entity) (:db/valueType entity))\n (when-not (ds/schema? entity)\n (raise \"Incomplete schema transaction attributes, expected :db/ident, :db/valueType, :db/cardinality\"\n {:error :transact/schema :entity entity})))))))\n\n(defn entity-map->op-vec [db {:keys [tempids] :as report} entity]\n (let [old-eid (:db/id entity)\n tx? (tx-id? old-eid) ;; :db/current-tx / \"datomic.tx\"\n resolved-eid (cond tx? (current-tx report)\n (sequential? old-eid) (dbu/entid-strict db old-eid)\n :else old-eid)\n updated-entity (assoc entity :db/id resolved-eid)\n updated-report (cond-> report\n tx? (allocate-eid old-eid resolved-eid))\n resolved-tempid (tempids resolved-eid)\n upserted-eid (upsert-eid db updated-entity tempids)]\n (if (and (some? upserted-eid)\n resolved-tempid\n (not= upserted-eid resolved-tempid))\n {:retry? true :old-eid resolved-eid :upserted-eid upserted-eid}\n (let [new-eid (cond\n (some? upserted-eid) upserted-eid\n (nil? resolved-eid) (next-eid db)\n (tempid? resolved-eid) (or resolved-tempid (next-eid db))\n (number? resolved-eid) resolved-eid\n :else (raise \"Expected number, string or lookup ref for :db/id, got \" old-eid\n {:error :entity-id/syntax, :entity updated-entity}))\n new-entity (assoc updated-entity :db/id new-eid)]\n (check-schema-update db updated-entity new-eid)\n {:new-report (allocate-eid updated-report resolved-eid new-eid)\n :new-entities (explode db new-entity)}))))\n\n(defn compare-and-swap [db report op-vec]\n (let [[_ e a ov nv] op-vec\n e (dbu/entid-strict db e)\n _ (dbu/validate-attr a op-vec db)\n nv (if (dbu/ref? db a) (dbu/entid-strict db nv) nv)\n datoms (dbi/search db [e a])]\n (if (nil? ov)\n (if (empty? datoms)\n [(transact-add report [:db/add e a nv]) []]\n (raise \":db.fn/cas failed on datom [\" e \" \" a \" \" (if (dbu/multival? db a) (map :v datoms) (:v (first datoms))) \"], expected nil\"\n {:error :transact/cas, :old (if (dbu/multival? db a) datoms (first datoms)), :expected ov, :new nv}))\n (let [ov (if (dbu/ref? db a) (dbu/entid-strict db ov) ov)]\n (validate-val nv op-vec db)\n (if (dbu/multival? db a)\n (if (some (fn [^Datom d] (= (.-v d) ov)) datoms)\n [(transact-add report [:db/add e a nv]) []]\n (raise \":db.fn/cas failed on datom [\" e \" \" a \" \" (map :v datoms) \"], expected \" ov\n {:error :transact/cas, :old datoms, :expected ov, :new nv}))\n (let [v (:v (first datoms))]\n (if (= v ov)\n [(transact-add report [:db/add e a nv]) []]\n (raise \":db.fn/cas failed on datom [\" e \" \" a \" \" v \"], expected \" ov\n {:error :transact/cas, :old (first datoms), :expected ov, :new nv}))))))))\n\n(defn retract-entity [db report op-vec]\n (let [[_ e] op-vec]\n (if-let [e (dbu/entid db e)]\n (let [e-datoms (vec (dbi/search db [e]))\n v-datoms (->> (dbi/-attrs-by db :db.type/ref)\n (map (partial dbi/-ident-for db))\n (mapcat (fn [a] (dbi/search db [nil a e])))\n vec)]\n [(reduce transact-retract-datom report (concat e-datoms v-datoms))\n (retract-components db e-datoms)])\n [report []])))\n\n(defn check-tuple [db op-vec]\n (let [[_ _ a v] op-vec\n attr-schema (-> db dbi/-schema (get a))]\n (cond (:db/tupleType attr-schema)\n (cond (> (count v) 8)\n (raise \"Cannot store more than 8 values for homogeneous tuple: \" op-vec\n {:error :transact/syntax, :tx-data op-vec})\n\n (not (apply = (map type v)))\n (raise \"Cannot store homogeneous tuple with values of different type: \" op-vec\n {:error :transact/syntax, :tx-data op-vec})\n\n (not (s/valid? (-> db dbi/-schema a :db/tupleType) (first v)))\n (raise \"Cannot store homogeneous tuple. Values are of wrong type: \" op-vec\n {:error :transact/syntax, :tx-data op-vec}))\n (:db/tupleTypes attr-schema)\n (cond (not (= (count v) (count (:db/tupleTypes attr-schema))))\n (raise (str \"Cannot store heterogeneous tuple: expecting \" (count (:db/tupleTypes attr-schema)) \" values, got \" (count v))\n {:error :transact/syntax, :tx-data op-vec})\n\n (not (apply = (map s/valid? (:db/tupleTypes attr-schema) v)))\n (raise (str \"Cannot store heterogeneous tuple: there is a mismatch between values \" v \" and their types \" (:db/tupleTypes attr-schema))\n {:error :transact/syntax, :tx-data op-vec}))\n (and (:db/tupleAttrs attr-schema)\n (not (::internal (meta op-vec))))\n (raise \"Can\u2019t modify tuple attrs directly: \" op-vec\n {:error :transact/syntax, :tx-data op-vec}))))\n\n(defn- filter-before [datoms ^Date before-date db]\n (let [before-pred (fn [^Datom d]\n (.before ^Date (.-v d) before-date))\n filtered-tx-ids (dbu/filter-txInstant datoms before-pred db)]\n (filter\n (fn [^Datom d]\n (contains? filtered-tx-ids (datom-tx d)))\n datoms)))\n\n(defn apply-db-op [db report op-vec]\n (let [[op e a v] op-vec]\n (case op\n\n :db/add [(transact-add report op-vec) []]\n\n :db/retract (if-some [e (dbu/entid db e)]\n (let [a (dbu/normalize-and-validate-attr a op-vec db)\n pattern (if (nil? v)\n [e a]\n (let [v (if (dbu/ref? db a) (dbu/entid-strict db v) v)]\n (validate-val v op-vec db)\n [e a v]))\n datoms (vec (dbi/search db pattern))]\n [(reduce transact-retract-datom report datoms) []])\n [report []])\n\n :db.fn/retractAttribute (if-let [e (dbu/entid db e)]\n (let [a (dbu/normalize-and-validate-attr a op-vec db)\n datoms (vec (dbi/search db [e a]))]\n [(reduce transact-retract-datom report datoms)\n (retract-components db datoms)])\n [report []])\n\n :db.fn/retractEntity (retract-entity db report op-vec)\n\n :db/retractEntity (retract-entity db report op-vec)\n\n :db/purge (if (dbi/-keep-history? db)\n (let [history (HistoricalDB. db)]\n (if-some [e (dbu/entid history e)]\n (let [v (if (dbu/ref? history a) (dbu/entid-strict history v) v)\n old-datoms (dbi/search history [e a v])]\n [(reduce transact-purge-datom report old-datoms) []])\n (raise \"Can't find entity with ID \" e \" to be purged\"\n {:error :transact/purge, :operation op, :tx-data op-vec})))\n (raise \"Purge is only available in temporal databases.\"\n {:error :transact/purge :operation op :tx-data op-vec}))\n\n :db.purge/attribute (if (dbi/-keep-history? db)\n (let [history (HistoricalDB. db)]\n (if-let [e (dbu/entid history e)]\n (let [datoms (vec (dbi/search history [e a]))]\n [(reduce transact-purge-datom report datoms)\n (purge-components history datoms)])\n (raise \"Can't find entity with ID \" e \" to be purged\"\n {:error :transact/purge, :operation op, :tx-data op-vec})))\n (raise \"Purge attribute is only available in temporal databases.\"\n {:error :transact/purge :operation op :tx-data op-vec}))\n\n :db.purge/entity (if (dbi/-keep-history? db)\n (let [history (HistoricalDB. db)]\n (if-let [e (dbu/entid history e)]\n (let [e-datoms (vec (dbi/search history [e]))\n v-datoms (vec (mapcat (fn [a] (dbi/search history [nil a e]))\n (dbi/-attrs-by history :db.type/ref)))]\n [(reduce transact-purge-datom report (concat e-datoms v-datoms))\n (purge-components history e-datoms)])\n (raise \"Can't find entity with ID \" e \" to be purged\"\n {:error :transact/purge, :operation op, :tx-data op-vec})))\n (raise \"Purge entity is only available in temporal databases.\"\n {:error :transact/purge :operation op :tx-data op-vec}))\n\n :db.history.purge/before (if (dbi/-keep-history? db)\n (let [history (HistoricalDB. db)\n into-sorted-set #(apply sorted-set-by dd/cmp-datoms-eavt-quick %)\n e-datoms (-> (clojure.set/difference\n (into-sorted-set (dbs/search-temporal-indices db nil))\n (into-sorted-set (dbs/search-current-indices db nil)))\n (filter-before e db)\n vec)]\n [(reduce transact-purge-datom report e-datoms)\n (purge-components history e-datoms)])\n (raise \"Purge entity is only available in temporal databases.\"\n {:error :transact/purge :operation op :tx-data op-vec}))\n\n :db.ensure/attrs (let [{:keys [tx-data]} report\n asserting-datoms (filter (fn [^Datom d] (= e (.-e d))) tx-data)\n asserting-attributes (map (fn [^Datom d] (.-a d)) asserting-datoms)\n diff (clojure.set/difference (set v) (set asserting-attributes))]\n (if (empty? diff)\n [report []]\n (raise \"Entity \" e \" missing attributes \" diff \" of spec \" a\n {:error :transact/ensure :operation op :tx-data op-vec\n :asserting-datoms asserting-datoms})))\n\n :db.ensure/preds (let [{:keys [db-after]} report\n preds (assert-preds db-after op-vec)]\n (if-not (empty? preds)\n (raise \"Entity \" e \" failed predicates \" preds \" of spec \" a\n {:error :transact/ensure :operation op :tx-data op-vec})\n [report []]))\n\n :db.fn/cas (compare-and-swap db report op-vec)\n\n :db/cas (compare-and-swap db report op-vec)\n\n :db.fn/call (let [[_ f & args] op-vec]\n [report (apply f db args)])\n\n (if (and (keyword? op)\n (not (builtin-op? op)))\n (if-some [ident (dbu/entid db op)]\n (let [fun (-> (dbi/search db [ident :db/fn]) first :v)\n args (next op-vec)]\n (if (fn? fun)\n [report (apply fun db args)]\n (raise \"Entity \" op \" expected to have :db/fn attribute with fn? value\"\n {:error :transact/syntax, :operation :db.fn/call, :tx-data op-vec})))\n (raise \"Can\u2019t find entity for transaction fn \" op\n {:error :transact/syntax, :operation :db.fn/call, :tx-data op-vec}))\n (raise (str \"Unknown operation at \" op-vec \", expected \" (str/join \",\" builtin-op?)\n \" or an ident corresponding to an installed transaction function\"\n \" (e.g. {:db/ident <keyword> :db/fn <Ifn>}, usage of :db/ident requires {:db/unique :db.unique/identity} in schema)\")\n {:error :transact/syntax, :operation op, :tx-data op-vec})))))\n\n(defn transact-tx-data [{:keys [db-before] :as initial-report} initial-es]\n (when-not (or (nil? initial-es)\n (sequential? initial-es))\n (raise \"Bad transaction data \" initial-es \", expected sequential collection\"\n {:error :transact/syntax, :tx-data initial-es}))\n (let [has-tuples? (seq (dbi/-attrs-by (:db-after initial-report) :db.type/tuple))\n initial-es' (if has-tuples?\n (interleave initial-es (repeat ::flush-tuples))\n initial-es)\n initial-report (update initial-report :tx-meta\n #(merge {:db/txInstant (get-date)} %))\n meta-entities (flush-tx-meta initial-report)]\n (loop [report (update initial-report :db-after transient)\n es (if (dbi/-keep-history? db-before)\n (concat meta-entities\n initial-es')\n initial-es')]\n (let [[entity & entities] es\n {:keys [tempids db-after]} report\n db db-after]\n (cond\n (empty? es)\n (-> report\n (assoc-in [:tempids :db/current-tx] (current-tx report))\n (update-in [:db-after :max-tx] inc)\n (update :db-after persistent!))\n\n (nil? entity)\n (recur report entities)\n\n (= ::flush-tuples entity)\n (if (contains? report ::queued-tuples)\n (recur\n (dissoc report ::queued-tuples)\n (concat (flush-tuples report) entities))\n (recur report entities))\n\n (map? entity)\n (let [{:keys [new-report new-entities retry? old-eid upserted-eid]} (entity-map->op-vec db report entity)]\n (if retry?\n (retry-with-tempid initial-report report initial-es old-eid upserted-eid)\n (recur new-report (concat new-entities entities))))\n\n (sequential? entity)\n (let [[op e a v] entity]\n (when (dbu/tuple? db a)\n (check-tuple db entity))\n (cond\n\n (tx-id? e)\n (recur (allocate-eid report e (current-tx report)) (cons [op (current-tx report) a v] entities))\n\n (and (dbu/ref? db a) (tx-id? v))\n (recur (allocate-eid report v (current-tx report)) (cons [op e a (current-tx report)] entities))\n\n (tempid? e)\n (if (not= op :db/add)\n (raise \"Can't use tempid in '\" entity \"'. Tempids are allowed in :db/add only\"\n {:error :transact/syntax, :op entity})\n (let [upserted-eid (when (dbu/is-attr? db a :db.unique/identity)\n (:e (first (dbi/datoms db :avet [a v]))))\n allocated-eid (get tempids e)]\n (if (and upserted-eid allocated-eid (not= upserted-eid allocated-eid))\n (retry-with-tempid initial-report report initial-es e upserted-eid)\n (let [eid (or upserted-eid allocated-eid (next-eid db))]\n (recur (allocate-eid report e eid) (cons [op eid a v] entities))))))\n\n (and (dbu/ref? db a) (tempid? v))\n (if-let [vid (get tempids v)]\n (recur report (cons [op e a vid] entities))\n (recur (allocate-eid report v (next-eid db)) es))\n\n :else\n (let [[new-report new-entities] (apply-db-op db report entity)]\n (recur new-report (concat new-entities entities)))))\n\n (datom? entity)\n (let [[e a v tx added] entity]\n (if added\n (recur (transact-add report [:db/add e a v tx]) entities)\n (recur (transact-retract-datom report entity true) entities)))\n\n :else\n (raise \"Bad entity type at \" entity \", expected map or vector\"\n {:error :transact/syntax, :tx-data entity}))))))\n\n(defn transact-entities-directly [initial-report initial-es]\n (loop [report (update initial-report :db-after transient)\n es initial-es\n migration-state (or (get-in initial-report [:db-before :migration]) {})]\n (let [[entity & entities] es\n {:keys [config] :as db} (:db-after report)\n [e a v t op] entity\n a-ident (if (and (number? a) (:attribute-refs? config))\n (dbi/-ident-for db a)\n a)\n a (if (:attribute-refs? config)\n (dbi/-ref-for db a-ident)\n (if (number? a)\n (raise \"Configuration mismatch: import data with attribute references can not be imported into a database with no attribute references.\"\n {:error :import/mismatch :data entity})\n a-ident))\n max-eid (next-eid db)\n max-tid (inc (get-in report [:db-after :max-tx]))]\n (cond\n (empty? es)\n (-> report\n (update-in [:db-after :max-tx] inc)\n (update-in [:db-after :migration] #(if %\n (merge % migration-state)\n migration-state))\n (update :db-after persistent!))\n\n (= :db.install/attribute a-ident)\n (recur report entities migration-state)\n\n ;; meta entity\n (ds/meta-attr? a-ident)\n (let [new-t (get-in migration-state [:tids t] max-tid)\n new-datom (dd/datom new-t a v new-t op)\n new-e (.-e new-datom)\n upsert? (not (dbu/multival? db a-ident))]\n (recur (-> (transact-report report new-datom upsert?)\n (assoc-in [:db-after :max-tx] max-tid))\n entities\n (-> migration-state\n (assoc-in [:tids e] new-e)\n (assoc-in [:eids e] new-e))))\n\n ;; tx not added yet\n (nil? (get-in migration-state [:tids t]))\n (recur (update-in report [:db-after :max-tx] inc) es (assoc-in migration-state [:tids t] max-tid))\n\n ;; ref not added yet\n (and (dbu/ref? db a) (nil? (get-in migration-state [:eids v])))\n (recur (allocate-eid report max-eid) es (assoc-in migration-state [:eids v] max-eid))\n\n :else\n (let [new-datom ^Datom (dd/datom\n (or (get-in migration-state [:eids e]) max-eid)\n a\n (if (dbu/ref? db a)\n (get-in migration-state [:eids v])\n v)\n (get-in migration-state [:tids t])\n op)\n upsert? (and (not (dbu/multival? db a-ident))\n op)]\n (recur (transact-report report new-datom upsert?) entities (assoc-in migration-state [:eids e] (.-e new-datom))))))))\n"]}