public class QuerySplitter
extends java.lang.Object
Constructor and Description |
---|
QuerySplitter() |
Modifier and Type | Method and Description |
---|---|
static java.util.Map<java.util.Set<QualifiedName>,Symbol> |
split(Symbol symbol)
Splits a (function) symbol on
AND based on relation occurrences of RelationColumn
into multiple symbols. |
public static java.util.Map<java.util.Set<QualifiedName>,Symbol> split(Symbol symbol)
Splits a (function) symbol on AND
based on relation occurrences of RelationColumn
into multiple symbols.
This does not work with Field
Splittable down to single relation:
t1.x = 30 and ty2.y = 20 Output: set(t1) -> t1.x = 30 set(t2) -> t2.y = 20
Pairs of two relations:
t1.x = t2.x and t2.x = t3.x Output: set(t1, t2) -> t1.x = t2.x set(t2, t3) -> t2.x = t3.x
Mixed:
t1.x = 30 and t2.x = t3.x Output: set(t1) -> t1.x = 30 set(t2, t3) -> t2.x = t3.x