PCBC-1048: Update all KV operations to use C++ Core API#239
Merged
DemetrisChr merged 1 commit intocouchbase:mainfrom Feb 17, 2026
Merged
PCBC-1048: Update all KV operations to use C++ Core API#239DemetrisChr merged 1 commit intocouchbase:mainfrom
DemetrisChr merged 1 commit intocouchbase:mainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR migrates remaining KV wrapper operations off the C++ Public API and onto the C++ Core API to enable wrapper-controlled observability (spans/metrics) without changing outward behavior.
Changes:
- Reworked multiple KV operations (upsert/insert/replace/remove, counter ops, get variants, replica reads, subdoc lookup/mutate) to construct and execute
core::operations::*_requestobjects. - Added shared request-field assignment helpers (content/flags/expiry/durability, lookup-in spec parsing) and shared response-to-PHP-result builders.
- Updated the embedded
couchbase-cxx-clientsubmodule revision.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| src/wrapper/conversion_utilities.hxx | Adds request assignment helpers and common result construction helpers for Core API responses. |
| src/wrapper/conversion_utilities.cxx | Moves/introduces shared helpers for legacy durability detection and lookup-in opcode decoding. |
| src/wrapper/connection_handle.cxx | Refactors KV operation implementations to use Core API requests/execution and shared result builders. |
| src/deps/couchbase-cxx-client | Bumps submodule to a newer C++ client revision used by the Core API changes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
316909d to
c34ebf6
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
61b5ee3 to
b61a870
Compare
b61a870 to
5fa7dd4
Compare
avsej
approved these changes
Feb 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
For the observability changes, all operations have to use the C++ Core API, so we have control of the operation spans/metrics on the wrapper side.
Changes
For KV operations that don't already use the C++ core API, rewrite them so they use it. This means that now no operations use the C++ Public API. This does not change any behavior.