£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyʦ•ꎅȮFÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~芩ÊǍí`ÔÑ©ú뙵'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶êםӼ㞪éUWŸÈË%DÒÕ¬ï‘]/Åcx ‰ï2ß]ä6G[]S£Ôϯrs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ ¯¹ægƒÛowЍø^d™ý½ßB7áyMä9ÜÖUã !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --TEST-- MongoDB\Driver\Cursor debug output for query cursor includes explicit session --SKIPIF-- --FILE-- insert(['_id' => 1]); $bulk->insert(['_id' => 2]); $bulk->insert(['_id' => 3]); $manager->executeBulkWrite(NS, $bulk); $query = new MongoDB\Driver\Query([], ['batchSize' => 2]); $session = $manager->startSession(); $cursor = $manager->executeQuery(NS, $query, ['session' => $session]); $iterator = new IteratorIterator($cursor); $iterator->rewind(); $iterator->next(); printf("Cursor ID is zero: %s\n", $cursor->getId() == 0 ? 'yes' : 'no'); var_dump($cursor); $iterator->next(); /* Per PHPC-1161, the Cursor will free a reference to the Session as soon as it * is exhausted. While this is primarily done to ensure implicit sessions for * command cursors are returned to the pool ASAP, it also applies to explicit * sessions. */ printf("\nCursor ID is zero: %s\n", $cursor->getId() == 0 ? 'yes' : 'no'); var_dump($cursor); ?> ===DONE=== --EXPECTF-- Cursor ID is zero: no object(MongoDB\Driver\Cursor)#%d (%d) { %a ["session"]=> object(MongoDB\Driver\Session)#%d (%d) { %a } %a } Cursor ID is zero: yes object(MongoDB\Driver\Cursor)#%d (%d) { %a ["session"]=> NULL %a } ===DONE===