Skip to content

Commit

Permalink
Upgrade simdjson to 3.8.0 (from 3.2.0) (#9456)
Browse files Browse the repository at this point in the history
Summary:

[simdjson] third-party library import

Reviewed By: Yuhta

Differential Revision: D56031937
  • Loading branch information
mbasmanova authored and facebook-github-bot committed Apr 11, 2024
1 parent efb0213 commit 9b9672c
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 6 deletions.
3 changes: 1 addition & 2 deletions CMake/resolve_dependency_modules/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ by Velox. See details on bundling below.
| xsimd | 10.0.0 | Yes |
| re2 | 2021-04-01 | Yes |
| fmt | 10.1.1 | Yes |
| simdjson | 3.2.0 | Yes |
| simdjson | 3.8.0 | Yes |
| folly | v2024.04.01.00 | Yes |
| fizz | v2024.04.01.00 | No |
| wangle | v2024.04.01.00 | No |
Expand Down Expand Up @@ -75,4 +75,3 @@ Ideally all patches should be upstream when possible and removed once merged.
## Specify a custom url/file path for an offline build

Set environment variables `VELOX_<PACKAGE>_URL` to specify a custom dependency url or local tar file path, an optional sha256 checksum can be provided as `VELOX_<PACKAGE>_SHA256`.

4 changes: 2 additions & 2 deletions CMake/resolve_dependency_modules/simdjson.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@
# limitations under the License.
include_guard(GLOBAL)

set(VELOX_SIMDJSON_VERSION 3.2.0)
set(VELOX_SIMDJSON_VERSION 3.8.0)
set(VELOX_SIMDJSON_BUILD_SHA256_CHECKSUM
75a684dbbe38cf72b8b3bdbdc430764813f3615899a6029931c26ddd89812da4)
e28e3f46f0012d405b67de6c0a75e8d8c9a612b0548cb59687822337d73ca78b)
set(VELOX_SIMDJSON_SOURCE_URL
"https://github.com/simdjson/simdjson/archive/refs/tags/v${VELOX_SIMDJSON_VERSION}.tar.gz"
)
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -437,7 +437,7 @@ if(${VELOX_BUILD_PYTHON_PACKAGE})
endif()

set_source(simdjson)
resolve_dependency(simdjson 3.2.0)
resolve_dependency(simdjson 3.8.0)

# Locate or build folly.
add_compile_definitions(FOLLY_HAVE_INT128_T=1)
Expand Down
2 changes: 1 addition & 1 deletion velox/functions/prestosql/tests/JsonCastTest.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -828,7 +828,7 @@ TEST_F(JsonCastTest, toInteger) {
JSON(),
BIGINT(),
{"233897314173811950000"_sv},
"Problem while parsing a number");
"BIGINT_ERROR: Big integer value that cannot be represented using 64 bits");
}

TEST_F(JsonCastTest, toDouble) {
Expand Down
6 changes: 6 additions & 0 deletions velox/functions/prestosql/types/JsonType.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -700,6 +700,9 @@ struct CastFromJsonTypedImpl {
case simdjson::ondemand::number_type::unsigned_integer:
w = num.get_uint64() != 0;
break;
case simdjson::ondemand::number_type::big_integer:
VELOX_UNREACHABLE(); // value.get_number() would have failed
// already.
}
break;
}
Expand Down Expand Up @@ -962,6 +965,9 @@ struct CastFromJsonTypedImpl {
return convertIfInRange<T>(num.get_int64(), writer);
case simdjson::ondemand::number_type::unsigned_integer:
return simdjson::NUMBER_OUT_OF_RANGE;
case simdjson::ondemand::number_type::big_integer:
VELOX_UNREACHABLE(); // value.get_number() would have failed
// already.
}
break;
}
Expand Down

0 comments on commit 9b9672c

Please sign in to comment.