Skip to content

Instantly share code, notes, and snippets.

@keithharper
Last active August 7, 2024 13:01
Show Gist options
  • Save keithharper/7931e836d51b453eb3ab43141685a3d2 to your computer and use it in GitHub Desktop.
Save keithharper/7931e836d51b453eb3ab43141685a3d2 to your computer and use it in GitHub Desktop.

Revisions

  1. keithharper revised this gist Jan 27, 2023. 1 changed file with 12 additions and 0 deletions.
    12 changes: 12 additions & 0 deletions query-stats-scenario1.edn
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,15 @@
    (-> {:query '{:find [?album-name ?year]
    :in [$ ?artist-name]
    :where [[?artist :artist/name ?artist-name]
    [?release :release/artists ?artist]
    [?release :release/name ?album-name]
    [?release :release/year ?year]
    [(< ?year 1970)]]}
    :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]
  2. keithharper created this gist Jan 27, 2023.
    41 changes: 41 additions & 0 deletions query-stats-scenario1.edn
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,41 @@
    {:query {:find [?album-name ?year],
    :in [$ ?artist-name],
    :where [[?artist :artist/name ?artist-name]
    [?release :release/artists ?artist]
    [?release :release/name ?album-name]
    [?release :release/year ?year]
    [(< ?year 1970)]]},
    :phases [{:sched (([(ground $__in__2) ?artist-name]
    [?artist :artist/name ?artist-name]
    [?release :release/artists ?artist]
    [?release :release/name ?album-name]
    [?release :release/year ?year]
    [(< ?year 1970)])),
    :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/name ?album-name],
    :rows-in 21,
    :rows-out 21,
    :binds-in [?release],
    :binds-out [?album-name ?release]}
    {:clause [?release :release/year ?year],
    :rows-in 21,
    :rows-out 3,
    :binds-in [?album-name ?release],
    :binds-out [?year ?album-name],
    :preds ([(< ?year 1970)])}]}]}