File: mongocursor-batchsize.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 (62 lines) | stat: -rw-r--r-- 1,202 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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
--TEST--
MongoCursor::batchSize() after iteration start
--SKIPIF--
<?php require "tests/utils/standalone.inc"; ?>
<?php if (!MONGO_STREAMS) { echo "skip This test requires streams support"; } ?>
--FILE--
<?php
require "tests/utils/server.inc";
$dsn = MongoShellServer::getStandaloneInfo();

function log_getmore($server, $cursor_options)
{
	echo "\n", __METHOD__, "\n";
}

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

$m = new MongoClient($dsn, array(), array("context" => $ctx));

$d = $m->selectDB(dbname());
$d->batchsize->drop();

$p = str_repeat("0123456789", 128);

for ($i = 0; $i < 32; $i++) {
	$d->batchsize->insert( array( 'article_id' => $i, 'pad' => $p ) );
}

$cursor = $d->batchsize->find( array( 'article_id' => array( '$gte' => 2 ) ) );

$cursor->batchSize(4);
while($r = $cursor->getNext()) {
	echo $r['article_id'], ' ';
	if ($r['article_id'] == 7) {
		$cursor->batchSize(3);
	}
	if ($r['article_id'] == 14) {
		$cursor->batchSize(5);
	}
}

?>
--EXPECTF--
2 3 4 5 
log_getmore
6 7 8 9 
log_getmore
10 11 12 
log_getmore
13 14 15 
log_getmore
16 17 18 19 20 
log_getmore
21 22 23 24 25 
log_getmore
26 27 28 29 30 
log_getmore
31