@@ -133,27 +133,29 @@ PHP_METHOD(Manager, executeQuery)
133133 Executes a write operation batch (e.g. insert, update, delete) */
134134PHP_METHOD (Manager , executeWriteBatch )
135135{
136- php_phongo_manager_t * intern ;
137- zend_error_handling error_handling ;
138- char * namespace ;
139- int namespace_len ;
140- zval * zbatch ;
141- zval * writeConcern = NULL ;
136+ php_phongo_manager_t * intern ;
137+ zend_error_handling error_handling ;
138+ char * namespace ;
139+ int namespace_len ;
140+ zval * zbatch ;
141+ zval * zwrite_concern = NULL ;
142142 php_phongo_writebatch_t * batch ;
143+ php_phongo_writeconcern_t * write_concern ;
143144
144145
145146 zend_replace_error_handling (EH_THROW , phongo_exception_from_phongo_domain (PHONGO_ERROR_INVALID_ARGUMENT ), & error_handling TSRMLS_CC );
146147 intern = (php_phongo_manager_t * )zend_object_store_get_object (getThis () TSRMLS_CC );
147148
148- if (zend_parse_parameters (ZEND_NUM_ARGS () TSRMLS_CC , "sO|O!" , & namespace , & namespace_len , & zbatch , php_phongo_writebatch_ce , & writeConcern , php_phongo_writeconcern_ce ) == FAILURE ) {
149+ if (zend_parse_parameters (ZEND_NUM_ARGS () TSRMLS_CC , "sO|O!" , & namespace , & namespace_len , & zbatch , php_phongo_writebatch_ce , & zwrite_concern , php_phongo_writeconcern_ce ) == FAILURE ) {
149150 zend_restore_error_handling (& error_handling TSRMLS_CC );
150151 return ;
151152 }
152153 zend_restore_error_handling (& error_handling TSRMLS_CC );
153154
154155
155156 batch = (php_phongo_writebatch_t * )zend_object_store_get_object (zbatch TSRMLS_CC );
156- phongo_execute_write (intern -> client , namespace , batch -> batch , 0 , return_value , return_value_used 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 );
157159}
158160/* }}} */
159161/* {{{ proto MongoDB\WriteResult Manager::executeInsert(string $namespace, array|object $document[, MongoDB\WriteConcern $writeConcern = null])
@@ -165,23 +167,25 @@ PHP_METHOD(Manager, executeInsert)
165167 char * namespace ;
166168 int namespace_len ;
167169 zval * document ;
168- zval * writeConcern = NULL ;
170+ zval * zwrite_concern = NULL ;
169171 bson_t * bson ;
172+ php_phongo_writeconcern_t * write_concern ;
170173
171174
172175 zend_replace_error_handling (EH_THROW , phongo_exception_from_phongo_domain (PHONGO_ERROR_INVALID_ARGUMENT ), & error_handling TSRMLS_CC );
173176 intern = (php_phongo_manager_t * )zend_object_store_get_object (getThis () TSRMLS_CC );
174177
175- if (zend_parse_parameters (ZEND_NUM_ARGS () TSRMLS_CC , "sA|O!" , & namespace , & namespace_len , & document , & writeConcern , php_phongo_writeconcern_ce ) == FAILURE ) {
178+ if (zend_parse_parameters (ZEND_NUM_ARGS () TSRMLS_CC , "sA|O!" , & namespace , & namespace_len , & document , & zwrite_concern , php_phongo_writeconcern_ce ) == FAILURE ) {
176179 zend_restore_error_handling (& error_handling TSRMLS_CC );
177180 return ;
178181 }
179182 zend_restore_error_handling (& error_handling TSRMLS_CC );
180183
181184
185+ write_concern = (php_phongo_writeconcern_t * )zend_object_store_get_object (zwrite_concern TSRMLS_CC );
182186 bson = bson_new ();
183187 zval_to_bson (document , PHONGO_BSON_NONE , bson , NULL TSRMLS_CC );
184- phongo_execute_single_insert (intern -> client , namespace , bson , return_value , return_value_used TSRMLS_CC );
188+ phongo_execute_single_insert (intern -> client , namespace , bson , write_concern -> write_concern , return_value , return_value_used TSRMLS_CC );
185189 bson_clear (& bson );
186190}
187191/* }}} */
@@ -196,22 +200,24 @@ PHP_METHOD(Manager, executeUpdate)
196200 zval * zquery ;
197201 zval * newObj ;
198202 zval * updateOptions = NULL ;
199- zval * writeConcern = NULL ;
203+ zval * zwrite_concern = NULL ;
200204 bson_t * query ;
201205 bson_t * update ;
202206 mongoc_update_flags_t flags = MONGOC_UPDATE_NONE ;
207+ php_phongo_writeconcern_t * write_concern ;
203208
204209
205210 zend_replace_error_handling (EH_THROW , phongo_exception_from_phongo_domain (PHONGO_ERROR_INVALID_ARGUMENT ), & error_handling TSRMLS_CC );
206211 intern = (php_phongo_manager_t * )zend_object_store_get_object (getThis () TSRMLS_CC );
207212
208- if (zend_parse_parameters (ZEND_NUM_ARGS () TSRMLS_CC , "sAA|a!O!" , & namespace , & namespace_len , & zquery , & newObj , & updateOptions , & writeConcern , php_phongo_writeconcern_ce ) == FAILURE ) {
213+ if (zend_parse_parameters (ZEND_NUM_ARGS () TSRMLS_CC , "sAA|a!O!" , & namespace , & namespace_len , & zquery , & newObj , & updateOptions , & zwrite_concern , php_phongo_writeconcern_ce ) == FAILURE ) {
209214 zend_restore_error_handling (& error_handling TSRMLS_CC );
210215 return ;
211216 }
212217 zend_restore_error_handling (& error_handling TSRMLS_CC );
213218
214219
220+ write_concern = (php_phongo_writeconcern_t * )zend_object_store_get_object (zwrite_concern TSRMLS_CC );
215221 query = bson_new ();
216222 update = bson_new ();
217223 zval_to_bson (zquery , PHONGO_BSON_NONE , query , NULL TSRMLS_CC );
@@ -224,7 +230,7 @@ PHP_METHOD(Manager, executeUpdate)
224230 flags |= MONGOC_UPDATE_MULTI_UPDATE ;
225231 }
226232
227- phongo_execute_single_update (intern -> client , namespace , query , update , flags , return_value , return_value_used TSRMLS_CC );
233+ phongo_execute_single_update (intern -> client , namespace , query , update , write_concern -> write_concern , flags , return_value , return_value_used TSRMLS_CC );
228234 bson_clear (& query );
229235 bson_clear (& update );
230236}
@@ -239,27 +245,29 @@ PHP_METHOD(Manager, executeDelete)
239245 int namespace_len ;
240246 zval * query ;
241247 zval * deleteOptions = NULL ;
242- zval * writeConcern = NULL ;
248+ zval * zwrite_concern = NULL ;
243249 bson_t * bson ;
244250 mongoc_delete_flags_t flags = MONGOC_DELETE_NONE ;
251+ php_phongo_writeconcern_t * write_concern ;
245252
246253
247254 zend_replace_error_handling (EH_THROW , phongo_exception_from_phongo_domain (PHONGO_ERROR_INVALID_ARGUMENT ), & error_handling TSRMLS_CC );
248255 intern = (php_phongo_manager_t * )zend_object_store_get_object (getThis () TSRMLS_CC );
249256
250- if (zend_parse_parameters (ZEND_NUM_ARGS () TSRMLS_CC , "sA|a!O!" , & namespace , & namespace_len , & query , & deleteOptions , & writeConcern , php_phongo_writeconcern_ce ) == FAILURE ) {
257+ if (zend_parse_parameters (ZEND_NUM_ARGS () TSRMLS_CC , "sA|a!O!" , & namespace , & namespace_len , & query , & deleteOptions , & zwrite_concern , php_phongo_writeconcern_ce ) == FAILURE ) {
251258 zend_restore_error_handling (& error_handling TSRMLS_CC );
252259 return ;
253260 }
254261 zend_restore_error_handling (& error_handling TSRMLS_CC );
255262
256263
264+ write_concern = (php_phongo_writeconcern_t * )zend_object_store_get_object (zwrite_concern TSRMLS_CC );
257265 if (deleteOptions && php_array_fetch_bool (deleteOptions , "limit" )) {
258266 flags |= MONGOC_DELETE_SINGLE_REMOVE ;
259267 }
260268 bson = bson_new ();
261269 zval_to_bson (query , PHONGO_BSON_NONE , bson , NULL TSRMLS_CC );
262- phongo_execute_single_delete (intern -> client , namespace , bson , flags , return_value , return_value_used TSRMLS_CC );
270+ phongo_execute_single_delete (intern -> client , namespace , bson , write_concern -> write_concern , flags , return_value , return_value_used TSRMLS_CC );
263271 bson_clear (& bson );
264272}
265273/* }}} */
0 commit comments