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