8000 test(compat): Wave 3 PR 6 — XTDB and Datomic compatibility test corpus (#221) by adityamukho · Pull Request #259 · project-minigraf/minigraf · GitHub
[go: up one dir, main page]

Skip to content

test(compat): Wave 3 PR 6 — XTDB and Datomic compatibility test corpus (#221) - #259

Merged
adityamukho merged 4 commits into
mainfrom
wave3/pr6-compat
May 17, 2026
Merged

adityamukho merged 4 commits into
mainfrom
wave3/pr6-compat

Conversation

@adityamukho
Copy link
Copy Markdown
Collaborator

Wave 3 PR 6 — XTDB/Datomic Compatibility Corpus

Closes #221.

XTDB (tests/xtdb_compat_test.rs) — 10 tests

License: XTDB is Apache 2.0. Tests are semantic ports of query concepts.

  • xtdb_basic_find_by_attribute_value — EAV attribute value lookup
  • xtdb_multi_attribute_join — multi-clause where filter
  • xtdb_entity_reference_join — keyword reference traversal
  • xtdb_retraction_removes_specific_fact — selective retraction
  • xtdb_retracted_fact_not_visible — retraction visibility
  • xtdb_as_of_returns_past_state — transaction-time travel (:as-of N :valid-at :any-valid-time)
  • xtdb_valid_at_query — valid-time range boundary (visible within window, invisible after)
  • xtdb_not_excludes_matching_entities — negation filter
  • xtdb_count_aggregate — count aggregate
  • xtdb_recursive_ancestor_rule — recursive transitive closure rule

Skipped: SQL compat, distributed tx, Arrow/Parquet, evict!, multi-node (5 cases, documented inline).

Datomic (tests/datomic_compat_test.rs) — 9 tests

License: independently written semantic ports — no code or literal test data from Datomic.

  • datomic_entity_attributes_are_independent_facts — datom model
  • datomic_multiple_entities_same_attribute — multiple entities with same attribute
  • datomic_transaction_time_as_of — :as-of by tx_count
  • datomic_retract_all_entity_facts — retract-entity equivalent
  • datomic_multi_variable_find — multi-variable :find
  • datomic_ground_value_binding — constant binding in :where
  • datomic_parameterized_query_prepared — prepared queries with $slot bindings
  • datomic_named_rule_reuse — reusable named rules (transitive closure)
  • datomic_predicate_expression_filter — [(>= ?a 18)] predicate expressions

Skipped: schema definition, pull API, d/history, d/datoms, excision, transactions-as-entities (6 cases, documented inline).

🤖 Generated with Claude Code

adityamukho and others added 4 commits May 17, 2026 08:14
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The test uses 3 separate entities (not one entity with multiple values),
so rename to datomic_multiple_entities_same_attribute.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@codecov
codecov Bot commented May 17, 2026
Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@adityamukho
adityamukho merged commit a629302 into main May 17, 2026
37 checks passed
@adityamukho
adityamukho deleted the wave3/pr6-compat branch May 17, 2026 02:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

test: import XTDB/Datomic compatibility test corpus

1 participant

0