Post #4398815
2026-07-24 22:11 UTC
@rntz@recurse.social Does that change the WCOJ tradeoffs at all? You can probably get something tighter than AGM if you know some joins are FK, but this is just because the referencing relation provides a cardinality bound for the join ouput.
I'm not familiar with anything specific...but then I haven't been keeping up with WCOJ lately. Otoh, I also wouldn't be surprised if I found out that the Theory folks didn't see it as an interesting space...
Replies (1)
-
@rntz@recurse.social 2026-07-24 22:29
@okennedy@discuss.systems here's a concrete example: O(g1, g2) G(g1, e1) G(g2, e2) E(e1, v) E(e2, v) FDs: G(g, e): g determines e uniquely E(e, v): e determines v uniquely so there are at most |O| results for this query. But, if my database is: E(e_1, v) ... E(e_n, v) G(g, e_1) ... G(g, e_n) and no O() facts at all there are no query results but a WCOJ can do n^2 > |O| work with variable order v, e1, e2, g1, g2: v <- {v : ∃e. E(e,v)} e1 <- {e : E(e,v) and ∃g. G(g,e)} e2 <- {e : E(e,v) and ∃g. G(g,e)} ...