Predicate pushdown support
Predicate structure
Currently, VAST Database allows pushing down filter predicate p of the following logical structure:
An
ANDbetween multiple column predicates:p = p1 & p2 & p3Within each column predicate
pi, anORbetween range predicates:ci = r1 | r2 | r3 | r4Each range predicate
rjis one of the following operators (where"x"is a column name, andcis a constant):comparison operator:
t["x"] < ct["x"] <= ct["x"] == ct["x"] > ct["x"] >= ct["x"] != c
is_inoperator:t["x"].isin([c1, c2, c3, c4, c5])
NULL checking:
t["x"].isnull()~t["x"].isnull()
Prefix match:
t["x"].startswith("prefix")
Substring match:
t["x"].contains("substr")
Column types
The following Arrow types support predicate pushdown:
int8int16int32int64float32float64utf8booldecimal128binarydate32time32time64timestamp