Skip to content

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
@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
Development

Successfully merging this pull request may close these issues.

3 participants