Skip to content

Commit

Permalink
Renamed function without utf8
Browse files Browse the repository at this point in the history
  • Loading branch information
ViniciusSouzaRoque committed Nov 24, 2021
1 parent 45d4af7 commit 1c29083
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 20 deletions.
2 changes: 1 addition & 1 deletion cpp/src/gandiva/function_registry_string.cc
Original file line number Diff line number Diff line change
Expand Up @@ -439,7 +439,7 @@ std::vector<NativeFunction> GetStringFunctionRegistry() {
NativeFunction::kNeedsContext | NativeFunction::kCanReturnErrors),

NativeFunction("levenshtein", {}, DataTypeVector{utf8(), utf8()}, int32(),
kResultNullIfNull, "levenshtein_utf8_utf8",
kResultNullIfNull, "levenshtein",
NativeFunction::kNeedsContext | NativeFunction::kCanReturnErrors),

NativeFunction("to_hex", {"hex"}, DataTypeVector{binary()}, utf8(),
Expand Down
4 changes: 2 additions & 2 deletions cpp/src/gandiva/precompiled/string_ops.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1646,8 +1646,8 @@ const char* convert_toUTF8(int64_t context, const char* value, int32_t value_len

// Calculate the levenshtein distance between two string values
FORCE_INLINE
gdv_int32 levenshtein_utf8_utf8(int64_t context, const char* in1, int32_t in1_len,
const char* in2, int32_t in2_len) {
gdv_int32 levenshtein(int64_t context, const char* in1, int32_t in1_len, const char* in2,
int32_t in2_len) {
if (in1_len < 0 || in2_len < 0) {
gdv_fn_context_set_error_msg(context, "String length must be greater than 0");
return 0;
Expand Down
30 changes: 15 additions & 15 deletions cpp/src/gandiva/precompiled/string_ops_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -916,49 +916,49 @@ TEST(TestStringOps, TestLevenshtein) {
gandiva::ExecutionContext ctx;
uint64_t ctx_ptr = reinterpret_cast<gdv_int64>(&ctx);

EXPECT_EQ(levenshtein_utf8_utf8(ctx_ptr, "kitten", 6, "sitting", 7), 3);
EXPECT_EQ(levenshtein(ctx_ptr, "kitten", 6, "sitting", 7), 3);
EXPECT_FALSE(ctx.has_error());

EXPECT_EQ(levenshtein_utf8_utf8(ctx_ptr, "book", 4, "back", 4), 2);
EXPECT_EQ(levenshtein(ctx_ptr, "book", 4, "back", 4), 2);
EXPECT_FALSE(ctx.has_error());

EXPECT_EQ(levenshtein_utf8_utf8(ctx_ptr, "", 0, "a", 1), 1);
EXPECT_EQ(levenshtein(ctx_ptr, "", 0, "a", 1), 1);
EXPECT_FALSE(ctx.has_error());

EXPECT_EQ(levenshtein_utf8_utf8(ctx_ptr, "test", 4, "task", 4), 2);
EXPECT_EQ(levenshtein(ctx_ptr, "test", 4, "task", 4), 2);
EXPECT_FALSE(ctx.has_error());

EXPECT_EQ(levenshtein_utf8_utf8(ctx_ptr, "cat", 3, "coat", 4), 1);
EXPECT_EQ(levenshtein(ctx_ptr, "cat", 3, "coat", 4), 1);
EXPECT_FALSE(ctx.has_error());

EXPECT_EQ(levenshtein_utf8_utf8(ctx_ptr, "coat", 4, "coat", 4), 0);
EXPECT_EQ(levenshtein(ctx_ptr, "coat", 4, "coat", 4), 0);
EXPECT_FALSE(ctx.has_error());

EXPECT_EQ(levenshtein_utf8_utf8(ctx_ptr, "AAAA", 4, "aAAa", 4), 2);
EXPECT_EQ(levenshtein(ctx_ptr, "AAAA", 4, "aAAa", 4), 2);
EXPECT_FALSE(ctx.has_error());

EXPECT_EQ(levenshtein_utf8_utf8(ctx_ptr, "color", 5, "colour", 6), 1);
EXPECT_EQ(levenshtein(ctx_ptr, "color", 5, "colour", 6), 1);
EXPECT_FALSE(ctx.has_error());

EXPECT_EQ(levenshtein_utf8_utf8(ctx_ptr, "Test String1", 12, "Test String2", 12), 1);
EXPECT_EQ(levenshtein(ctx_ptr, "Test String1", 12, "Test String2", 12), 1);
EXPECT_FALSE(ctx.has_error());

EXPECT_EQ(levenshtein_utf8_utf8(ctx_ptr, "TEST STRING1", 12, "test string2", 12), 11);
EXPECT_EQ(levenshtein(ctx_ptr, "TEST STRING1", 12, "test string2", 12), 11);
EXPECT_FALSE(ctx.has_error());

EXPECT_EQ(levenshtein_utf8_utf8(ctx_ptr, "", 0, "Test String2", 12), 12);
EXPECT_EQ(levenshtein(ctx_ptr, "", 0, "Test String2", 12), 12);
EXPECT_FALSE(ctx.has_error());

EXPECT_EQ(levenshtein_utf8_utf8(ctx_ptr, nullptr, 0, "Test String2", 12), 12);
EXPECT_EQ(levenshtein(ctx_ptr, nullptr, 0, "Test String2", 12), 12);
EXPECT_FALSE(ctx.has_error());

EXPECT_EQ(levenshtein_utf8_utf8(ctx_ptr, "Test String2", 12, nullptr, 0), 12);
EXPECT_EQ(levenshtein(ctx_ptr, "Test String2", 12, nullptr, 0), 12);
EXPECT_FALSE(ctx.has_error());

EXPECT_EQ(levenshtein_utf8_utf8(ctx_ptr, nullptr, 0, nullptr, 0), 0);
EXPECT_EQ(levenshtein(ctx_ptr, nullptr, 0, nullptr, 0), 0);
EXPECT_FALSE(ctx.has_error());

EXPECT_EQ(levenshtein_utf8_utf8(ctx_ptr, "book", -5, "back", 4), 0);
EXPECT_EQ(levenshtein(ctx_ptr, "book", -5, "back", 4), 0);
EXPECT_TRUE(ctx.has_error());
EXPECT_THAT(ctx.get_error(),
::testing::HasSubstr("String length must be greater than 0"));
Expand Down
4 changes: 2 additions & 2 deletions cpp/src/gandiva/precompiled/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -429,8 +429,8 @@ const char* castVARBINARY_binary_int64(gdv_int64 context, const char* data,
gdv_int32 data_len, int64_t out_len,
int32_t* out_length);

gdv_int32 levenshtein_utf8_utf8(int64_t context, const char* in1, int32_t in1_len,
const char* in2, int32_t in2_len);
gdv_int32 levenshtein(int64_t context, const char* in1, int32_t in1_len, const char* in2,
int32_t in2_len);

const char* reverse_utf8(gdv_int64 context, const char* data, gdv_int32 data_len,
int32_t* out_len);
Expand Down

0 comments on commit 1c29083

Please sign in to comment.