File: bug00744.phpt

package info (click to toggle)
php-mongo 1.5.7-1
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 11,040 kB
  • ctags: 2,802
  • sloc: ansic: 17,632; xml: 2,195; php: 1,630; pascal: 330; makefile: 52; sh: 39
file content (41 lines) | stat: -rw-r--r-- 986 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
--TEST--
Test for PHP-744: Support the oplog_replay query flag
--SKIPIF--
<?php require_once "tests/utils/standalone.inc"; ?>
<?php if (!MONGO_STREAMS) { echo "skip This test requires streams support"; } ?>
--FILE--
<?php
require_once "tests/utils/server.inc";

function check_flag($server, $query, $cursor_options)
{
	// we only care about the query with "ts" in it
	if (isset($query['ts'])) {
		// test that only the 3rd bit is set
		if ($cursor_options['options'] == 1 << 3) {
			echo "Bit 3 (oplog_reply) is set\n";
		} else {
			echo "Not set :-(\n";
		}
	}
}

$ctx = stream_context_create(
	array(
		"mongodb" => array(
			"log_query" => "check_flag",
		)
	)
);

$dsn = MongoShellServer::getStandaloneInfo();

$m = new MongoClient($dsn, array(), array( 'context' => $ctx ));
$db = dbname();
$c = $m->$db->test;

$cursor = $c->find( array('ts' => array('$gt' => time() - 86400 )))->setFlag(3); // oplog_reply
foreach( $cursor as $foo ) {}
?>
--EXPECTF--
Bit 3 (oplog_reply) is set