-
- Downloads
[QP, lib] Allow multiple arguments to `:contains`, `:starts-with`, etc. (#41958)
These string matching clauses only allowed two arguments previously. Typically `[:contains field x]` to match a field against a literal. This adds similar desugaring for `:contains`, `:does-not-contain`, `:starts-with` and `:ends-with` that is currently done for multi-argument `:=` and `:!=`: ```clojure [:contains field x y z] ;; -> [:or [:contains field x] [:contains field y] [:contains field z]] [:does-not-contain field x y z] ;; -> [:and [:does-not-contain field x] [:does-not-contain field y] [:does-not-contain field z]] ```
Showing
- src/metabase/legacy_mbql/normalize.cljc 9 additions, 2 deletionssrc/metabase/legacy_mbql/normalize.cljc
- src/metabase/legacy_mbql/schema.cljc 30 additions, 5 deletionssrc/metabase/legacy_mbql/schema.cljc
- src/metabase/legacy_mbql/util.cljc 27 additions, 7 deletionssrc/metabase/legacy_mbql/util.cljc
- src/metabase/lib/convert.cljc 22 additions, 0 deletionssrc/metabase/lib/convert.cljc
- src/metabase/lib/filter.cljc 40 additions, 28 deletionssrc/metabase/lib/filter.cljc
- src/metabase/lib/schema/filter.cljc 8 additions, 9 deletionssrc/metabase/lib/schema/filter.cljc
- src/metabase/lib/schema/mbql_clause.cljc 2 additions, 1 deletionsrc/metabase/lib/schema/mbql_clause.cljc
- test/metabase/legacy_mbql/util_test.cljc 30 additions, 6 deletionstest/metabase/legacy_mbql/util_test.cljc
- test/metabase/lib/convert_test.cljc 42 additions, 0 deletionstest/metabase/lib/convert_test.cljc
- test/metabase/lib/filter_test.cljc 6 additions, 1 deletiontest/metabase/lib/filter_test.cljc
- test/metabase/lib/js_test.cljs 27 additions, 0 deletionstest/metabase/lib/js_test.cljs
Please register or sign in to comment