Releases: replikativ/datahike
Releases · replikativ/datahike
0.7.1642
Fix tuple value validation in search patterns (#774) Fixes retraction operations on entities with tuple attributes containing 3+ elements. Previously, retractEntity and explicit retracts would fail with validation errors when tuple values had more than 2 elements. The issue was reported on Slack by users trying to: - Retract entities with homogeneous tuples (e.g., string tuples with 3+ elements) - Retract entities with heterogeneous tuples (e.g., [instant, float, float]) - Perform database branch merges involving tuple value updates Root cause: The validate-pattern function in db/search.cljc only allowed vectors of exactly 2 elements in the value position, assuming they were lookup refs for :db.type/ref attributes. This rejected tuple values with 3+ elements. Fix: - Updated validate-pattern to accept db parameter for schema access - Added tuple-aware validation: vectors of any length are allowed when the attribute is a tuple type (checked via dbu/tuple?) - Updated all validate-pattern call sites to pass db - Updated get-search-strategy and search-strategy-with-index accordingly Testing: Added comprehensive tests for: - retractEntity with homogeneous tuples (3+ string elements) - retractEntity with heterogeneous tuples (instant + 2 floats) - Explicit retract operations with tuple values All tuple tests pass, and the fix enables the previously failing use cases from the Slack reports.
0.7.1641
chore(deps-dev): bump lodash from 4.17.21 to 4.17.23 (#771) Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23) --- updated-dependencies: - dependency-name: lodash dependency-version: 4.17.23 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
0.7.1640
Fix tuple schema transaction failing when :db/ident comes last (#773) Fixes #754 where tuple attribute schema transactions would fail with ClassCastException when :db/ident was positioned last in the attribute map. The issue was in attrTuples function (db/utils.cljc:321) which used the threading macro (-> schema tuple-attr :db/tupleAttrs). This expands to (tuple-attr schema), attempting to call the numeric temporary entity ID as a function when :db/ident is processed after other attributes. Changed to use get-in for safe map lookup instead of threading macro. Added regression test to verify tuple schemas work regardless of attribute ordering.
0.7.1639
Use konserve version with fixed release in tiered store.
0.7.1638
Use python3/pip3 explicitly in Python tests to fix CI PATH issues
0.7.1637
Add required store :id to libdatahike C++ test config
0.7.1635
Make database-exists? throw if store config is invalid (#770) * Make database-exists? throw if store config is invalid Fixes issue #769 * FIXUP require necessary deps * FIXUP try to make it work in clj and cljs * FIXUP improve readability --------- Co-authored-by: Jonas Östlund <[email protected]>
0.7.1634
Autogen pod API (#765) * Fix libdatahike C++ test to use correct function name The exported function is `q` (matching the API specification), not `query`. The test was calling an undeclared `query` function. * Refactor pod to use codegen from API specification - Add src/datahike/codegen/pod.clj with overlay pattern for pod-specific config - Generate pod functions at compile-time via macros instead of hand-written - Use create-commit-id for unique db IDs (fixes db-with cache collision) - Support variadic args (fix datoms spec to use [:* :any]) - Add :custom-fn overlay key for operations needing special handling (q) - Add comprehensive Clojure integration tests in test/datahike/test/pod_test.clj - Update bb pod tests to use variadic datoms syntax * Fix format. * Remove dead code from pod codegen - Remove unused resolve-db-in-args (q has inline implementation) - Remove unused make-resolver-bindings - Remove unused let bindings in generate-var-entry - Add missing clojure.set require with alias
0.7.1633
ci: fix pod examples readme (#767) * docs: fix cljdoc src-kabel * ci: update pod readme and examples with correct release ci: only make releases when native-image worked
0.7.1632
docs: fix cljdoc src-kabel (#766)