Uploaded image for project: 'Couchbase PHP client library'
  1. Couchbase PHP client library
  2. PCBC-799

Implement getMulti, upsertMulti and removeMulti



    • New Feature
    • Resolution: Fixed
    • Major
    • 3.2.2
    • None
    • library
    • None
    • 1
    • SDK48: CB++, GitHub, BktMgmnt


      To optimize network latency, we can expose multi-methods for Get, Upsert and Remove operations.

      These methods will not raise exceptions based on status codes returned from the server or any other events that happened after the operations have been scheduled. But the methods still raise exceptions if none of the operations have been sent or prepared to be sent already. For example, we are trying to execute Get operation for set of keys, where one of the keys is an empty string. In this case the library will raise exception. But if all keys are valid, and one of them does not exist, the exception will not be raised (like for regular single Get operation), and instead the application should inspect status code on the result object.

      The order and the number of the results will always match the order and number of requested keys or operations.

      • getMulti method should accept array of the strings, where each member is a document ID
      • removeMulti method should accept array the strings, where each member is a document ID. Also removeMulti allow tuples in form of [string, string], where first member is a document ID, and the second member is CAS, that must be checked by the server. If the CAS does not match to the current value, the operation will be considered failed, and the result will have corresponding status.
      • upsertMulti method should accept array of tuples in form of [string, mixed], where first member is document ID, and the second member is document value that will be encoded using current encoder and stored on the server.


        No reviews matched the request. Check your Options in the drop-down menu of this sections header.



            avsej Sergey Avseyev
            avsej Sergey Avseyev
            0 Vote for this issue
            2 Start watching this issue



              Gerrit Reviews

                There are no open Gerrit changes