Updated libmemcached
[m6w6/libmemcached] / libmemcached / get.cc
index b24283869a668eb001fc58f8c101213592ebd538..1deb39765ea7d2a0162acfb9a6d67e789ab1f3b0 100644 (file)
@@ -111,7 +111,9 @@ char *memcached_get_by_key(memcached_st *ptr,
 
   /* This is for historical reasons */
   if (*error == MEMCACHED_END)
+  {
     *error= MEMCACHED_NOTFOUND;
+  }
 
   if (value == NULL)
   {
@@ -121,14 +123,16 @@ char *memcached_get_by_key(memcached_st *ptr,
       memcached_return_t rc= ptr->get_key_failure(ptr, key, key_length, &ptr->result);
 
       /* On all failure drop to returning NULL */
-      if (rc == MEMCACHED_SUCCESS || rc == MEMCACHED_BUFFERED)
+      if (rc == MEMCACHED_SUCCESS or rc == MEMCACHED_BUFFERED)
       {
         if (rc == MEMCACHED_BUFFERED)
         {
           uint64_t latch; /* We use latch to track the state of the original socket */
           latch= memcached_behavior_get(ptr, MEMCACHED_BEHAVIOR_BUFFER_REQUESTS);
           if (latch == 0)
+          {
             memcached_behavior_set(ptr, MEMCACHED_BEHAVIOR_BUFFER_REQUESTS, 1);
+          }
 
           rc= memcached_set(ptr, key, key_length,
                             (memcached_result_value(&ptr->result)),
@@ -164,17 +168,6 @@ char *memcached_get_by_key(memcached_st *ptr,
     return NULL;
   }
 
-  size_t dummy_length;
-  uint32_t dummy_flags;
-  memcached_return_t dummy_error;
-
-  char *dummy_value= memcached_fetch(ptr, NULL, NULL,
-                                     &dummy_length, &dummy_flags,
-                                     &dummy_error);
-  assert_msg(dummy_value == 0, "memcached_fetch() returned additional values beyond the single get it expected");
-  assert_msg(dummy_length == 0, "memcached_fetch() returned additional values beyond the single get it expected");
-  assert_msg(ptr->query_id == query_id +1, "Programmer error, the query_id was not incremented.");
-
   return value;
 }
 
@@ -227,17 +220,12 @@ static memcached_return_t memcached_mget_by_key_real(memcached_st *ptr,
 
   if (memcached_failed(memcached_key_test(*ptr, keys, key_length, number_of_keys)))
   {
-    return memcached_set_error(*ptr, MEMCACHED_BAD_KEY_PROVIDED, MEMCACHED_AT, memcached_literal_param("A bad key value was provided"));
+    return memcached_last_error(ptr);
   }
 
   bool is_group_key_set= false;
   if (group_key and group_key_length)
   {
-    if (memcached_failed(memcached_key_test(*ptr, (const char * const *)&group_key, &group_key_length, 1)))
-    {
-      return memcached_set_error(*ptr, MEMCACHED_BAD_KEY_PROVIDED, MEMCACHED_AT, memcached_literal_param("A bad group key was provided."));
-    }
-
     master_server_key= memcached_generate_hash_with_redistribution(ptr, group_key, group_key_length);
     is_group_key_set= true;
   }
@@ -250,8 +238,7 @@ static memcached_return_t memcached_mget_by_key_real(memcached_st *ptr,
   */
   for (uint32_t x= 0; x < memcached_server_count(ptr); x++)
   {
-    memcached_server_write_instance_st instance=
-      memcached_server_instance_fetch(ptr, x);
+    memcached_server_write_instance_st instance= memcached_server_instance_fetch(ptr, x);
 
     if (memcached_server_response_count(instance))
     {
@@ -269,7 +256,7 @@ static memcached_return_t memcached_mget_by_key_real(memcached_st *ptr,
     }
   }
 
-  if (ptr->flags.binary_protocol)
+  if (memcached_is_binary(ptr))
   {
     return binary_mget_by_key(ptr, master_server_key, is_group_key_set, keys,
                               key_length, number_of_keys, mget_mode);
@@ -439,7 +426,8 @@ memcached_return_t memcached_mget_execute_by_key(memcached_st *ptr,
 
   if (memcached_is_binary(ptr) == false)
   {
-    return MEMCACHED_NOT_SUPPORTED;
+    return memcached_set_error(*ptr, MEMCACHED_NOT_SUPPORTED, MEMCACHED_AT,
+                               memcached_literal_param("ASCII protocol is not supported for memcached_mget_execute_by_key()"));
   }
 
   memcached_callback_st *original_callbacks= ptr->callbacks;
@@ -498,14 +486,18 @@ static memcached_return_t simple_binary_mget(memcached_st *ptr,
     protocol_binary_request_getk request= { }; //= {.bytes= {0}};
     request.message.header.request.magic= PROTOCOL_BINARY_REQ;
     if (mget_mode)
+    {
       request.message.header.request.opcode= PROTOCOL_BINARY_CMD_GETKQ;
+    }
     else
+    {
       request.message.header.request.opcode= PROTOCOL_BINARY_CMD_GETK;
+    }
 
     memcached_return_t vk;
     vk= memcached_validate_key_length(key_length[x],
                                       ptr->flags.binary_protocol);
-    unlikely (vk != MEMCACHED_SUCCESS)
+    if (vk != MEMCACHED_SUCCESS)
     {
       if (x > 0)
       {