Skip to content

Commit 754e934

Browse files
authored
PHPC-2489: Deprecate passing WriteConcern and ReadPreference objects to execute methods (#1770)
* Prefer writeConcern and readPreference options for execute methods * Correctly use Server method in server-executeQuery-010.phpt The original test incorrectly called the Manager method. This dates back to 87fbd00.
1 parent 7590fae commit 754e934

39 files changed

+103
-38
lines changed

src/phongo_util.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@ zval* php_phongo_prep_legacy_option(zval* options, const char* key, bool* alloca
9292
Z_ADDREF_P(options);
9393
*allocated = true;
9494

95+
php_error_docref(NULL, E_DEPRECATED, "Passing the \"%s\" option directly is deprecated and will be removed in ext-mongodb 2.0", key);
96+
9597
return new_options;
9698
}
9799

tests/bulk/write-0002.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ $w = 1;
2121
$wtimeout = 1000;
2222
$writeConcern = new \MongoDB\Driver\WriteConcern($w, $wtimeout);
2323
var_dump($insertBulk);
24-
$result = $manager->executeBulkWrite(NS, $insertBulk, $writeConcern);
24+
$result = $manager->executeBulkWrite(NS, $insertBulk, ['writeConcern' => $writeConcern]);
2525
var_dump($insertBulk);
2626

2727
assert($result instanceof \MongoDB\Driver\WriteResult);
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
--TEST--
2+
MongoDB\Driver\Manager::executeBulkWrite() explicit WriteConcern argument is deprecated
3+
--SKIPIF--
4+
<?php require __DIR__ . "/../utils/basic-skipif.inc"; ?>
5+
<?php skip_if_not_live(); ?>
6+
<?php skip_if_not_clean(); ?>
7+
--FILE--
8+
<?php
9+
10+
require_once __DIR__ . "/../utils/basic.inc";
11+
12+
$manager = create_test_manager();
13+
14+
$bulk = new MongoDB\Driver\BulkWrite();
15+
$bulk->insert(['_id' => 1]);
16+
$manager->executeBulkWrite(NS, $bulk, new MongoDB\Driver\WriteConcern(0));
17+
18+
?>
19+
===DONE===
20+
<?php exit(0); ?>
21+
--EXPECTF--
22+
Deprecated: MongoDB\Driver\Manager::executeBulkWrite(): Passing the "writeConcern" option directly is deprecated and will be removed in ext-mongodb 2.0%s
23+
===DONE===

tests/manager/manager-executeBulkWrite_error-003.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ $bulk = new MongoDB\Driver\BulkWrite();
1414
$bulk->insert(array('_id' => 1, 'x' => 1));
1515

1616
try {
17-
$manager->executeBulkWrite(NS, $bulk, new MongoDB\Driver\WriteConcern(30));
17+
$manager->executeBulkWrite(NS, $bulk, ['writeConcern' => new MongoDB\Driver\WriteConcern(30)]);
1818
} catch (MongoDB\Driver\Exception\BulkWriteException $e) {
1919
printf("BulkWriteException: %s\n", $e->getMessage());
2020

tests/manager/manager-executeCommand-003.phpt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,14 @@ echo "is_secondary: ", $cursor->getServer()->isSecondary() ? 'true' : 'false', "
3232
<?php exit(0); ?>
3333
--EXPECTF--
3434
Testing primary:
35+
36+
Deprecated: MongoDB\Driver\Manager::executeCommand(): Passing the "readPreference" option directly is deprecated and will be removed in ext-mongodb 2.0%s
3537
is_primary: true
3638
is_secondary: false
3739

3840
Testing secondary:
41+
42+
Deprecated: MongoDB\Driver\Manager::executeCommand(): Passing the "readPreference" option directly is deprecated and will be removed in ext-mongodb 2.0%s
3943
is_primary: false
4044
is_secondary: true
4145

tests/manager/manager-executeQuery-004.phpt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,14 @@ echo "is_secondary: ", $cursor->getServer()->isSecondary() ? 'true' : 'false', "
3737
<?php exit(0); ?>
3838
--EXPECTF--
3939
Testing primary:
40+
41+
Deprecated: MongoDB\Driver\Manager::executeQuery(): Passing the "readPreference" option directly is deprecated and will be removed in ext-mongodb 2.0%s
4042
is_primary: true
4143
is_secondary: false
4244

4345
Testing secondary:
46+
47+
Deprecated: MongoDB\Driver\Manager::executeQuery(): Passing the "readPreference" option directly is deprecated and will be removed in ext-mongodb 2.0%s
4448
is_primary: false
4549
is_secondary: true
4650

tests/readPreference/bug0146-001.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ $rps = [
2626

2727
foreach($rps as $r) {
2828
$rp = new MongoDB\Driver\ReadPreference($r);
29-
$cursor = $manager->executeQuery(NS, new MongoDB\Driver\Query(array("my" => "query")), $rp);
29+
$cursor = $manager->executeQuery(NS, new MongoDB\Driver\Query(['my' => 'query']), ['readPreference' => $rp]);
3030
var_dump($cursor);
3131
}
3232

tests/replicaset/bug0155.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ $bulk = new MongoDB\Driver\BulkWrite();
1515
$bulk->insert(array('example' => 'document'));
1616

1717
try {
18-
$manager->executeBulkWrite(NS, $bulk, $wc);
18+
$manager->executeBulkWrite(NS, $bulk, ['writeConcern' => $wc]);
1919
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
2020
var_dump($e->getWriteResult()->getWriteConcernError());
2121
}

tests/replicaset/readconcern-001.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ $wc = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY);
1515
$bulk = new MongoDB\Driver\BulkWrite();
1616
$bulk->insert(['_id' => 1, 'x' => 1]);
1717
$bulk->insert(['_id' => 2, 'x' => 2]);
18-
$manager->executeBulkWrite(NS, $bulk, $wc);
18+
$manager->executeBulkWrite(NS, $bulk, ['writeConcern' => $wc]);
1919

2020
$rc = new MongoDB\Driver\ReadConcern(MongoDB\Driver\ReadConcern::LOCAL);
2121
$query = new MongoDB\Driver\Query(['x' => 2], ['readConcern' => $rc]);

tests/replicaset/writeconcernerror-001.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ $bulk->insert(array("my" => "value"));
1515

1616
$w = new MongoDB\Driver\WriteConcern(30, 100);
1717
try {
18-
$retval = $manager->executeBulkWrite(NS, $bulk, $w);
18+
$retval = $manager->executeBulkWrite(NS, $bulk, ['writeConcern' => $w]);
1919
} catch(MongoDB\Driver\Exception\BulkWriteException $e) {
2020
$server = $e->getWriteResult()->getServer();
2121
$server->getPort();

0 commit comments

Comments
 (0)