()
| 4990 | |
| 4991 | #[test] |
| 4992 | fn prune_utf8_not_like_one() { |
| 4993 | let (schema, statistics) = utf8_setup(); |
| 4994 | |
| 4995 | let expr = col("s1").not_like(lit("A\u{10ffff}_")); |
| 4996 | #[rustfmt::skip] |
| 4997 | let expected_ret = &[ |
| 4998 | // s1 ["A", "Z"] ==> some rows could pass (must keep) |
| 4999 | true, |
| 5000 | // s1 ["A", "L"] ==> some rows could pass (must keep) |
| 5001 | true, |
| 5002 | // s1 ["N", "Z"] ==> some rows could pass (must keep) |
| 5003 | true, |
| 5004 | // s1 ["M", "M"] ==> some rows could pass (must keep) |
| 5005 | true, |
| 5006 | // s1 [NULL, NULL] ==> unknown (must keep) |
| 5007 | true, |
| 5008 | // s1 ["A", NULL] ==> some rows could pass (must keep) |
| 5009 | true, |
| 5010 | // s1 ["", "A"] ==> some rows could pass (must keep) |
| 5011 | true, |
| 5012 | // s1 ["", ""] ==> some rows could pass (must keep) |
| 5013 | true, |
| 5014 | // s1 ["AB", "A\u{10ffff}\u{10ffff}\u{10ffff}"] ==> some rows could pass (must keep) |
| 5015 | true, |
| 5016 | // s1 ["A\u{10ffff}\u{10ffff}", "A\u{10ffff}\u{10ffff}"] ==> no row match. (min, max) maybe truncate |
| 5017 | // original (min, max) maybe ("A\u{10ffff}\u{10ffff}\u{10ffff}", "A\u{10ffff}\u{10ffff}\u{10ffff}\u{10ffff}") |
| 5018 | true, |
| 5019 | ]; |
| 5020 | prune_with_expr(expr, &schema, &statistics, expected_ret); |
| 5021 | } |
| 5022 | |
| 5023 | #[test] |
| 5024 | fn prune_utf8_not_like_many() { |
nothing calls this directly
no test coverage detected
searching dependent graphs…