@@ -140,7 +140,6 @@ PHP_METHOD(Manager, executeWriteBatch)
140140 zval * zbatch ;
141141 zval * zwrite_concern = NULL ;
142142 php_phongo_writebatch_t * batch ;
143- php_phongo_writeconcern_t * write_concern ;
144143
145144
146145 zend_replace_error_handling (EH_THROW , phongo_exception_from_phongo_domain (PHONGO_ERROR_INVALID_ARGUMENT ), & error_handling TSRMLS_CC );
@@ -154,8 +153,7 @@ PHP_METHOD(Manager, executeWriteBatch)
154153
155154
156155 batch = (php_phongo_writebatch_t * )zend_object_store_get_object (zbatch TSRMLS_CC );
157- write_concern = (php_phongo_writeconcern_t * )zend_object_store_get_object (zwrite_concern TSRMLS_CC );
158- phongo_execute_write (intern -> client , namespace , batch -> batch , write_concern -> write_concern , 0 , return_value , return_value_used TSRMLS_CC );
156+ phongo_execute_write (intern -> client , namespace , batch -> batch , phongo_write_concern_from_zval (zwrite_concern TSRMLS_CC ), 0 , return_value , return_value_used TSRMLS_CC );
159157}
160158/* }}} */
161159/* {{{ proto MongoDB\WriteResult Manager::executeInsert(string $namespace, array|object $document[, MongoDB\WriteConcern $writeConcern = null])
@@ -169,7 +167,6 @@ PHP_METHOD(Manager, executeInsert)
169167 zval * document ;
170168 zval * zwrite_concern = NULL ;
171169 bson_t * bson ;
172- php_phongo_writeconcern_t * write_concern ;
173170
174171
175172 zend_replace_error_handling (EH_THROW , phongo_exception_from_phongo_domain (PHONGO_ERROR_INVALID_ARGUMENT ), & error_handling TSRMLS_CC );
@@ -182,10 +179,9 @@ PHP_METHOD(Manager, executeInsert)
182179 zend_restore_error_handling (& error_handling TSRMLS_CC );
183180
184181
185- write_concern = (php_phongo_writeconcern_t * )zend_object_store_get_object (zwrite_concern TSRMLS_CC );
186182 bson = bson_new ();
187183 zval_to_bson (document , PHONGO_BSON_NONE , bson , NULL TSRMLS_CC );
188- phongo_execute_single_insert (intern -> client , namespace , bson , write_concern -> write_concern , return_value , return_value_used TSRMLS_CC );
184+ phongo_execute_single_insert (intern -> client , namespace , bson , phongo_write_concern_from_zval ( zwrite_concern TSRMLS_CC ) , return_value , return_value_used TSRMLS_CC );
189185 bson_clear (& bson );
190186}
191187/* }}} */
@@ -204,7 +200,6 @@ PHP_METHOD(Manager, executeUpdate)
204200 bson_t * query ;
205201 bson_t * update ;
206202 mongoc_update_flags_t flags = MONGOC_UPDATE_NONE ;
207- php_phongo_writeconcern_t * write_concern ;
208203
209204
210205 zend_replace_error_handling (EH_THROW , phongo_exception_from_phongo_domain (PHONGO_ERROR_INVALID_ARGUMENT ), & error_handling TSRMLS_CC );
@@ -217,7 +212,6 @@ PHP_METHOD(Manager, executeUpdate)
217212 zend_restore_error_handling (& error_handling TSRMLS_CC );
218213
219214
220- write_concern = (php_phongo_writeconcern_t * )zend_object_store_get_object (zwrite_concern TSRMLS_CC );
221215 query = bson_new ();
222216 update = bson_new ();
223217 zval_to_bson (zquery , PHONGO_BSON_NONE , query , NULL TSRMLS_CC );
@@ -230,7 +224,7 @@ PHP_METHOD(Manager, executeUpdate)
230224 flags |= MONGOC_UPDATE_MULTI_UPDATE ;
231225 }
232226
233- phongo_execute_single_update (intern -> client , namespace , query , update , write_concern -> write_concern , flags , return_value , return_value_used TSRMLS_CC );
227+ phongo_execute_single_update (intern -> client , namespace , query , update , phongo_write_concern_from_zval ( zwrite_concern TSRMLS_CC ) , flags , return_value , return_value_used TSRMLS_CC );
234228 bson_clear (& query );
235229 bson_clear (& update );
236230}
@@ -248,7 +242,6 @@ PHP_METHOD(Manager, executeDelete)
248242 zval * zwrite_concern = NULL ;
249243 bson_t * bson ;
250244 mongoc_delete_flags_t flags = MONGOC_DELETE_NONE ;
251- php_phongo_writeconcern_t * write_concern ;
252245
253246
254247 zend_replace_error_handling (EH_THROW , phongo_exception_from_phongo_domain (PHONGO_ERROR_INVALID_ARGUMENT ), & error_handling TSRMLS_CC );
@@ -261,13 +254,12 @@ PHP_METHOD(Manager, executeDelete)
261254 zend_restore_error_handling (& error_handling TSRMLS_CC );
262255
263256
264- write_concern = (php_phongo_writeconcern_t * )zend_object_store_get_object (zwrite_concern TSRMLS_CC );
265257 if (deleteOptions && php_array_fetch_bool (deleteOptions , "limit" )) {
266258 flags |= MONGOC_DELETE_SINGLE_REMOVE ;
267259 }
268260 bson = bson_new ();
269261 zval_to_bson (query , PHONGO_BSON_NONE , bson , NULL TSRMLS_CC );
270- phongo_execute_single_delete (intern -> client , namespace , bson , write_concern -> write_concern , flags , return_value , return_value_used TSRMLS_CC );
262+ phongo_execute_single_delete (intern -> client , namespace , bson , phongo_write_concern_from_zval ( zwrite_concern TSRMLS_CC ) , flags , return_value , return_value_used TSRMLS_CC );
271263 bson_clear (& bson );
272264}
273265/* }}} */
0 commit comments