core.logic

Add persistent memory tables

Details

  • Type: Enhancement Enhancement
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Completed
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: None
  • Labels:
    None
  • Patch:
    Code and Test

Description

Rels currently complect identity and value, and are not first class. This enhancement provides a single-arity relation as a first class persistent value. Equality (and hash code) is defined in terms of the ITableRel protocol, leaving the door open for alternative implementations.

The implementation provide in the attached patch is a hair faster than Rels in the single index case. The query strategy used in the multiple index case may or may not be faster than the one employed by Rels depending on the data. This could easily be made configurable, if desired.

Activity

Hide
David Nolen added a comment -

ThreatGRID has a really nice simple implementation going here that they are already using in production - http://github.com/threatgrid/pldb. We should probably just integrate it.

Show
David Nolen added a comment - ThreatGRID has a really nice simple implementation going here that they are already using in production - http://github.com/threatgrid/pldb. We should probably just integrate it.
Hide
Ivo Wever added a comment -
Show
Ivo Wever added a comment - Has been done in https://github.com/clojure/core.logic/commit/1375f34ef42ee6b288ccb110b5c8c4aeb87a39a9, which is included in latest release.
Hide
David Nolen added a comment -

Thanks for the bump.

Show
David Nolen added a comment - Thanks for the bump.

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated:
    Resolved: