Skip to content

Instantly share code, notes, and snippets.

@keithharper
Created January 27, 2023 17:50
Show Gist options
  • Save keithharper/2e8d1498d2176c3fcdb0311fc7180002 to your computer and use it in GitHub Desktop.
Save keithharper/2e8d1498d2176c3fcdb0311fc7180002 to your computer and use it in GitHub Desktop.
query-stats for scenario 2
(-> {:query '{:find [?album-name ?year]
:in [$ ?artist-name]
:where [[?artist :artist/name ?artist-name]
[?release :release/artists ?artist]
[?release :release/year ?year]
[(< ?year 1970)]
[?release :release/name ?album-name]]}
:args [db "John Lennon"]
:query-stats true}
d/query
:query-stats)
=>
{:query {:find [?album-name ?year],
:in [$ ?artist-name],
:where [[?artist :artist/name ?artist-name]
[?release :release/artists ?artist]
[?release :release/year ?year]
[(< ?year 1970)]
[?release :release/name ?album-name]]},
:phases [{:sched (([(ground $__in__2) ?artist-name]
[?artist :artist/name ?artist-name]
[?release :release/artists ?artist]
[?release :release/year ?year]
[(< ?year 1970)]
[?release :release/name ?album-name])),
:clauses [{:clause [(ground $__in__2) ?artist-name],
:rows-in 0,
:rows-out 1,
:binds-in (),
:binds-out [?artist-name],
:expansion 1}
{:clause [?artist :artist/name ?artist-name],
:rows-in 1,
:rows-out 1,
:binds-in [?artist-name],
:binds-out [?artist]}
{:clause [?release :release/artists ?artist],
:rows-in 1,
:rows-out 21,
:binds-in [?artist],
:binds-out [?release],
:expansion 20}
{:clause [?release :release/year ?year],
:rows-in 21,
:rows-out 3,
:binds-in [?release],
:binds-out [?year ?release],
:preds ([(< ?year 1970)])}
{:clause [?release :release/name ?album-name],
:rows-in 3,
:rows-out 3,
:binds-in [?year ?release],
:binds-out [?album-name ?year]}]}]}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment