Update with current fixes.
[m6w6/libmemcached] / libmemcached / initialize_query.cc
index abc8dfdcc906f0c8994f5ab997525e2e772c0d52..0a4aae075dbafe05d9350a7ac2a81da64f463b18 100644 (file)
  */
 
 #include <libmemcached/common.h>
-#include <libmemcached/initialize_query.h>
 
-memcached_return_t initialize_query(memcached_st *self)
+memcached_return_t initialize_query(memcached_st *self, bool increment_query_id)
 {
-  if (! self)
+  if (self == NULL)
+  {
     return MEMCACHED_INVALID_ARGUMENTS;
+  }
+
+  if (increment_query_id)
+  {
+    self->query_id++;
+  }
 
   if (self->state.is_time_for_rebuild)
   {
@@ -49,19 +55,21 @@ memcached_return_t initialize_query(memcached_st *self)
 
   if (memcached_server_count(self) == 0)
   {
-    return memcached_set_error(self, MEMCACHED_NO_SERVERS, NULL);
+    return memcached_set_error(*self, MEMCACHED_NO_SERVERS, MEMCACHED_AT);
   }
 
-
-  self->query_id++;
+  memcached_error_free(*self);
+  memcached_result_reset(&self->result);
 
   return MEMCACHED_SUCCESS;
 }
 
 memcached_return_t initialize_const_query(const memcached_st *self)
 {
-  if (! self)
+  if (self == NULL)
+  {
     return MEMCACHED_INVALID_ARGUMENTS;
+  }
 
   if (memcached_server_count(self) == 0)
   {