Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RCBC-391: SDK Support for Native KV Range Scans #113

Merged
merged 6 commits into from Jul 21, 2023

Conversation

DemetrisChr
Copy link
Contributor

Added support for KV scans (Prefix, Sampling and Range scans) using the C++ SDK's implementation

Changes

  • Core update to use the C++ SDK with the latest range scan implementation
  • Added Collection#scan method which uses the C++ SDK to create a range scan orchestrator, starts a scan and returns a scan result iterator
  • Added ScanResults class which is the return type of Collection#scan and is an iterator of ScanResult objects. It encapsulates a CoreScanResult object which is created on the C++ side and has a reference to the C++ scan_result object
  • Added the Options::Scan class for scan options
  • All scan type classes in lib/key_value_scan.rb
  • Relevant tests in test/scan_test.rb
  • Example code snippet in examples/range_scan.rb

Results

  • All tests pass (Tests affected by CXXCBC-345 are skipped for now)
  • All FIT tests pass (performer changes in Gerrit change) except the ones requiring the LegacyTranscoder which is not supported by the Ruby SDK at the moment

@cb-sdk-robot
Copy link
Collaborator

Can one of the admins verify this patch?

@DemetrisChr DemetrisChr requested a review from avsej July 19, 2023 19:25
@DemetrisChr DemetrisChr merged commit eb0e74e into couchbase:main Jul 21, 2023
3 checks passed
@DemetrisChr DemetrisChr deleted the kvrs branch July 21, 2023 13:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants