You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2022/12/09 12:17:53 UTC

[GitHub] [arrow-rs] tustvold opened a new pull request, #3306: Add ASCII fast path for ILIKE scalar (90% faster)

tustvold opened a new pull request, #3306:
URL: https://github.com/apache/arrow-rs/pull/3306

   # Which issue does this PR close?
   
   <!--
   We generally require a GitHub issue to be filed for all bug fixes and enhancements and this helps us generate change logs for our releases. You can link an issue to this PR using the GitHub syntax. For example `Closes #123` indicates that this PR will close issue #123.
   -->
   
   Closes #.
   
   # Rationale for this change
    
   <!--
   Why are you proposing this change? If this is already explained clearly in the issue then this section is not needed.
   Explaining clearly why changes are proposed helps reviewers understand your changes and offer better suggestions for fixes.
   -->
   
   ```
   ilike_utf8 scalar equals
                           time:   [225.98 µs 226.03 µs 226.09 µs]
                           change: [-89.949% -89.944% -89.940%] (p = 0.00 < 0.05)
                           Performance has improved.
   Found 10 outliers among 100 measurements (10.00%)
     5 (5.00%) high mild
     5 (5.00%) high severe
   
   Benchmarking ilike_utf8 scalar contains: Warming up for 3.0000 s
   Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 9.7s, enable flat sampling, or reduce sample count to 50.
   ilike_utf8 scalar contains
                           time:   [1.9238 ms 1.9246 ms 1.9256 ms]
                           change: [-53.605% -53.585% -53.563%] (p = 0.00 < 0.05)
                           Performance has improved.
   Found 8 outliers among 100 measurements (8.00%)
     7 (7.00%) high mild
     1 (1.00%) high severe
   
   ilike_utf8 scalar ends with
                           time:   [276.72 µs 276.83 µs 276.98 µs]
                           change: [-88.209% -88.194% -88.165%] (p = 0.00 < 0.05)
                           Performance has improved.
   Found 6 outliers among 100 measurements (6.00%)
     3 (3.00%) high mild
     3 (3.00%) high severe
   
   ilike_utf8 scalar starts with
                           time:   [2.3585 ms 2.3590 ms 2.3596 ms]
                           change: [+0.4794% +0.5237% +0.5661%] (p = 0.00 < 0.05)
                           Change within noise threshold.
   Found 8 outliers among 100 measurements (8.00%)
     6 (6.00%) high mild
     2 (2.00%) high severe
   
   Benchmarking ilike_utf8 scalar complex: Warming up for 3.0000 s
   Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 9.8s, enable flat sampling, or reduce sample count to 50.
   ilike_utf8 scalar complex
                           time:   [1.9471 ms 1.9479 ms 1.9488 ms]
                           change: [+1.7592% +1.9374% +2.1290%] (p = 0.00 < 0.05)
                           Performance has regressed.
   Found 7 outliers among 100 measurements (7.00%)
     4 (4.00%) high mild
     3 (3.00%) high severe
   
   nilike_utf8 scalar equals
                           time:   [271.24 µs 271.61 µs 271.99 µs]
                           change: [-88.712% -88.698% -88.683%] (p = 0.00 < 0.05)
                           Performance has improved.
   Found 4 outliers among 100 measurements (4.00%)
     2 (2.00%) low mild
     1 (1.00%) high mild
     1 (1.00%) high severe
   
   Benchmarking nilike_utf8 scalar contains: Warming up for 3.0000 s
   Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 9.4s, enable flat sampling, or reduce sample count to 50.
   nilike_utf8 scalar contains
                           time:   [1.8561 ms 1.8570 ms 1.8580 ms]
                           change: [-56.359% -56.310% -56.249%] (p = 0.00 < 0.05)
                           Performance has improved.
   Found 7 outliers among 100 measurements (7.00%)
     4 (4.00%) high mild
     3 (3.00%) high severe
   
   nilike_utf8 scalar ends with
                           time:   [262.07 µs 262.17 µs 262.30 µs]
                           change: [-88.977% -88.963% -88.937%] (p = 0.00 < 0.05)
                           Performance has improved.
   Found 5 outliers among 100 measurements (5.00%)
     1 (1.00%) high mild
     4 (4.00%) high severe
   
   nilike_utf8 scalar starts with
                           time:   [2.3529 ms 2.3535 ms 2.3542 ms]
                           change: [-1.2291% -1.1974% -1.1650%] (p = 0.00 < 0.05)
                           Performance has improved.
   Found 8 outliers among 100 measurements (8.00%)
     2 (2.00%) high mild
     6 (6.00%) high severe
   
   Benchmarking nilike_utf8 scalar complex: Warming up for 3.0000 s
   Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 9.5s, enable flat sampling, or reduce sample count to 50.
   nilike_utf8 scalar complex
                           time:   [1.8791 ms 1.8798 ms 1.8808 ms]
                           change: [-2.2351% -2.0998% -1.9418%] (p = 0.00 < 0.05)
                           Performance has improved.
   Found 11 outliers among 100 measurements (11.00%)
     7 (7.00%) high mild
     4 (4.00%) high severe
   ```
   
   # What changes are included in this PR?
   
   <!--
   There is no need to duplicate the description in the issue here but it is sometimes worth providing a summary of the individual changes in this PR.
   -->
   
   # Are there any user-facing changes?
   
   
   <!--
   If there are user-facing changes then we may require documentation to be updated before approving the PR.
   -->
   
   <!---
   If there are any breaking changes to public APIs, please add the `breaking change` label.
   -->
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-rs] tustvold commented on pull request #3306: Add ASCII fast path for ILIKE scalar (90% faster)

Posted by GitBox <gi...@apache.org>.
tustvold commented on PR #3306:
URL: https://github.com/apache/arrow-rs/pull/3306#issuecomment-1344478742

   > I think this might not work for non-ASCII characters that capitalize to ASCII characters
   
   So it turns out the fact we were handling this was actually incorrect, so this is not only faster, but more correct :laughing:  - #3311 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-rs] tustvold commented on pull request #3306: Add ASCII fast path for ILIKE scalar (90% faster)

Posted by GitBox <gi...@apache.org>.
tustvold commented on PR #3306:
URL: https://github.com/apache/arrow-rs/pull/3306#issuecomment-1344565691

   This is currently blocked on https://github.com/apache/arrow-rs/pull/3313, which will allow the kernel to assume a GenericStringArray, which in turn will allow ASCII verification in one pass.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-rs] tustvold commented on pull request #3306: Add ASCII fast path for ILIKE scalar (90% faster)

Posted by GitBox <gi...@apache.org>.
tustvold commented on PR #3306:
URL: https://github.com/apache/arrow-rs/pull/3306#issuecomment-1344755210

   ```
   ilike_utf8 scalar equals
                           time:   [271.37 µs 271.48 µs 271.62 µs]
                           change: [-87.932% -87.924% -87.914%] (p = 0.00 < 0.05)
                           Performance has improved.
   Found 13 outliers among 100 measurements (13.00%)
     2 (2.00%) low mild
     4 (4.00%) high mild
     7 (7.00%) high severe
   
   Benchmarking ilike_utf8 scalar contains: Warming up for 3.0000 s
   Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 9.1s, enable flat sampling, or reduce sample count to 50.
   ilike_utf8 scalar contains
                           time:   [1.8028 ms 1.8037 ms 1.8048 ms]
                           change: [-56.517% -56.488% -56.455%] (p = 0.00 < 0.05)
                           Performance has improved.
   Found 10 outliers among 100 measurements (10.00%)
     5 (5.00%) high mild
     5 (5.00%) high severe
   
   ilike_utf8 scalar ends with
                           time:   [287.38 µs 287.52 µs 287.65 µs]
                           change: [-87.759% -87.745% -87.729%] (p = 0.00 < 0.05)
                           Performance has improved.
   Found 3 outliers among 100 measurements (3.00%)
     3 (3.00%) high severe
   
   ilike_utf8 scalar starts with
                           time:   [273.73 µs 273.85 µs 273.98 µs]
                           change: [-88.337% -88.328% -88.318%] (p = 0.00 < 0.05)
                           Performance has improved.
   Found 11 outliers among 100 measurements (11.00%)
     1 (1.00%) low mild
     7 (7.00%) high mild
     3 (3.00%) high severe
   
   Benchmarking ilike_utf8 scalar complex: Warming up for 3.0000 s
   Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 9.3s, enable flat sampling, or reduce sample count to 50.
   ilike_utf8 scalar complex
                           time:   [1.8338 ms 1.8349 ms 1.8361 ms]
                           change: [-4.1219% -3.9358% -3.7411%] (p = 0.00 < 0.05)
                           Performance has improved.
   Found 9 outliers among 100 measurements (9.00%)
     4 (4.00%) high mild
     5 (5.00%) high severe
   
   nilike_utf8 scalar equals
                           time:   [257.80 µs 257.85 µs 257.92 µs]
                           change: [-89.265% -89.246% -89.211%] (p = 0.00 < 0.05)
                           Performance has improved.
   Found 9 outliers among 100 measurements (9.00%)
     4 (4.00%) high mild
     5 (5.00%) high severe
   
   Benchmarking nilike_utf8 scalar contains: Warming up for 3.0000 s
   Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 9.2s, enable flat sampling, or reduce sample count to 50.
   nilike_utf8 scalar contains
                           time:   [1.8283 ms 1.8293 ms 1.8303 ms]
                           change: [-57.048% -56.996% -56.926%] (p = 0.00 < 0.05)
                           Performance has improved.
   Found 6 outliers among 100 measurements (6.00%)
     2 (2.00%) high mild
     4 (4.00%) high severe
   
   nilike_utf8 scalar ends with
                           time:   [256.38 µs 256.46 µs 256.54 µs]
                           change: [-89.212% -89.192% -89.160%] (p = 0.00 < 0.05)
                           Performance has improved.
   Found 8 outliers among 100 measurements (8.00%)
     4 (4.00%) high mild
     4 (4.00%) high severe
   
   nilike_utf8 scalar starts with
                           time:   [262.65 µs 262.70 µs 262.77 µs]
                           change: [-88.974% -88.958% -88.927%] (p = 0.00 < 0.05)
                           Performance has improved.
   Found 4 outliers among 100 measurements (4.00%)
     1 (1.00%) high mild
     3 (3.00%) high severe
   
   Benchmarking nilike_utf8 scalar complex: Warming up for 3.0000 s
   Warning: Unable to complete 100 samples in 5.0s. You may wish to increase target time to 9.3s, enable flat sampling, or reduce sample count to 50.
   nilike_utf8 scalar complex
                           time:   [1.8537 ms 1.8547 ms 1.8559 ms]
                           change: [-3.5514% -3.4042% -3.2212%] (p = 0.00 < 0.05)
                           Performance has improved.
   Found 13 outliers among 100 measurements (13.00%)
     2 (2.00%) low mild
     3 (3.00%) high mild
     8 (8.00%) high severe
   
   ilike_utf8_scalar_dyn dictionary[10] string[4])
                           time:   [59.817 µs 59.887 µs 59.968 µs]
                           change: [-97.558% -97.553% -97.546%] (p = 0.00 < 0.05)
                           Performance has improved.
   Found 12 outliers among 100 measurements (12.00%)
     5 (5.00%) high mild
     7 (7.00%) high severe
   ```
   
   So even with the extra check to detect is_ascii, this still is a pretty significant speedup


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-rs] tustvold commented on a diff in pull request #3306: Add ASCII fast path for ILIKE scalar (90% faster)

Posted by GitBox <gi...@apache.org>.
tustvold commented on code in PR #3306:
URL: https://github.com/apache/arrow-rs/pull/3306#discussion_r1044862301


##########
arrow-string/src/like.rs:
##########
@@ -1272,6 +1270,101 @@ mod tests {
         vec![true, false, false, false]
     );
 
+    // We only implement loose matching

Review Comment:
   Yes see #3311 the previous special case logic was incorrect as it changed the semantics from the regex



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-rs] tustvold commented on pull request #3306: Add ASCII fast path for ILIKE scalar (90% faster)

Posted by GitBox <gi...@apache.org>.
tustvold commented on PR #3306:
URL: https://github.com/apache/arrow-rs/pull/3306#issuecomment-1344411710

   I can add some more, give me a minute


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-rs] tustvold commented on a diff in pull request #3306: Add ASCII fast path for ILIKE scalar (90% faster)

Posted by GitBox <gi...@apache.org>.
tustvold commented on code in PR #3306:
URL: https://github.com/apache/arrow-rs/pull/3306#discussion_r1044555495


##########
arrow-string/src/like.rs:
##########
@@ -588,50 +588,45 @@ fn ilike_scalar_op<'a, F: Fn(bool) -> bool, L: ArrayAccessor<Item = &'a str>>(
     right: &str,
     op: F,
 ) -> Result<BooleanArray, ArrowError> {
-    if !right.contains(is_like_pattern) {
-        // fast path, can use equals
-        let right_uppercase = right.to_uppercase();
-
-        Ok(BooleanArray::from_unary(left, |item| {
-            op(item.to_uppercase() == right_uppercase)
-        }))
-    } else if right.ends_with('%')
-        && !right.ends_with("\\%")
-        && !right[..right.len() - 1].contains(is_like_pattern)
-    {
-        // fast path, can use starts_with
-        let start_str = &right[..right.len() - 1].to_uppercase();
-        Ok(BooleanArray::from_unary(left, |item| {
-            op(item.to_uppercase().starts_with(start_str))
-        }))
-    } else if right.starts_with('%') && !right[1..].contains(is_like_pattern) {
-        // fast path, can use ends_with
-        let ends_str = &right[1..].to_uppercase();
+    // If not ASCII faster to use case insensitive regex than allocating using to_uppercase

Review Comment:
   ?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-rs] tustvold merged pull request #3306: Add ASCII fast path for ILIKE scalar (90% faster)

Posted by GitBox <gi...@apache.org>.
tustvold merged PR #3306:
URL: https://github.com/apache/arrow-rs/pull/3306


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-rs] tustvold commented on pull request #3306: Add ASCII fast path for ILIKE scalar (90% faster)

Posted by GitBox <gi...@apache.org>.
tustvold commented on PR #3306:
URL: https://github.com/apache/arrow-rs/pull/3306#issuecomment-1344240915

   FYI @askoa 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-rs] alamb commented on pull request #3306: Add ASCII fast path for ILIKE scalar (90% faster)

Posted by GitBox <gi...@apache.org>.
alamb commented on PR #3306:
URL: https://github.com/apache/arrow-rs/pull/3306#issuecomment-1344440335

   Perhaps you can also check that left is entirely ASCII (which is a fairly common case)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-rs] tustvold commented on pull request #3306: Add ASCII fast path for ILIKE scalar (90% faster)

Posted by GitBox <gi...@apache.org>.
tustvold commented on PR #3306:
URL: https://github.com/apache/arrow-rs/pull/3306#issuecomment-1344447946

   Interestingly the regex crate doesn't appear to handle this correctly... :thinking: 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-rs] tustvold commented on pull request #3306: Add ASCII fast path for ILIKE scalar (90% faster)

Posted by GitBox <gi...@apache.org>.
tustvold commented on PR #3306:
URL: https://github.com/apache/arrow-rs/pull/3306#issuecomment-1344498274

   Aargh, there are unicode characters that have lowercase ASCII... Guess I will need to check if the string are ASCII


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-rs] tustvold commented on a diff in pull request #3306: Add ASCII fast path for ILIKE scalar (90% faster)

Posted by GitBox <gi...@apache.org>.
tustvold commented on code in PR #3306:
URL: https://github.com/apache/arrow-rs/pull/3306#discussion_r1044862301


##########
arrow-string/src/like.rs:
##########
@@ -1272,6 +1270,101 @@ mod tests {
         vec![true, false, false, false]
     );
 
+    // We only implement loose matching

Review Comment:
   Yes see #3311



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-rs] alamb commented on a diff in pull request #3306: Add ASCII fast path for ILIKE scalar (90% faster)

Posted by GitBox <gi...@apache.org>.
alamb commented on code in PR #3306:
URL: https://github.com/apache/arrow-rs/pull/3306#discussion_r1044537231


##########
arrow-string/src/like.rs:
##########
@@ -588,50 +588,45 @@ fn ilike_scalar_op<'a, F: Fn(bool) -> bool, L: ArrayAccessor<Item = &'a str>>(
     right: &str,
     op: F,
 ) -> Result<BooleanArray, ArrowError> {
-    if !right.contains(is_like_pattern) {
-        // fast path, can use equals
-        let right_uppercase = right.to_uppercase();
-
-        Ok(BooleanArray::from_unary(left, |item| {
-            op(item.to_uppercase() == right_uppercase)
-        }))
-    } else if right.ends_with('%')
-        && !right.ends_with("\\%")
-        && !right[..right.len() - 1].contains(is_like_pattern)
-    {
-        // fast path, can use starts_with
-        let start_str = &right[..right.len() - 1].to_uppercase();
-        Ok(BooleanArray::from_unary(left, |item| {
-            op(item.to_uppercase().starts_with(start_str))
-        }))
-    } else if right.starts_with('%') && !right[1..].contains(is_like_pattern) {
-        // fast path, can use ends_with
-        let ends_str = &right[1..].to_uppercase();
+    // If not ASCII faster to use case insensitive regex than allocating using to_uppercase

Review Comment:
   ```suggestion
       // If ASCII faster to use case insensitive regex than allocating using to_uppercase
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-rs] tustvold commented on pull request #3306: Add ASCII fast path for ILIKE scalar (90% faster)

Posted by GitBox <gi...@apache.org>.
tustvold commented on PR #3306:
URL: https://github.com/apache/arrow-rs/pull/3306#issuecomment-1344415092

   I think this might not work for non-ASCII characters that capitalize to ASCII characters :cry: 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


[GitHub] [arrow-rs] alamb commented on a diff in pull request #3306: Add ASCII fast path for ILIKE scalar (90% faster)

Posted by GitBox <gi...@apache.org>.
alamb commented on code in PR #3306:
URL: https://github.com/apache/arrow-rs/pull/3306#discussion_r1044857822


##########
arrow-string/src/like.rs:
##########
@@ -1272,6 +1270,101 @@ mod tests {
         vec![true, false, false, false]
     );
 
+    // We only implement loose matching

Review Comment:
   When I ran these tests without the changes in this PR I got a bunch of failures. Is that expected?
   
   ```
   failures:
   
   ---- like::tests::test_utf8_array_ilike_unicode stdout ----
   thread 'like::tests::test_utf8_array_ilike_unicode' panicked at 'assertion failed: `(left == right)`
     left: `true`,
    right: `false`: unexpected result when comparing FFkoß at position 0 to FFkoSS ', arrow-string/src/like.rs:1279:5
   stack backtrace:
      0: rust_begin_unwind
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:584:5
      1: core::panicking::panic_fmt
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:142:14
      2: core::panicking::assert_failed_inner
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:218:23
      3: core::panicking::assert_failed
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:181:5
      4: arrow_string::like::tests::test_utf8_array_ilike_unicode
                at ./src/like.rs:1279:5
      5: arrow_string::like::tests::test_utf8_array_ilike_unicode::{{closure}}
                at ./src/like.rs:917:13
      6: core::ops::function::FnOnce::call_once
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248:5
      7: core::ops::function::FnOnce::call_once
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248:5
   note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
   
   ---- like::tests::test_utf8_array_ilike_unicode_contains stdout ----
   thread 'like::tests::test_utf8_array_ilike_unicode_contains' panicked at 'assertion failed: `(left == right)`
     left: `true`,
    right: `false`: unexpected result when comparing sdlkdfFkoßsdfs at position 0 to %FFkoSS% ', arrow-string/src/like.rs:1331:5
   stack backtrace:
      0: rust_begin_unwind
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:584:5
      1: core::panicking::panic_fmt
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:142:14
      2: core::panicking::assert_failed_inner
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:218:23
      3: core::panicking::assert_failed
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:181:5
      4: arrow_string::like::tests::test_utf8_array_ilike_unicode_contains
                at ./src/like.rs:1331:5
      5: arrow_string::like::tests::test_utf8_array_ilike_unicode_contains::{{closure}}
                at ./src/like.rs:917:13
      6: core::ops::function::FnOnce::call_once
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248:5
      7: core::ops::function::FnOnce::call_once
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248:5
   note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
   
   ---- like::tests::test_utf8_array_ilike_unicode_contains_dyn stdout ----
   thread 'like::tests::test_utf8_array_ilike_unicode_contains_dyn' panicked at 'assertion failed: `(left == right)`
     left: `true`,
    right: `false`: unexpected result when comparing sdlkdfFkoßsdfs at position 0 to %FFkoSS% ', arrow-string/src/like.rs:1331:5
   stack backtrace:
      0: rust_begin_unwind
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:584:5
      1: core::panicking::panic_fmt
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:142:14
      2: core::panicking::assert_failed_inner
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:218:23
      3: core::panicking::assert_failed
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:181:5
      4: arrow_string::like::tests::test_utf8_array_ilike_unicode_contains_dyn
                at ./src/like.rs:1331:5
      5: arrow_string::like::tests::test_utf8_array_ilike_unicode_contains_dyn::{{closure}}
                at ./src/like.rs:917:13
      6: core::ops::function::FnOnce::call_once
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248:5
      7: core::ops::function::FnOnce::call_once
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248:5
   note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
   
   ---- like::tests::test_utf8_array_ilike_unicode_dyn stdout ----
   thread 'like::tests::test_utf8_array_ilike_unicode_dyn' panicked at 'assertion failed: `(left == right)`
     left: `true`,
    right: `false`: unexpected result when comparing FFkoß at position 0 to FFkoSS ', arrow-string/src/like.rs:1279:5
   stack backtrace:
      0: rust_begin_unwind
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:584:5
      1: core::panicking::panic_fmt
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:142:14
      2: core::panicking::assert_failed_inner
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:218:23
      3: core::panicking::assert_failed
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:181:5
      4: arrow_string::like::tests::test_utf8_array_ilike_unicode_dyn
                at ./src/like.rs:1279:5
      5: arrow_string::like::tests::test_utf8_array_ilike_unicode_dyn::{{closure}}
                at ./src/like.rs:917:13
      6: core::ops::function::FnOnce::call_once
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248:5
      7: core::ops::function::FnOnce::call_once
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248:5
   note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
   
   ---- like::tests::test_utf8_array_ilike_unicode_ends stdout ----
   thread 'like::tests::test_utf8_array_ilike_unicode_ends' panicked at 'assertion failed: `(left == right)`
     left: `true`,
    right: `false`: unexpected result when comparing sdlkdfFFkoß at position 0 to %FFkoSS ', arrow-string/src/like.rs:1311:5
   stack backtrace:
      0: rust_begin_unwind
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:584:5
      1: core::panicking::panic_fmt
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:142:14
      2: core::panicking::assert_failed_inner
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:218:23
      3: core::panicking::assert_failed
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:181:5
      4: arrow_string::like::tests::test_utf8_array_ilike_unicode_ends
                at ./src/like.rs:924:21
      5: arrow_string::like::tests::test_utf8_array_ilike_unicode_ends::{{closure}}
                at ./src/like.rs:917:13
      6: core::ops::function::FnOnce::call_once
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248:5
      7: core::ops::function::FnOnce::call_once
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248:5
   note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
   
   ---- like::tests::test_utf8_array_ilike_unicode_ends_dyn stdout ----
   thread 'like::tests::test_utf8_array_ilike_unicode_ends_dyn' panicked at 'assertion failed: `(left == right)`
     left: `true`,
    right: `false`: unexpected result when comparing sdlkdfFFkoß at position 0 to %FFkoSS ', arrow-string/src/like.rs:1311:5
   stack backtrace:
      0: rust_begin_unwind
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:584:5
      1: core::panicking::panic_fmt
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:142:14
      2: core::panicking::assert_failed_inner
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:218:23
      3: core::panicking::assert_failed
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:181:5
      4: arrow_string::like::tests::test_utf8_array_ilike_unicode_ends_dyn
                at ./src/like.rs:924:21
      5: arrow_string::like::tests::test_utf8_array_ilike_unicode_ends_dyn::{{closure}}
                at ./src/like.rs:917:13
      6: core::ops::function::FnOnce::call_once
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248:5
      7: core::ops::function::FnOnce::call_once
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248:5
   note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
   
   ---- like::tests::test_utf8_array_ilike_unicode_starts stdout ----
   thread 'like::tests::test_utf8_array_ilike_unicode_starts' panicked at 'assertion failed: `(left == right)`
     left: `true`,
    right: `false`: unexpected result when comparing FFkoßsdlkdf at position 0 to FFkoSS% ', arrow-string/src/like.rs:1291:5
   stack backtrace:
      0: rust_begin_unwind
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:584:5
      1: core::panicking::panic_fmt
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:142:14
      2: core::panicking::assert_failed_inner
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:218:23
      3: core::panicking::assert_failed
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:181:5
      4: arrow_string::like::tests::test_utf8_array_ilike_unicode_starts
                at ./src/like.rs:1291:5
      5: arrow_string::like::tests::test_utf8_array_ilike_unicode_starts::{{closure}}
                at ./src/like.rs:917:13
      6: core::ops::function::FnOnce::call_once
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248:5
      7: core::ops::function::FnOnce::call_once
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248:5
   note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
   
   ---- like::tests::test_utf8_array_ilike_unicode_start_dyn stdout ----
   thread 'like::tests::test_utf8_array_ilike_unicode_start_dyn' panicked at 'assertion failed: `(left == right)`
     left: `true`,
    right: `false`: unexpected result when comparing FFkoßsdlkdf at position 0 to FFkoSS% ', arrow-string/src/like.rs:1291:5
   stack backtrace:
      0: rust_begin_unwind
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/std/src/panicking.rs:584:5
      1: core::panicking::panic_fmt
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:142:14
      2: core::panicking::assert_failed_inner
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:218:23
      3: core::panicking::assert_failed
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/panicking.rs:181:5
      4: arrow_string::like::tests::test_utf8_array_ilike_unicode_start_dyn
                at ./src/like.rs:1291:5
      5: arrow_string::like::tests::test_utf8_array_ilike_unicode_start_dyn::{{closure}}
                at ./src/like.rs:917:13
      6: core::ops::function::FnOnce::call_once
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248:5
      7: core::ops::function::FnOnce::call_once
                at /rustc/897e37553bba8b42751c67658967889d11ecd120/library/core/src/ops/function.rs:248:5
   note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
   
   
   failures:
       like::tests::test_utf8_array_ilike_unicode
       like::tests::test_utf8_array_ilike_unicode_contains
       like::tests::test_utf8_array_ilike_unicode_contains_dyn
       like::tests::test_utf8_array_ilike_unicode_dyn
       like::tests::test_utf8_array_ilike_unicode_ends
       like::tests::test_utf8_array_ilike_unicode_ends_dyn
       like::tests::test_utf8_array_ilike_unicode_start_dyn
       like::tests::test_utf8_array_ilike_unicode_starts
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org