diff --git a/velox/functions/lib/Re2Functions.cpp b/velox/functions/lib/Re2Functions.cpp index ace6d0a6fa3f..a7f4b35b854d 100644 --- a/velox/functions/lib/Re2Functions.cpp +++ b/velox/functions/lib/Re2Functions.cpp @@ -144,14 +144,8 @@ bool re2Extract( } } else { const re2::StringPiece extracted = groups[groupId]; - // Check if the extracted data is null. - if (extracted.data()) { - result.setNoCopy(row, StringView(extracted.data(), extracted.size())); - return !StringView::isInline(extracted.size()); - } else { - result.setNull(row, true); - return false; - } + result.setNoCopy(row, StringView(extracted.data(), extracted.size())); + return !StringView::isInline(extracted.size()); } } diff --git a/velox/functions/lib/tests/Re2FunctionsTest.cpp b/velox/functions/lib/tests/Re2FunctionsTest.cpp index a7d349243db9..67f0ec5a5522 100644 --- a/velox/functions/lib/tests/Re2FunctionsTest.cpp +++ b/velox/functions/lib/tests/Re2FunctionsTest.cpp @@ -369,9 +369,6 @@ void testRe2Extract(F&& regexExtract) { EXPECT_EQ(regexExtract(std::nullopt, "\\d+", 0), std::nullopt); EXPECT_EQ(regexExtract(" 123 ", std::nullopt, 0), std::nullopt); EXPECT_EQ(regexExtract(" 123 ", "\\d+", std::nullopt), std::nullopt); - // Group case that mismatch. - EXPECT_EQ( - regexExtract("rat cat\nbat dog", "ra(.)|blah(.)(.)", 2), std::nullopt); } TEST_F(Re2FunctionsTest, regexExtract) {