@@ -999,13 +999,21 @@ bool phongo_query_init(php_phongo_query_t *query, zval *filter, zval *options TS
999
999
array_init (zquery );
1000
1000
1001
1001
if (options ) {
1002
- /* TODO: Ensure batchSize, limit, and skip are 32-bit. Should we ensure
1003
- * that queryFlags is a valid mongoc_query_flags_t combination? */
1002
+ /* TODO: Ensure batchSize, limit, and skip are 32-bit */
1004
1003
query -> batch_size = php_array_fetchc_long (options , "batchSize" );
1005
- query -> flags = php_array_fetchc_long (options , "queryFlags" );
1006
1004
query -> limit = php_array_fetchc_long (options , "limit" );
1007
1005
query -> skip = php_array_fetchc_long (options , "skip" );
1008
1006
1007
+ query -> flags = 0 ;
1008
+ query -> flags |= php_array_fetchl_bool (options , ZEND_STRS ("tailable" )) ? MONGOC_QUERY_TAILABLE_CURSOR : 0 ;
1009
+ query -> flags |= php_array_fetchl_bool (options , ZEND_STRS ("slaveOk" )) ? MONGOC_QUERY_SLAVE_OK : 0 ;
1010
+ query -> flags |= php_array_fetchl_bool (options , ZEND_STRS ("oplogReplay" )) ? MONGOC_QUERY_OPLOG_REPLAY : 0 ;
1011
+ query -> flags |= php_array_fetchl_bool (options , ZEND_STRS ("noCursorTimeout" )) ? MONGOC_QUERY_NO_CURSOR_TIMEOUT : 0 ;
1012
+ query -> flags |= php_array_fetchl_bool (options , ZEND_STRS ("awaitData" )) ? MONGOC_QUERY_AWAIT_DATA : 0 ;
1013
+ query -> flags |= php_array_fetchl_bool (options , ZEND_STRS ("exhaust" )) ? MONGOC_QUERY_EXHAUST : 0 ;
1014
+ query -> flags |= php_array_fetchl_bool (options , ZEND_STRS ("partial" )) ? MONGOC_QUERY_PARTIAL : 0 ;
1015
+
1016
+
1009
1017
if (php_array_existsc (options , "modifiers" )) {
1010
1018
zval * modifiers = php_array_fetchc (options , "modifiers" );
1011
1019
0 commit comments