aboutsummaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorrobot-contrib <robot-contrib@yandex-team.com>2024-12-13 14:28:16 +0300
committerrobot-contrib <robot-contrib@yandex-team.com>2024-12-13 15:43:20 +0300
commit933c5664c69e565f3ad5752f5862e0ba860a52fe (patch)
tree8236c33f8c7dc172ba5fc5f4978f38e4b7e49adc /contrib
parent8970a1a0e4f5cb97926644f3f75768d860d09ef9 (diff)
downloadydb-933c5664c69e565f3ad5752f5862e0ba860a52fe.tar.gz
Update contrib/libs/simdjson to 3.11.3
commit_hash:bbb78c8d26b70cf1fa9fb3eadd40b0c09c2550fd
Diffstat (limited to 'contrib')
-rw-r--r--contrib/libs/simdjson/.yandex_meta/override.nix4
-rw-r--r--contrib/libs/simdjson/include/simdjson/compiler_check.h7
-rw-r--r--contrib/libs/simdjson/include/simdjson/generic/ondemand/document-inl.h11
-rw-r--r--contrib/libs/simdjson/include/simdjson/simdjson_version.h4
-rw-r--r--contrib/libs/simdjson/ya.make4
5 files changed, 20 insertions, 10 deletions
diff --git a/contrib/libs/simdjson/.yandex_meta/override.nix b/contrib/libs/simdjson/.yandex_meta/override.nix
index 531d627913..be3844a37d 100644
--- a/contrib/libs/simdjson/.yandex_meta/override.nix
+++ b/contrib/libs/simdjson/.yandex_meta/override.nix
@@ -1,11 +1,11 @@
pkgs: attrs: with pkgs; rec {
- version = "3.11.2";
+ version = "3.11.3";
src = fetchFromGitHub {
owner = "simdjson";
repo = "simdjson";
rev = "v${version}";
- hash = "sha256-MQexzJyxLst8MdZ2H2LN6OG7nqgYBW3V1Euudb979yY=";
+ hash = "sha256-Gh9/vOfhEh3RXT4cSb6KpDqjYS0d1kje1JDbDiWTR0o=";
};
cmakeFlags = attrs.cmakeFlags ++ [
diff --git a/contrib/libs/simdjson/include/simdjson/compiler_check.h b/contrib/libs/simdjson/include/simdjson/compiler_check.h
index 848fdddf0e..b306ab3247 100644
--- a/contrib/libs/simdjson/include/simdjson/compiler_check.h
+++ b/contrib/libs/simdjson/include/simdjson/compiler_check.h
@@ -56,10 +56,11 @@
#endif
#endif
-#ifdef __cpp_concepts
+#if defined(__cpp_concepts) && !defined(SIMDJSON_CONCEPT_DISABLED)
#include <utility>
#define SIMDJSON_SUPPORTS_DESERIALIZATION 1
-#else // __cpp_concepts
+#else // defined(__cpp_concepts) && !defined(SIMDJSON_CONCEPT_DISABLED)
#define SIMDJSON_SUPPORTS_DESERIALIZATION 0
-#endif
+#endif // defined(__cpp_concepts) && !defined(SIMDJSON_CONCEPT_DISABLED)
+
#endif // SIMDJSON_COMPILER_CHECK_H
diff --git a/contrib/libs/simdjson/include/simdjson/generic/ondemand/document-inl.h b/contrib/libs/simdjson/include/simdjson/generic/ondemand/document-inl.h
index 4dd44f4984..ec889d35ba 100644
--- a/contrib/libs/simdjson/include/simdjson/generic/ondemand/document-inl.h
+++ b/contrib/libs/simdjson/include/simdjson/generic/ondemand/document-inl.h
@@ -246,7 +246,14 @@ simdjson_inline simdjson_result<value> document::operator[](const char *key) & n
}
simdjson_inline error_code document::consume() noexcept {
- auto error = iter.skip_child(0);
+ bool scalar = false;
+ auto error = is_scalar().get(scalar);
+ if(error) { return error; }
+ if(scalar) {
+ iter.return_current_and_advance();
+ return SUCCESS;
+ }
+ error = iter.skip_child(0);
if(error) { iter.abandon(); }
return error;
}
@@ -268,6 +275,8 @@ simdjson_inline simdjson_result<json_type> document::type() noexcept {
}
simdjson_inline simdjson_result<bool> document::is_scalar() noexcept {
+ // For more speed, we could do:
+ // return iter.is_single_token();
json_type this_type;
auto error = type().get(this_type);
if(error) { return error; }
diff --git a/contrib/libs/simdjson/include/simdjson/simdjson_version.h b/contrib/libs/simdjson/include/simdjson/simdjson_version.h
index d2d5567c83..7c6ef648b0 100644
--- a/contrib/libs/simdjson/include/simdjson/simdjson_version.h
+++ b/contrib/libs/simdjson/include/simdjson/simdjson_version.h
@@ -4,7 +4,7 @@
#define SIMDJSON_SIMDJSON_VERSION_H
/** The version of simdjson being used (major.minor.revision) */
-#define SIMDJSON_VERSION "3.11.2"
+#define SIMDJSON_VERSION "3.11.3"
namespace simdjson {
enum {
@@ -19,7 +19,7 @@ enum {
/**
* The revision (major.minor.REVISION) of simdjson being used.
*/
- SIMDJSON_VERSION_REVISION = 2
+ SIMDJSON_VERSION_REVISION = 3
};
} // namespace simdjson
diff --git a/contrib/libs/simdjson/ya.make b/contrib/libs/simdjson/ya.make
index bfb3a376e6..b9fc6efde8 100644
--- a/contrib/libs/simdjson/ya.make
+++ b/contrib/libs/simdjson/ya.make
@@ -10,9 +10,9 @@ LICENSE(
LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
-VERSION(3.11.2)
+VERSION(3.11.3)
-ORIGINAL_SOURCE(https://github.com/simdjson/simdjson/archive/v3.11.2.tar.gz)
+ORIGINAL_SOURCE(https://github.com/simdjson/simdjson/archive/v3.11.3.tar.gz)
ADDINCL(
GLOBAL contrib/libs/simdjson/include