Skip to content

Incorrect inlined string view comparison after " Add prefix compare for inlined" #7874

@alamb

Description

@alamb

Describe the bug

While testing the new arrow-rs branch with DataFusion I found a wrong results bug

Here is more detail: apache/datafusion#16690 (comment)

commit 674dc17b2c423be16d0725a6537b0063ac7b1b58
Author: nathaniel-d-ef <[email protected]>
Date:   Sat Jun 28 05:21:45 2025 -0500

This commit fails: aa96097

commit aa960977275f96a42e74569cd4ef833afa38ecf2
Author: Qi Zhu <[email protected]>
Date:   Sun Jun 29 17:02:36 2025 +0800

    Perf: Add prefix compare for inlined compare and change use of inline_value to inline it to a u128  (#7748)

To Reproduce

You can use a local checkout of arrow-rs

 [patch.crates-io]
-arrow = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
-arrow-array = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
-arrow-buffer = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
-arrow-cast = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
-arrow-data = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
-arrow-ipc = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
-arrow-schema = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
-arrow-select = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
-arrow-string = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
-arrow-ord = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
-arrow-flight = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
-parquet = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
+#arrow = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
+#arrow-array = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
+#arrow-buffer = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
+#arrow-cast = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
+#arrow-data = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
+#arrow-ipc = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
+#arrow-schema = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
+#arrow-select = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
+#arrow-string = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
+#arrow-ord = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
+#arrow-flight = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
+# parquet = { git = "https://github.com/apache/arrow-rs.git", rev = "57f96f24a1f69504588ecb2c7c42fb91c0592262" }
+
+
+# use local copy in arrow-rs
+
+arrow = { path = "/Users/andrewlamb/Software/arrow-rs/arrow" }
+arrow-array = { path = "/Users/andrewlamb/Software/arrow-rs/arrow-array" }
+arrow-buffer = { path = "/Users/andrewlamb/Software/arrow-rs/arrow-buffer" }
+arrow-cast = { path = "/Users/andrewlamb/Software/arrow-rs/arrow-cast" }
+arrow-data = { path = "/Users/andrewlamb/Software/arrow-rs/arrow-data" }
+arrow-ipc = { path = "/Users/andrewlamb/Software/arrow-rs/arrow-ipc" }
+arrow-schema = { path = "/Users/andrewlamb/Software/arrow-rs/arrow-schema" }
+arrow-select = { path = "/Users/andrewlamb/Software/arrow-rs/arrow-select" }
+arrow-string = { path = "/Users/andrewlamb/Software/arrow-rs/arrow-string" }
+arrow-ord = { path = "/Users/andrewlamb/Software/arrow-rs/arrow-ord" }
+arrow-flight = { path = "/Users/andrewlamb/Software/arrow-rs/arrow-flight" }
+parquet = { path = "/Users/andrewlamb/Software/arrow-rs/parquet" }

And then run apache/datafusion#16690 (comment)

$ cargo test --package datafusion --test parquet_config parquet::row_group_pruning

Expected behavior
The tests should pass

Additional context

Metadata

Metadata

Assignees

Labels

arrowChanges to the arrow cratebugparquetChanges to the parquet crate

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions