couchbase 3.4.0 → 3.4.1
Sign up to get free protection for your applications and to get access to all the features.
- 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(),
|