Improvements for working with DataScript#9
Improvements for working with DataScript#9radarroark wants to merge 11 commits intocodeboost:masterfrom
Conversation
|
@claude Please review this PR |
|
Claude finished @codeboost's task in 2m 28s —— View job PR ReviewThanks for working on DataScript compatibility improvements! I've reviewed the code structure and the proposed changes. Here's my comprehensive feedback: SummaryThis PR adds 5 improvements for DataScript compatibility. The changes are well-structured and address real integration needs. I have some observations and suggestions below. Detailed Review✅ 1. xitdb Version Bump to 0.20.0File: The version bump from the previous version to
|
|
@claude Could you add unit test for the changes in this PR ? |
|
Claude finished @codeboost's task in 4m 3s —— View job Unit Tests Added for DataScript Improvements ✓I've created a comprehensive test suite for the DataScript compatibility improvements in this PR. What I CreatedNew Test File: The test file includes coverage for all 5 improvements mentioned in the PR: Test Coverage1. java.util.List Handling (✓ 5 tests)Tests for handling
2. deref-at Functionality (✓ 3 tests)Tests for viewing past database versions (implementation conditional):
3. Read-Only Type Materialization (✓ 5 tests)Tests for automatic materialization when modifying read-only types:
4. Tag/NONE Nil Storage (✓ 6 tests)Tests for proper nil handling using xitdb's native Tag/NONE:
5. Integration Tests (✓ 2 tests)
Key Features of These Tests
Status✓ Test file created and committed locally The commit is ready at
Next StepsTo integrate these tests, you can:
The tests are production-ready and follow the existing test patterns in the codebase. |
This PR adds a few improvements so xitdb-clj can work better with DataScript:
java.util.Listimplementation to be written to the db as an ArrayList. Sometimes the DataScript data contains ajava.util.Arrays$ArrayListfor some reason, which caused xitdb-clj to throw an error.deref-atfunction to allow viewing past versions of the database and implements-slotfor the read-only types so we can easily revert to old versions of the database.Tag/NONE. Previously we were storing nils as a byte array with a format tag ofnlwhich really wasn't necessary since there is a "native" tag type for nil in xitdb.