1--TEST-- 2Causal consistency: default read concern includes afterClusterTime but not level 3--SKIPIF-- 4<?php require __DIR__ . "/../utils/basic-skipif.inc"; ?> 5<?php skip_if_not_libmongoc_crypto(); ?> 6<?php skip_if_not_replica_set_or_mongos_with_replica_set(); ?> 7<?php skip_if_server_version('<', '3.6'); ?> 8--FILE-- 9<?php 10require_once __DIR__ . "/../utils/basic.inc"; 11require_once __DIR__ . "/../utils/observer.php"; 12 13(new CommandObserver)->observe( 14 function() { 15 $manager = new MongoDB\Driver\Manager(URI); 16 $session = $manager->startSession(); 17 18 $query = new MongoDB\Driver\Query([]); 19 $manager->executeQuery(NS, $query, ['session' => $session]); 20 $manager->executeQuery(NS, $query, ['session' => $session]); 21 }, 22 function(stdClass $command) 23 { 24 $hasAfterClusterTime = isset($command->readConcern->afterClusterTime); 25 printf("Read concern includes afterClusterTime: %s\n", ($hasAfterClusterTime ? 'yes' : 'no')); 26 27 $hasLevel = isset($command->readConcern->level); 28 printf("Read concern includes level: %s\n", ($hasLevel ? 'yes' : 'no')); 29 } 30); 31 32?> 33===DONE=== 34<?php exit(0); ?> 35--EXPECT-- 36Read concern includes afterClusterTime: no 37Read concern includes level: no 38Read concern includes afterClusterTime: yes 39Read concern includes level: no 40===DONE=== 41