lazy_nonstrict_basic.sql 605 B

1234567891011121314151617
  1. USE plato;
  2. pragma yt.DisableOptimizers="OutHorizontalJoin,HorizontalJoin,MultiHorizontalJoin";
  3. $ns_tolower = ($x) -> (AssumeNonStrict(String::AsciiToLower($x)));
  4. $ns_toupper = ($x) -> (AssumeNonStrict(String::AsciiToUpper($x)));
  5. -- full block
  6. select * from Input where $ns_tolower(value) > "aaa" and subkey == "1";
  7. -- partial block due to lazy non-strict node
  8. select * from Input where subkey == "2" and $ns_toupper(value) <= "ZZZ";
  9. -- full block - same non strict is used in first arg of AND
  10. select * from Input where $ns_toupper(value) >= "AAA" and $ns_toupper(value) <= "ZZZ" and subkey == "3";