couchbase 3.4.0 → 3.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/ext/couchbase/CMakeLists.txt +8 -3
- data/ext/couchbase/cmake/CompilerWarnings.cmake +12 -4
- data/ext/couchbase/cmake/Documentation.cmake +4 -3
- data/ext/couchbase/cmake/OpenSSL.cmake +52 -7
- data/ext/couchbase/cmake/VersionInfo.cmake +39 -3
- data/ext/couchbase/cmake/test_openssl.cxx +7 -0
- data/ext/couchbase/core/crypto/CMakeLists.txt +5 -1
- data/ext/couchbase/core/impl/collection_query_index_manager.cxx +3 -3
- data/ext/couchbase/core/impl/get_all_query_indexes.cxx +3 -3
- data/ext/couchbase/core/impl/transaction_get_result.cxx +54 -0
- data/ext/couchbase/core/meta/CMakeLists.txt +7 -5
- data/ext/couchbase/core/meta/version.cxx +19 -0
- data/ext/couchbase/core/operations/document_search.cxx +5 -2
- data/ext/couchbase/core/operations/document_search.hxx +0 -1
- data/ext/couchbase/core/transactions/atr_cleanup_entry.cxx +1 -0
- data/ext/couchbase/core/transactions/attempt_context_impl.cxx +62 -31
- data/ext/couchbase/core/transactions/attempt_context_impl.hxx +43 -22
- data/ext/couchbase/core/transactions/forward_compat.hxx +2 -2
- data/ext/couchbase/core/transactions/internal/transaction_context.hxx +1 -1
- data/ext/couchbase/core/transactions/internal/transaction_fields.hxx +1 -0
- data/ext/couchbase/core/transactions/staged_mutation.cxx +1 -1
- data/ext/couchbase/core/transactions/staged_mutation.hxx +12 -2
- data/ext/couchbase/core/transactions/transaction_context.cxx +8 -11
- data/ext/couchbase/core/transactions/transaction_get_result.cxx +41 -31
- data/ext/couchbase/core/transactions/transaction_get_result.hxx +7 -3
- data/ext/couchbase/core/transactions/transaction_links.hxx +13 -1
- data/ext/couchbase/core/transactions/waitable_op_list.hxx +1 -0
- data/ext/couchbase/couchbase/cluster.hxx +2 -2
- data/ext/couchbase/couchbase/cluster_options.hxx +10 -10
- data/ext/couchbase/couchbase/collection.hxx +22 -17
- data/ext/couchbase/couchbase/collection_query_index_manager.hxx +1 -1
- data/ext/couchbase/couchbase/common_options.hxx +1 -1
- data/ext/couchbase/couchbase/configuration_profile.hxx +1 -1
- data/ext/couchbase/couchbase/configuration_profiles_registry.hxx +0 -1
- data/ext/couchbase/couchbase/create_primary_query_index_options.hxx +1 -1
- data/ext/couchbase/couchbase/drop_primary_query_index_options.hxx +1 -1
- data/ext/couchbase/couchbase/drop_query_index_options.hxx +1 -1
- data/ext/couchbase/couchbase/fmt/cas.hxx +12 -0
- data/ext/couchbase/couchbase/fmt/durability_level.hxx +6 -0
- data/ext/couchbase/couchbase/fmt/key_value_extended_error_info.hxx +6 -0
- data/ext/couchbase/couchbase/fmt/key_value_status_code.hxx +6 -0
- data/ext/couchbase/couchbase/fmt/mutation_token.hxx +6 -0
- data/ext/couchbase/couchbase/fmt/query_scan_consistency.hxx +6 -0
- data/ext/couchbase/couchbase/fmt/query_status.hxx +6 -0
- data/ext/couchbase/couchbase/fmt/retry_reason.hxx +6 -0
- data/ext/couchbase/couchbase/fmt/tls_verify_mode.hxx +6 -0
- data/ext/couchbase/couchbase/get_all_query_indexes_options.hxx +5 -4
- data/ext/couchbase/couchbase/query_index_manager.hxx +4 -2
- data/ext/couchbase/couchbase/scope.hxx +1 -1
- data/ext/couchbase/couchbase/subdoc/array_add_unique.hxx +2 -0
- data/ext/couchbase/couchbase/subdoc/array_append.hxx +2 -0
- data/ext/couchbase/couchbase/subdoc/array_insert.hxx +2 -0
- data/ext/couchbase/couchbase/subdoc/array_prepend.hxx +2 -0
- data/ext/couchbase/couchbase/subdoc/count.hxx +2 -0
- data/ext/couchbase/couchbase/subdoc/counter.hxx +2 -0
- data/ext/couchbase/couchbase/subdoc/exists.hxx +2 -0
- data/ext/couchbase/couchbase/subdoc/get.hxx +2 -0
- data/ext/couchbase/couchbase/subdoc/insert.hxx +2 -0
- data/ext/couchbase/couchbase/subdoc/remove.hxx +2 -0
- data/ext/couchbase/couchbase/subdoc/replace.hxx +3 -1
- data/ext/couchbase/couchbase/subdoc/upsert.hxx +2 -0
- data/ext/couchbase/couchbase/transaction_op_error_context.hxx +4 -4
- data/ext/couchbase/couchbase/transactions/transaction_get_result.hxx +36 -51
- data/ext/couchbase/couchbase/transactions/transactions_config.hxx +1 -1
- data/ext/couchbase/test/CMakeLists.txt +2 -0
- data/ext/couchbase/test/test_integration_examples.cxx +141 -0
- data/ext/couchbase/test/test_unit_transaction_utils.cxx +76 -19
- data/ext/couchbase.cxx +479 -20
- data/ext/extconf.rb +2 -1
- data/ext/revisions.rb +3 -2
- data/lib/couchbase/binary_collection.rb +4 -4
- data/lib/couchbase/collection.rb +5 -0
- data/lib/couchbase/errors.rb +10 -0
- data/lib/couchbase/management/collection_query_index_manager.rb +183 -0
- data/lib/couchbase/management/query_index_manager.rb +35 -3
- data/lib/couchbase/management.rb +1 -0
- data/lib/couchbase/options.rb +2 -3
- data/lib/couchbase/version.rb +1 -1
- metadata +9 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 738d96522993c221d75dc83546dc6c9f5447309fbbe4969f6fb92719b0427e78
|
|
4
|
+
data.tar.gz: 5189c37096e7193f5756050a9713bd7d8f75acd8949e5afe2402fc1834ed538f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 85632d1eea3c7139c246f80fadbe8135aacd4b550fdd49a0e33a98342846d39d7d1a7b45abd2d03f1ecbecb9fbdb3401d5ef16b2c52e4bfa3c08edcebfa976e3
|
|
7
|
+
data.tar.gz: 34202c48810d9ebc8c9930a1f860acafa9a97b4de8304a22e56fa811a9462f02a857d277fb3abf1572226244ed05aeaafd61d23689a74aad6cdae83c33669fca
|
data/README.md
CHANGED
|
@@ -296,8 +296,6 @@ set(couchbase_cxx_client_FILES
|
|
|
296
296
|
core/impl/retry_reason.cxx
|
|
297
297
|
core/impl/search_error_category.cxx
|
|
298
298
|
core/impl/streaming_json_lexter_error_category.cxx
|
|
299
|
-
core/impl/unlock.cxx
|
|
300
|
-
core/impl/watch_query_indexes.cxx
|
|
301
299
|
core/impl/subdoc/array_add_unique.cxx
|
|
302
300
|
core/impl/subdoc/array_append.cxx
|
|
303
301
|
core/impl/subdoc/array_insert.cxx
|
|
@@ -317,9 +315,12 @@ set(couchbase_cxx_client_FILES
|
|
|
317
315
|
core/impl/subdoc/upsert.cxx
|
|
318
316
|
core/impl/touch.cxx
|
|
319
317
|
core/impl/transaction_error_category.cxx
|
|
318
|
+
core/impl/transaction_get_result.cxx
|
|
320
319
|
core/impl/transaction_op_error_category.cxx
|
|
320
|
+
core/impl/unlock.cxx
|
|
321
321
|
core/impl/upsert.cxx
|
|
322
322
|
core/impl/view_error_category.cxx
|
|
323
|
+
core/impl/watch_query_indexes.cxx
|
|
323
324
|
core/io/dns_config.cxx
|
|
324
325
|
core/io/http_parser.cxx
|
|
325
326
|
core/io/mcbp_message.cxx
|
|
@@ -398,7 +399,11 @@ if (WIN32)
|
|
|
398
399
|
endif ()
|
|
399
400
|
|
|
400
401
|
if (NOT COUCHBASE_CXX_CLIENT_POST_LINKED_OPENSSL)
|
|
401
|
-
|
|
402
|
+
if (TARGET PkgConfig::PKG_CONFIG_OPENSSL)
|
|
403
|
+
target_link_libraries(couchbase_cxx_client PUBLIC PkgConfig::PKG_CONFIG_OPENSSL)
|
|
404
|
+
else()
|
|
405
|
+
target_link_libraries(couchbase_cxx_client PUBLIC OpenSSL::SSL OpenSSL::Crypto)
|
|
406
|
+
endif()
|
|
402
407
|
endif ()
|
|
403
408
|
|
|
404
409
|
option(COUCHBASE_CXX_CLIENT_BUILD_TESTS "Build test programs" TRUE)
|
|
@@ -67,8 +67,8 @@ function(set_project_warnings project_name)
|
|
|
67
67
|
-Wuseless-cast # warn if you perform a cast to the same type
|
|
68
68
|
-Wdeprecated-declarations # warn if [[deprecated]] elements being used
|
|
69
69
|
)
|
|
70
|
-
set(CLANG_WARNINGS ${COMMON_WARNINGS}
|
|
71
|
-
|
|
70
|
+
set(CLANG_WARNINGS ${COMMON_WARNINGS} -Wshadow # warn the user if a variable declaration shadows one from a parent
|
|
71
|
+
# context
|
|
72
72
|
)
|
|
73
73
|
|
|
74
74
|
if(MSVC)
|
|
@@ -76,9 +76,17 @@ function(set_project_warnings project_name)
|
|
|
76
76
|
elseif(CMAKE_CXX_COMPILER_ID MATCHES ".*Clang")
|
|
77
77
|
set(PROJECT_WARNINGS ${CLANG_WARNINGS})
|
|
78
78
|
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
|
79
|
-
if
|
|
79
|
+
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "11.0.0"
|
|
80
|
+
AND NOT
|
|
81
|
+
CMAKE_BUILD_TYPE
|
|
82
|
+
STREQUAL
|
|
83
|
+
"Debug")
|
|
80
84
|
# One of the occurrences: https://github.com/chriskohlhoff/asio/pull/1176
|
|
81
|
-
set(GCC_WARNINGS
|
|
85
|
+
set(GCC_WARNINGS
|
|
86
|
+
${GCC_WARNINGS}
|
|
87
|
+
-Wno-error=null-dereference
|
|
88
|
+
-Wno-error=array-bounds
|
|
89
|
+
-Wno-error=stringop-overflow)
|
|
82
90
|
endif()
|
|
83
91
|
set(PROJECT_WARNINGS ${GCC_WARNINGS})
|
|
84
92
|
else()
|
|
@@ -11,11 +11,12 @@ if(DOXYGEN_FOUND AND DOT)
|
|
|
11
11
|
file(
|
|
12
12
|
GLOB_RECURSE
|
|
13
13
|
COUCHBASE_CXX_CLIENT_PUBLIC_HEADERS
|
|
14
|
-
${PROJECT_SOURCE_DIR}/couchbase
|
|
15
|
-
${PROJECT_SOURCE_DIR}/docs/*.hxx
|
|
14
|
+
${PROJECT_SOURCE_DIR}/couchbase/**/*.hxx
|
|
15
|
+
${PROJECT_SOURCE_DIR}/docs/*.hxx
|
|
16
|
+
${PROJECT_SOURCE_DIR}/docs/*.md)
|
|
16
17
|
|
|
17
18
|
set(DOXYGEN_INPUT_DIR ${PROJECT_SOURCE_DIR}/couchbase)
|
|
18
|
-
set(DOXYGEN_OUTPUT_DIR ${PROJECT_BINARY_DIR}/couchbase-cxx-client-${
|
|
19
|
+
set(DOXYGEN_OUTPUT_DIR ${PROJECT_BINARY_DIR}/couchbase-cxx-client-${COUCHBASE_CXX_CLIENT_SEMVER})
|
|
19
20
|
set(DOXYGEN_INDEX_FILE ${DOXYGEN_OUTPUT_DIR}/html/index.html)
|
|
20
21
|
set(DOXYGEN_CONFIG_TEMPLATE ${PROJECT_SOURCE_DIR}/docs/Doxyfile.in)
|
|
21
22
|
set(DOXYGEN_CONFIG ${PROJECT_BINARY_DIR}/Doxyfile)
|
|
@@ -14,11 +14,21 @@ else()
|
|
|
14
14
|
if(NOT OPENSSL_ROOT_DIR)
|
|
15
15
|
if(APPLE AND COUCHBASE_CXX_CLIENT_USE_HOMEBREW_TO_DETECT_OPENSSL)
|
|
16
16
|
execute_process(
|
|
17
|
-
COMMAND brew --prefix openssl
|
|
17
|
+
COMMAND brew --prefix openssl
|
|
18
18
|
OUTPUT_VARIABLE OPENSSL_ROOT_DIR
|
|
19
|
+
ERROR_VARIABLE HOMEBREW_STDERR
|
|
19
20
|
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
20
21
|
if(OPENSSL_ROOT_DIR)
|
|
21
|
-
message(STATUS "Found OpenSSL prefix using
|
|
22
|
+
message(STATUS "Found OpenSSL prefix using Homebrew: ${OPENSSL_ROOT_DIR}")
|
|
23
|
+
else()
|
|
24
|
+
execute_process(
|
|
25
|
+
COMMAND brew --prefix openssl@1.1
|
|
26
|
+
OUTPUT_VARIABLE OPENSSL_ROOT_DIR
|
|
27
|
+
ERROR_VARIABLE HOMEBREW_STDERR
|
|
28
|
+
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
29
|
+
if(OPENSSL_ROOT_DIR)
|
|
30
|
+
message(STATUS "Found OpenSSL 1.1 prefix using Homebrew: ${OPENSSL_ROOT_DIR}")
|
|
31
|
+
endif()
|
|
22
32
|
endif()
|
|
23
33
|
endif()
|
|
24
34
|
if(MSVC AND COUCHBASE_CXX_CLIENT_USE_SCOOP_TO_DETECT_OPENSSL)
|
|
@@ -32,11 +42,46 @@ else()
|
|
|
32
42
|
endif()
|
|
33
43
|
endif()
|
|
34
44
|
endif()
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
45
|
+
|
|
46
|
+
find_package(OpenSSL 1.1)
|
|
47
|
+
if(OpenSSL_FOUND)
|
|
48
|
+
try_compile(
|
|
49
|
+
OPENSSL_USABLE ${CMAKE_CURRENT_BINARY_DIR}
|
|
50
|
+
${CMAKE_CURRENT_SOURCE_DIR}/cmake/test_openssl.cxx
|
|
51
|
+
LINK_LIBRARIES OpenSSL::SSL CXX_STANDARD 17)
|
|
52
|
+
if( OPENSSL_USABLE)
|
|
53
|
+
message(STATUS "OPENSSL_VERSION: ${OPENSSL_VERSION}")
|
|
54
|
+
message(STATUS "OPENSSL_INCLUDE_DIR: ${OPENSSL_INCLUDE_DIR}")
|
|
55
|
+
message(STATUS "OPENSSL_LIBRARIES: ${OPENSSL_LIBRARIES}")
|
|
56
|
+
else()
|
|
57
|
+
if(UNIX)
|
|
58
|
+
message(
|
|
59
|
+
STATUS
|
|
60
|
+
"Cannot use OpenSSL ${OPENSSL_VERSION} at \"${OPENSSL_INCLUDE_DIR}\" and \"${OPENSSL_LIBRARIES}\". Will try to use from pkg-config."
|
|
61
|
+
)
|
|
62
|
+
find_package(PkgConfig REQUIRED)
|
|
63
|
+
pkg_check_modules(PKG_CONFIG_OPENSSL REQUIRED IMPORTED_TARGET GLOBAL openssl11)
|
|
64
|
+
if(PKG_CONFIG_OPENSSL_FOUND)
|
|
65
|
+
message(STATUS "PKG_CONFIG_OPENSSL_VERSION: ${PKG_CONFIG_OPENSSL_VERSION}")
|
|
66
|
+
message(STATUS "PKG_CONFIG_OPENSSL_INCLUDE_DIRS: ${PKG_CONFIG_OPENSSL_INCLUDE_DIRS}")
|
|
67
|
+
message(STATUS "PKG_CONFIG_OPENSSL_LIBRARIES: ${PKG_CONFIG_OPENSSL_LIBRARIES}")
|
|
68
|
+
else()
|
|
69
|
+
message(FATAL_ERROR "Cannot Find OpenSSL using pkg-config, find_package() returns unusable setup")
|
|
70
|
+
endif()
|
|
71
|
+
else()
|
|
72
|
+
message(FATAL_ERROR "OpenSSL discovered by find_package() returns unusable setup")
|
|
73
|
+
endif()
|
|
74
|
+
endif()
|
|
75
|
+
elseif(UNIX)
|
|
76
|
+
find_package(PkgConfig REQUIRED)
|
|
77
|
+
pkg_check_modules(PKG_CONFIG_OPENSSL REQUIRED IMPORTED_TARGET GLOBAL openssl11)
|
|
78
|
+
if(PKG_CONFIG_OPENSSL_FOUND)
|
|
79
|
+
message(STATUS "PKG_CONFIG_OPENSSL_VERSION: ${PKG_CONFIG_OPENSSL_VERSION}")
|
|
80
|
+
message(STATUS "PKG_CONFIG_OPENSSL_INCLUDE_DIRS: ${PKG_CONFIG_OPENSSL_INCLUDE_DIRS}")
|
|
81
|
+
message(STATUS "PKG_CONFIG_OPENSSL_LIBRARIES: ${PKG_CONFIG_OPENSSL_LIBRARIES}")
|
|
82
|
+
else()
|
|
83
|
+
message(FATAL_ERROR "Cannot Find OpenSSL using pkg-config")
|
|
84
|
+
endif()
|
|
40
85
|
else()
|
|
41
86
|
message(FATAL_ERROR "Cannot build Couchbase C++ SDK without OpenSSL")
|
|
42
87
|
endif()
|
|
@@ -25,6 +25,37 @@ if(NOT COUCHBASE_CXX_CLIENT_GIT_DESCRIBE)
|
|
|
25
25
|
endif()
|
|
26
26
|
|
|
27
27
|
string(TIMESTAMP COUCHBASE_CXX_CLIENT_BUILD_TIMESTAMP "%Y-%m-%d %H:%M:%S" UTC)
|
|
28
|
+
string(TIMESTAMP COUCHBASE_CXX_CLIENT_BUILD_DATE "%Y-%m-%d" UTC)
|
|
29
|
+
|
|
30
|
+
# set(couchbase_cxx_client_BUILD_NUMBER 142)
|
|
31
|
+
# set(COUCHBASE_CXX_CLIENT_GIT_DESCRIBE "1.0.0-beta.4-27-g6807da0") #-> "couchbase_cxx_client-1.0.0-beta.4+142.27.6807da0"
|
|
32
|
+
# set(COUCHBASE_CXX_CLIENT_GIT_DESCRIBE "1.0.0-beta.4-0-g6807da0") #-> "couchbase_cxx_client-1.0.0-beta.4"
|
|
33
|
+
# set(COUCHBASE_CXX_CLIENT_GIT_DESCRIBE "1.0.0-27-g6807da0") #-> "couchbase_cxx_client-1.0.0+142.27.6807da0"
|
|
34
|
+
# set(COUCHBASE_CXX_CLIENT_GIT_DESCRIBE "1.0.0-0-g6807da0") #-> "couchbase_cxx_client-1.0.0"
|
|
35
|
+
# set(COUCHBASE_CXX_CLIENT_GIT_DESCRIBE "1.0.0") #-> "couchbase_cxx_client-1.0.0"
|
|
36
|
+
set(COUCHBASE_CXX_CLIENT_SEMVER "${couchbase_cxx_client_VERSION}")
|
|
37
|
+
set(COUCHBASE_CXX_CLIENT_PACKAGE_VERSION "${couchbase_cxx_client_VERSION}")
|
|
38
|
+
set(COUCHBASE_CXX_CLIENT_PACKAGE_RELEASE "${couchbase_cxx_client_BUILD_NUMBER}")
|
|
39
|
+
if(COUCHBASE_CXX_CLIENT_GIT_DESCRIBE MATCHES
|
|
40
|
+
"^([0-9]+\\.[0-9]+\\.[0-9]+)(-([a-zA-Z0-9\\.]+))?(-([0-9]+)-g([a-zA-Z0-9]+))?$")
|
|
41
|
+
set(COUCHBASE_CXX_CLIENT_SEMVER "${CMAKE_MATCH_1}")
|
|
42
|
+
set(COUCHBASE_CXX_CLIENT_PACKAGE_VERSION "${CMAKE_MATCH_1}")
|
|
43
|
+
if(CMAKE_MATCH_3) # pre-release
|
|
44
|
+
set(COUCHBASE_CXX_CLIENT_SEMVER "${COUCHBASE_CXX_CLIENT_SEMVER}-${CMAKE_MATCH_3}")
|
|
45
|
+
set(COUCHBASE_CXX_CLIENT_PACKAGE_RELEASE "${CMAKE_MATCH_3}.${couchbase_cxx_client_BUILD_NUMBER}")
|
|
46
|
+
endif()
|
|
47
|
+
if(CMAKE_MATCH_5 AND CMAKE_MATCH_5 GREATER 0) # number_of_commits.build_number.sha1
|
|
48
|
+
set(COUCHBASE_CXX_CLIENT_SEMVER
|
|
49
|
+
"${COUCHBASE_CXX_CLIENT_SEMVER}+${CMAKE_MATCH_5}.${couchbase_cxx_client_BUILD_NUMBER}.${CMAKE_MATCH_6}")
|
|
50
|
+
if(CMAKE_MATCH_3) # pre-release
|
|
51
|
+
set(COUCHBASE_CXX_CLIENT_PACKAGE_RELEASE
|
|
52
|
+
"${CMAKE_MATCH_3}.${CMAKE_MATCH_5}.${couchbase_cxx_client_BUILD_NUMBER}.${CMAKE_MATCH_6}")
|
|
53
|
+
else()
|
|
54
|
+
set(COUCHBASE_CXX_CLIENT_PACKAGE_RELEASE "${CMAKE_MATCH_5}.${couchbase_cxx_client_BUILD_NUMBER}.${CMAKE_MATCH_6}")
|
|
55
|
+
endif()
|
|
56
|
+
endif()
|
|
57
|
+
endif()
|
|
58
|
+
|
|
28
59
|
configure_file(${PROJECT_SOURCE_DIR}/cmake/build_version.hxx.in
|
|
29
60
|
${PROJECT_BINARY_DIR}/generated/couchbase/build_version.hxx @ONLY)
|
|
30
61
|
configure_file(${PROJECT_SOURCE_DIR}/cmake/build_config.hxx.in
|
|
@@ -47,9 +78,14 @@ file(
|
|
|
47
78
|
#define COUCHBASE_CXX_CLIENT_LINK_OPTIONS \"$<TARGET_PROPERTY:couchbase_cxx_client,LINK_OPTIONS>\"
|
|
48
79
|
#define COUCHBASE_CXX_CLIENT_POST_LINKED_OPENSSL \"${COUCHBASE_CXX_CLIENT_POST_LINKED_OPENSSL}\"
|
|
49
80
|
|
|
50
|
-
#define
|
|
51
|
-
#define
|
|
52
|
-
#define
|
|
81
|
+
#define OPENSSL_SSL_IMPORTED_LOCATION \"$<$<TARGET_EXISTS:OpenSSL::SSL>:$<TARGET_PROPERTY:OpenSSL::SSL,IMPORTED_LOCATION>>\"
|
|
82
|
+
#define OPENSSL_SSL_INTERFACE_INCLUDE_DIRECTORIES \"$<$<TARGET_EXISTS:OpenSSL::SSL>:$<TARGET_PROPERTY:OpenSSL::SSL,INTERFACE_INCLUDE_DIRECTORIES>>\"
|
|
83
|
+
#define OPENSSL_SSL_INTERFACE_LINK_LIBRARIES \"$<$<TARGET_EXISTS:OpenSSL::SSL>:$<TARGET_PROPERTY:OpenSSL::SSL,INTERFACE_LINK_LIBRARIES>>\"
|
|
84
|
+
#define OPENSSL_CRYPTO_IMPORTED_LOCATION \"$<$<TARGET_EXISTS:OpenSSL::Crypto>:$<TARGET_PROPERTY:OpenSSL::Crypto,IMPORTED_LOCATION>>\"
|
|
85
|
+
#define OPENSSL_CRYPTO_INTERFACE_INCLUDE_DIRECTORIES \"$<$<TARGET_EXISTS:OpenSSL::Crypto>:$<TARGET_PROPERTY:OpenSSL::Crypto,INTERFACE_INCLUDE_DIRECTORIES>>\"
|
|
86
|
+
#define OPENSSL_CRYPTO_INTERFACE_LINK_LIBRARIES \"$<$<TARGET_EXISTS:OpenSSL::Crypto>:$<TARGET_PROPERTY:OpenSSL::Crypto,INTERFACE_LINK_LIBRARIES>>\"
|
|
87
|
+
#define OPENSSL_PKG_CONFIG_INTERFACE_INCLUDE_DIRECTORIES \"$<$<TARGET_EXISTS:PkgConfig::PKG_CONFIG_OPENSSL>:$<TARGET_PROPERTY:PkgConfig::PKG_CONFIG_OPENSSL,INTERFACE_INCLUDE_DIRECTORIES>>\"
|
|
88
|
+
#define OPENSSL_PKG_CONFIG_INTERFACE_LINK_LIBRARIES \"$<$<TARGET_EXISTS:PkgConfig::PKG_CONFIG_OPENSSL>:$<TARGET_PROPERTY:PkgConfig::PKG_CONFIG_OPENSSL,INTERFACE_LINK_LIBRARIES>>\"
|
|
53
89
|
|
|
54
90
|
#define CMAKE_BUILD_TYPE \"${CMAKE_BUILD_TYPE}\"
|
|
55
91
|
#define CMAKE_VERSION \"${CMAKE_VERSION}\"
|
|
@@ -4,7 +4,11 @@ target_link_libraries(couchbase_crypto PRIVATE project_options project_warnings)
|
|
|
4
4
|
target_include_directories(couchbase_crypto PRIVATE ../..)
|
|
5
5
|
|
|
6
6
|
if(NOT COUCHBASE_CXX_CLIENT_POST_LINKED_OPENSSL)
|
|
7
|
-
|
|
7
|
+
if (TARGET PkgConfig::PKG_CONFIG_OPENSSL)
|
|
8
|
+
target_link_libraries(couchbase_crypto PUBLIC PkgConfig::PKG_CONFIG_OPENSSL)
|
|
9
|
+
else()
|
|
10
|
+
target_link_libraries(couchbase_crypto PUBLIC OpenSSL::SSL OpenSSL::Crypto)
|
|
11
|
+
endif()
|
|
8
12
|
endif()
|
|
9
13
|
|
|
10
14
|
if(WIN32)
|
|
@@ -22,14 +22,14 @@ namespace couchbase
|
|
|
22
22
|
{
|
|
23
23
|
|
|
24
24
|
void
|
|
25
|
-
collection_query_index_manager::get_all_indexes(const get_all_query_indexes_options& options,
|
|
25
|
+
collection_query_index_manager::get_all_indexes(const get_all_query_indexes_options& options, get_all_query_indexes_handler&& handler) const
|
|
26
26
|
{
|
|
27
27
|
return core::impl::initiate_get_all_query_indexes(core_,
|
|
28
28
|
"",
|
|
29
29
|
options.build(),
|
|
30
30
|
core::query_context(bucket_name_, scope_name_),
|
|
31
31
|
collection_name_,
|
|
32
|
-
std::forward<
|
|
32
|
+
std::forward<get_all_query_indexes_handler>(handler));
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
void
|
|
@@ -90,4 +90,4 @@ collection_query_index_manager::watch_indexes(std::vector<std::string> index_nam
|
|
|
90
90
|
return core::impl::initiate_watch_query_indexes(
|
|
91
91
|
core_, "", std::move(index_names), options.build(), { bucket_name_, scope_name_ }, collection_name_, std::move(handler));
|
|
92
92
|
}
|
|
93
|
-
} // namespace couchbase
|
|
93
|
+
} // namespace couchbase
|
|
@@ -45,7 +45,7 @@ initiate_get_all_query_indexes(std::shared_ptr<couchbase::core::cluster> core,
|
|
|
45
45
|
couchbase::get_all_query_indexes_options::built options,
|
|
46
46
|
query_context query_ctx,
|
|
47
47
|
std::string collection_name,
|
|
48
|
-
|
|
48
|
+
get_all_query_indexes_handler&& handler)
|
|
49
49
|
{
|
|
50
50
|
core->execute(
|
|
51
51
|
operations::management::query_index_get_all_request{
|
|
@@ -68,9 +68,9 @@ void
|
|
|
68
68
|
initiate_get_all_query_indexes(std::shared_ptr<couchbase::core::cluster> core,
|
|
69
69
|
std::string bucket_name,
|
|
70
70
|
couchbase::get_all_query_indexes_options::built options,
|
|
71
|
-
|
|
71
|
+
get_all_query_indexes_handler&& handler)
|
|
72
72
|
{
|
|
73
73
|
initiate_get_all_query_indexes(core, std::move(bucket_name), options, {}, "", std::move(handler));
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
} // namespace couchbase::core::impl
|
|
76
|
+
} // namespace couchbase::core::impl
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
#include <core/transactions/transaction_get_result.hxx>
|
|
4
|
+
#include <couchbase/transactions/transaction_get_result.hxx>
|
|
5
|
+
|
|
6
|
+
namespace couchbase::transactions
|
|
7
|
+
{
|
|
8
|
+
|
|
9
|
+
transaction_get_result::transaction_get_result()
|
|
10
|
+
: base_(std::make_shared<couchbase::core::transactions::transaction_get_result>())
|
|
11
|
+
{
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const std::vector<std::byte>&
|
|
15
|
+
transaction_get_result::content() const
|
|
16
|
+
{
|
|
17
|
+
return base_->content();
|
|
18
|
+
}
|
|
19
|
+
void
|
|
20
|
+
transaction_get_result::content(std::vector<std::byte> content)
|
|
21
|
+
{
|
|
22
|
+
return base_->content(content);
|
|
23
|
+
}
|
|
24
|
+
void
|
|
25
|
+
transaction_get_result::content(std::vector<std::byte>&& content)
|
|
26
|
+
{
|
|
27
|
+
return base_->content(content);
|
|
28
|
+
}
|
|
29
|
+
const std::string
|
|
30
|
+
transaction_get_result::key() const
|
|
31
|
+
{
|
|
32
|
+
return base_->key();
|
|
33
|
+
}
|
|
34
|
+
const std::string
|
|
35
|
+
transaction_get_result::bucket() const
|
|
36
|
+
{
|
|
37
|
+
return base_->bucket();
|
|
38
|
+
}
|
|
39
|
+
const std::string
|
|
40
|
+
transaction_get_result::scope() const
|
|
41
|
+
{
|
|
42
|
+
return base_->scope();
|
|
43
|
+
}
|
|
44
|
+
const std::string
|
|
45
|
+
transaction_get_result::collection() const
|
|
46
|
+
{
|
|
47
|
+
return base_->collection();
|
|
48
|
+
}
|
|
49
|
+
const couchbase::cas
|
|
50
|
+
transaction_get_result::cas() const
|
|
51
|
+
{
|
|
52
|
+
return base_->cas();
|
|
53
|
+
}
|
|
54
|
+
} // namespace couchbase::transactions
|
|
@@ -7,11 +7,13 @@ target_link_libraries(
|
|
|
7
7
|
snappy
|
|
8
8
|
fmt::fmt
|
|
9
9
|
spdlog::spdlog)
|
|
10
|
-
target_include_directories(couchbase_meta PRIVATE
|
|
11
|
-
|
|
12
|
-
${PROJECT_SOURCE_DIR}
|
|
13
|
-
${PROJECT_SOURCE_DIR}/third_party/http_parser)
|
|
10
|
+
target_include_directories(couchbase_meta PRIVATE ${PROJECT_BINARY_DIR}/generated ${PROJECT_SOURCE_DIR}
|
|
11
|
+
${PROJECT_SOURCE_DIR}/third_party/http_parser)
|
|
14
12
|
|
|
15
13
|
if(NOT COUCHBASE_CXX_CLIENT_POST_LINKED_OPENSSL)
|
|
16
|
-
|
|
14
|
+
if (TARGET PkgConfig::PKG_CONFIG_OPENSSL)
|
|
15
|
+
target_link_libraries(couchbase_meta PUBLIC PkgConfig::PKG_CONFIG_OPENSSL)
|
|
16
|
+
else()
|
|
17
|
+
target_link_libraries(couchbase_meta PUBLIC OpenSSL::SSL OpenSSL::Crypto)
|
|
18
|
+
endif()
|
|
17
19
|
endif()
|
|
@@ -100,9 +100,28 @@ sdk_build_info()
|
|
|
100
100
|
info["openssl_runtime"] = OpenSSL_version(OPENSSL_VERSION);
|
|
101
101
|
#elif defined(SSLEAY_VERSION)
|
|
102
102
|
info["openssl_runtime"] = SSLeay_version(SSLEAY_VERSION);
|
|
103
|
+
#endif
|
|
104
|
+
#if defined(OPENSSL_INFO_CONFIG_DIR)
|
|
105
|
+
info["openssl_config_dir"] = OPENSSL_info(OPENSSL_INFO_CONFIG_DIR);
|
|
106
|
+
#elif defined(OPENSSL_DIR)
|
|
107
|
+
if (std::string config_dir(OpenSSL_version(OPENSSL_DIR)); !config_dir.empty()) {
|
|
108
|
+
if (auto quote = config_dir.find('"'); quote != std::string::npos && quote + 2 < config_dir.size()) {
|
|
109
|
+
info["openssl_config_dir"] = config_dir.substr(quote + 1, config_dir.size() - quote - 2);
|
|
110
|
+
} else {
|
|
111
|
+
info["openssl_config_dir"] = config_dir;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
103
114
|
#endif
|
|
104
115
|
info["openssl_default_cert_dir"] = X509_get_default_cert_dir();
|
|
105
116
|
info["openssl_default_cert_file"] = X509_get_default_cert_file();
|
|
117
|
+
info["openssl_ssl_interface_include_directories"] = OPENSSL_SSL_INTERFACE_INCLUDE_DIRECTORIES;
|
|
118
|
+
info["openssl_ssl_interface_link_libraries"] = OPENSSL_SSL_INTERFACE_LINK_LIBRARIES;
|
|
119
|
+
info["openssl_ssl_imported_location"] = OPENSSL_SSL_IMPORTED_LOCATION;
|
|
120
|
+
info["openssl_crypto_interface_imported_location"] = OPENSSL_CRYPTO_IMPORTED_LOCATION;
|
|
121
|
+
info["openssl_crypto_interface_include_directories"] = OPENSSL_CRYPTO_INTERFACE_INCLUDE_DIRECTORIES;
|
|
122
|
+
info["openssl_crypto_interface_link_libraries"] = OPENSSL_CRYPTO_INTERFACE_LINK_LIBRARIES;
|
|
123
|
+
info["openssl_pkg_config_interface_include_directories"] = OPENSSL_PKG_CONFIG_INTERFACE_INCLUDE_DIRECTORIES;
|
|
124
|
+
info["openssl_pkg_config_interface_link_libraries"] = OPENSSL_PKG_CONFIG_INTERFACE_LINK_LIBRARIES;
|
|
106
125
|
info["__cplusplus"] = fmt::format("{}", __cplusplus);
|
|
107
126
|
#if defined(_MSC_VER)
|
|
108
127
|
info["_MSC_VER"] = fmt::format("{}", _MSC_VER);
|
|
@@ -92,11 +92,14 @@ search_request::encode_to(search_request::encoded_request_type& encoded, http_co
|
|
|
92
92
|
{ "vectors", { { index_name, scan_vectors } } },
|
|
93
93
|
};
|
|
94
94
|
}
|
|
95
|
-
if (
|
|
96
|
-
body["scope"] = scope_name.value();
|
|
95
|
+
if (!collections.empty()) {
|
|
97
96
|
body["collections"] = collections;
|
|
98
97
|
}
|
|
99
98
|
|
|
99
|
+
for (const auto& [key, value] : raw) {
|
|
100
|
+
body[key] = utils::json::parse(value);
|
|
101
|
+
}
|
|
102
|
+
|
|
100
103
|
encoded.type = type;
|
|
101
104
|
encoded.headers["content-type"] = "application/json";
|
|
102
105
|
encoded.method = "POST";
|
|
@@ -130,7 +130,6 @@ struct search_request {
|
|
|
130
130
|
std::optional<couchbase::core::search_highlight_style> highlight_style{};
|
|
131
131
|
std::vector<std::string> highlight_fields{};
|
|
132
132
|
std::vector<std::string> fields{};
|
|
133
|
-
std::optional<std::string> scope_name{};
|
|
134
133
|
std::vector<std::string> collections{};
|
|
135
134
|
|
|
136
135
|
std::optional<couchbase::core::search_scan_consistency> scan_consistency{};
|
|
@@ -174,6 +174,7 @@ atr_cleanup_entry::do_per_doc(std::vector<doc_record> docs,
|
|
|
174
174
|
lookup_in_specs::get(ATR_ID).xattr(),
|
|
175
175
|
lookup_in_specs::get(TRANSACTION_ID).xattr(),
|
|
176
176
|
lookup_in_specs::get(ATTEMPT_ID).xattr(),
|
|
177
|
+
lookup_in_specs::get(OPERATION_ID).xattr(),
|
|
177
178
|
lookup_in_specs::get(STAGED_DATA).xattr(),
|
|
178
179
|
lookup_in_specs::get(ATR_BUCKET_NAME).xattr(),
|
|
179
180
|
lookup_in_specs::get(ATR_SCOPE_NAME).xattr(),
|