Infinite loop in rule solver
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- clojure, javascript
- Ambito
- databases
Direzione di ricerca
Inizia eseguendo la riproduzione fornita di ds.db_with, ds.q e rules, quindi confrontala con l’esempio di chiusura transitiva nel README. Segui il risolutore di regole raggiunto da ds.q e verifica che questa query di regola ricorsiva termini e restituisca i risultati friends attesi.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The following code will result in the query hanging
var ds = require("datascript")
var db = ds.db_with(ds.empty_db(), [
{
"left": "aaron",
"right": "barbara"
},
{
"left": "aaron",
"right": "chris"
}
])
var rules = `[
[
(friends ?a ?b)
[?i "left" ?a]
[?i "right" ?b]
]
[
(friends ?a ?b)
(friends ?a ?c)
(friends ?c ?b)
]
]`
console.log(ds.q(`[:find ?a ?b :in $ % :where (friends ?a ?b)]`, db, rules))
It's fairly similar to the transitive closure example in the README, but it uses an additional call to the rule in the non-base case. My understanding is that datalog queries should always terminate, so apologies if this isn't actually a bug.
- Lingua principale
- Clojure
- Stelle
- 5.8k
- Fork
- 318
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di tonsky/datascript
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
tonsky/datascript#498 · 1 commento ·
-
Datascript MCP Server Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 10/100
tonsky/datascript#489 ·
-
Stack overflow when transacting :db.type/tupleAttrs with a :db.type/ref attr through :db.fn/call Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
tonsky/datascript#483 · 2 commenti ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
tonsky/datascript#470 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
tonsky/datascript#441 · 1 commento · 3 reazioni ·
Tutte le issue di tonsky/datascript
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
-
.Team/Metabot Priority:P3
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
needs triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
scalar-labs/scalar-jepsen#222 · 1 commento ·