updates for 1.0.11 release

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@305112 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Kristina Chodorow 2010-11-05 21:42:01 +00:00
parent 99231ac408
commit 7214d04a66
16 changed files with 693 additions and 45 deletions

View file

@ -208,6 +208,12 @@ for ($i=0; $i<1000; $i++) {
Most of the reasons that they are not recommended for relational databases
are irrelevant to MongoDB.
</para>
<para>
Persistent connections will become the default connection type in 1.0.12. To
create a non-persistent connection, you will need to pass
<literal>"persist" =&gt; false</literal> to
<function>Mongo::__construct</function>.
</para>
</section>
<section>

View file

@ -75,17 +75,23 @@ $db = $m->foo; // get the database named "foo"
<varname>connected</varname>
<initializer>&false;</initializer>
</fieldsynopsis>
<fieldsynopsis>
<modifier>public</modifier>
<type>string</type>
<varname>status</varname>
<initializer>&null;</initializer>
</fieldsynopsis>
<fieldsynopsis>
<modifier>protected</modifier>
<type>string</type>
<varname>server</varname>
<initializer>localhost:27017</initializer>
<initializer>&null;</initializer>
</fieldsynopsis>
<fieldsynopsis>
<modifier>protected</modifier>
<type>boolean</type>
<varname>persistent</varname>
<initializer>&false;</initializer>
<initializer>&null;</initializer>
</fieldsynopsis>
@ -133,6 +139,22 @@ $db = $m->foo; // get the database named "foo"
</section>
</section>
<section>
<title>Fields</title>
<variablelist>
<varlistentry>
<term>status</term>
<listitem>
<simpara>
If this is a persistent connection, if the connection was created for
this object or is being reused. If this is not a persistent connection,
this field should be &null;.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</section>
<section>
&reftitle.seealso;
<para>

View file

@ -85,6 +85,18 @@
for checking if the index creation succeeded. The driver will throw
a MongoCursorException if index creation failed.
</para>
<para>
If you are using replication and the master has changed, using "safe"
will make the driver disconnect from the master, throw and exception,
and attempt to find a new master on the next operation (your
application must decide whether or not to retry the operation on the
new master).
</para>
<para>
If you <emphasis>do not</emphasis> use "safe" with a replica set and
the master changes, there will be no way for the driver to know about
the change so it will continuously and silently fail to write.
</para>
</listitem>
<listitem>
<para>
@ -130,6 +142,14 @@
second parameter was an optional boolean value specifying a unique
index.
</entry>
<entry>1.0.11</entry>
<entry>
"safe" will trigger master failover, if necessary.
</entry>
<entry>
<classname>MongoException</classname> will be thrown if index name
(either generated or set) is longer than 128 bytes.
</entry>
</row>
</tbody>
</tgroup>
@ -137,6 +157,23 @@
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Throws <classname>MongoException</classname> if the index name is longer than
128 bytes. (Version 1.0.11+)
</para>
<para>
Throws <classname>MongoCursorException</classname> if the "safe" option is
set and the index creation fails.
</para>
<para>
Throws <classname>MongoCursorTimeoutException</classname> if the "safe"
option is set to a value greater than one and the database cannot replicate
the operation in <literal>MongoCollection::$wtimeout</literal> milliseconds.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>

View file

@ -54,6 +54,18 @@
<classname>MongoCursorException</classname> if the insert did not
succeed.
</para>
<para>
If you are using replication and the master has changed, using "safe"
will make the driver disconnect from the master, throw and exception,
and attempt to find a new master on the next operation (your
application must decide whether or not to retry the operation on the
new master).
</para>
<para>
If you <emphasis>do not</emphasis> use "safe" with a replica set and
the master changes, there will be no way for the driver to know about
the change so it will continuously and silently fail to write.
</para>
<para>
If <literal>safe</literal> is an integer, will replicate the
insert to that many machines before returning success (or throw an
@ -127,6 +139,12 @@
before) and added "fsync" option.
</entry>
</row>
<row>
<entry>1.0.11</entry>
<entry>
Disconnects on "not master" errors if "safe" is set.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>

View file

@ -57,6 +57,18 @@
<classname>MongoCursorException</classname> if the update did not
succeed.
</para>
<para>
If you are using replication and the master has changed, using "safe"
will make the driver disconnect from the master, throw and exception,
and attempt to find a new master on the next operation (your
application must decide whether or not to retry the operation on the
new master).
</para>
<para>
If you <emphasis>do not</emphasis> use "safe" with a replica set and
the master changes, there will be no way for the driver to know about
the change so it will continuously and silently fail to write.
</para>
<para>
If <literal>safe</literal> is an integer, will replicate the
update to that many machines before returning success (or throw an
@ -132,6 +144,12 @@
there was no safe option.
</entry>
</row>
<row>
<entry>1.0.11</entry>
<entry>
Disconnects on "not master" errors if "safe" is set.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>

View file

@ -53,6 +53,18 @@
<classname>MongoCursorException</classname> if the insert did not
succeed.
</para>
<para>
If you are using replication and the master has changed, using "safe"
will make the driver disconnect from the master, throw and exception,
and attempt to find a new master on the next operation (your
application must decide whether or not to retry the operation on the
new master).
</para>
<para>
If you <emphasis>do not</emphasis> use "safe" with a replica set and
the master changes, there will be no way for the driver to know about
the change so it will continuously and silently fail to write.
</para>
<para>
If <literal>safe</literal> is an integer, will replicate the
insert to that many machines before returning success (or throw an
@ -125,6 +137,12 @@
before) and added "fsync" option.
</entry>
</row>
<row>
<entry>1.0.11</entry>
<entry>
Disconnects on "not master" errors if "safe" is set.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>

View file

@ -85,6 +85,18 @@
<classname>MongoCursorException</classname> if the update did not
succeed.
</para>
<para>
If you are using replication and the master has changed, using "safe"
will make the driver disconnect from the master, throw and exception,
and attempt to find a new master on the next operation (your
application must decide whether or not to retry the operation on the
new master).
</para>
<para>
If you <emphasis>do not</emphasis> use "safe" with a replica set and
the master changes, there will be no way for the driver to know about
the change so it will continuously and silently fail to write.
</para>
<para>
If <literal>safe</literal> is an integer, will replicate the
update to that many machines before returning success (or throw an
@ -162,6 +174,12 @@
before) and added "fsync" option.
</entry>
</row>
<row>
<entry>1.0.11</entry>
<entry>
Disconnects on "not master" errors if "safe" is set.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>

View file

@ -27,10 +27,7 @@
When the client attempts to get a result (by calling
<function>MongoCursor::next</function>, directly or indirectly), the cursor
moves into the post-query stage. At this point, the query has been executed
by the database and cannot be modified anymore. At this point, the only
functions available are the <classname>Iterator</classname> functions,
<function>MongoCursor::hasNext</function>, and
<function>MongoCursor::getNext</function>.
by the database and cannot be modified anymore.
</para>
<para>
<programlisting role="php">

View file

@ -0,0 +1,110 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="mongocursor.batchsize" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>MongoCursor::limit</refname>
<refpurpose>Sets the number of results returned per result set</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>MongoCursor</type><methodname>MongoCursor::batchSize</methodname>
<methodparam><type>int</type><parameter>num</parameter></methodparam>
</methodsynopsis>
<para>
This cannot override MongoDB's limit on the amount of data it will return to
the client (i.e., if you set batch size to 1,000,000,000, MongoDB will still
only return 4-16MB of results).
</para>
<para>
To ensure consistent behavior, the rules of batchSize and limit behavior a
little complex but work "as expected". The rules are: hard limits override
soft limits with preference given to <function>MongoCursor::limit</function>
over <function>MongoCursor::batchSize</function>. After that, whichever is
set and lower than the other will take precedence. Some examples:
</para>
<programlisting role="php">
<![CDATA[
<?php
// one batch, at most 20 items
$cursor->limit(-20)->batch(10);
// one batch, at most 10 items
$cursor->limit(20)->batch(-10);
// first batch: at most 10 items
$cursor->limit(10);
// first batch: at most 10 items
$cursor->limit(10)->batch(20);
// first batch: at most 10 items
$cursor->limit(20)->batch(10);
$cursor->limit(30)->batchSize(7)
// if we iterate through 28 items, the next call to getNext() will contact the
// database and request a batch of 2 documents
?>
]]>
</programlisting>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term>
<parameter>num</parameter>
</term>
<listitem>
<para>
The number of results to return in the next batch.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns this cursor.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Throws <classname>MongoCursorException</classname> if this cursor has
started iterating. This will change in 1.0.12, as this should be able to be
called at any time.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -35,9 +35,10 @@
Reset the cursor and try again.
</para>
</listitem>
<listitem>
<para>
Various send errors
Get next batch send errors
</para>
<para>
Code: 1
@ -47,6 +48,7 @@
still up and the network is okay.
</para>
</listitem>
<listitem>
<para>
<literal>cursor not found</literal>
@ -63,24 +65,35 @@
this).
</para>
</listitem>
<listitem>
<para>
Various database errors
Couldn't get response header.
</para>
<para>
Code: 4
</para>
</listitem>
<listitem>
<para>
The database errored out on the query. The error message should be fairly
self-explanatory, but you can check the database log for details.
<literal>cursor->buf.pos is null</literal>
</para>
<para>
Code: 3
</para>
<para>
This may indicate you are out of hard driver space or some other
extraordinary circumstance.
</para>
</listitem>
<listitem>
<para>
<literal>couldn't get response header</literal>
</para>
<para>
Code: 3
Code: 4
</para>
<para>
The driver could not fetch a reply header from the database, so it gave
@ -88,6 +101,7 @@
try the query again.
</para>
</listitem>
<listitem>
<para>
<literal>no db response</literal>
@ -101,16 +115,7 @@
response, this means the database didn't give one.
</para>
</listitem>
<listitem>
<para>
<literal>no db response</literal>
</para>
<para>
Code: 5
</para>
<para>
</para>
</listitem>
<listitem>
<para>
<literal>bad response length: %d, max: %d, did the db assert?</literal>
@ -125,9 +130,10 @@
4Mb). A response of less than 0 often means a database assertion occured.
</para>
</listitem>
<listitem>
<para>
<literal>incomplete header/response</literal>
<literal>incomplete header</literal>
</para>
<para>
Code: 7
@ -137,6 +143,59 @@
but broke off in the middle. Probably indicates a network problem.
</para>
</listitem>
<listitem>
<para>
<literal>incomplete response</literal>
</para>
<para>
Code: 8
</para>
<para>
Highly unusual. Occurs if the database response started out correctly,
but broke off in the middle. Probably indicates a network problem.
</para>
</listitem>
<listitem>
<para>
<literal>couldn't find a response</literal>
</para>
<para>
Code: 9
</para>
<para>
If the response was cached and now cannot be located.
</para>
</listitem>
<listitem>
<para>
<literal>error getting socket</literal>
</para>
<para>
Code: 10
</para>
<para>
The socket was closed or encountered an error. The driver should
automatically reconnect (if possible) on the next operation.
</para>
</listitem>
<listitem>
<para>
<literal>couldn't find reply, please try again</literal>
</para>
<para>
Code: 11
</para>
<para>
The driver saves any database responses it cannot immediately match with a
request. This exception occurs if the driver has already passed your
request's response and cannot find your response in its cache.
</para>
</listitem>
<listitem>
<para>
<literal>error getting database response: errstr</literal>
@ -149,40 +208,47 @@
subsystem. On Windows, the error message is prefixed with "WSA".
</para>
</listitem>
<listitem>
<para>
<literal>error getting database response: &lt;various&gt;</literal>
<literal>Timeout error</literal>
</para>
<para>
Code: 8
Code: 13
</para>
<para>
Something went wrong at the socket layer. This will return the error
message from the C socket library.
If there was an error while waiting for a query to complete.
</para>
</listitem>
<listitem>
<para>
<literal>couldn't find a response</literal>
<literal>couldn't send query: &lt;various&gt;</literal>
</para>
<para>
Code: 9
Code: 14
</para>
<para>
If the response was cached and now cannot be located.
</para>
</listitem>
<listitem>
<para>
various
</para>
<para>
Code: 10
</para>
<para>
No code given by the database.
C socket error on send.
</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Errors passed through by the database</title>
<para>
Database errors should always trigger MongoCursorExceptions on queries.
Error messages and codes are sent directly from the database and you should
be able to see matching errors in the database log.
</para>
<para>
A few common database errors are listed below:
</para>
<itemizedlist>
<listitem>
<para>
<literal>E11000 duplicate key error index: foo.bar.$X dup key: { /* ... */ }</literal>
@ -194,6 +260,21 @@
Database error for duplicate keys.
</para>
</listitem>
<listitem>
<para>
<literal>not master</literal>
</para>
<para>
Codes: 10107, 13435, and 10058
</para>
<para>
Not master errors, piped through by the database. Each of these will
cause the driver to disconnect and attempt to find a new master. The
actual error you get on failover may not be a "not master" error,
depending on when the change in master occurs.
</para>
</listitem>
</itemizedlist>
</section>

View file

@ -22,9 +22,160 @@
</para>
<itemizedlist>
<listitem>
<para>
<literal>non-utf8 string</literal>
<literal>The MongoSomething object has not been correctly initialized by its constructor</literal>
</para>
<para>
Code: 0
</para>
<para>
Probably your Mongo object is not connected to a database server.
</para>
</listitem>
<listitem>
<para>
<literal>zero-length keys are not allowed, did you use $ with double quotes?</literal>
</para>
<para>
Code: 1
</para>
<para>
You tried to save "" as a key. You generally should not do this. "" can
mess up subobject access and is used by MongoDB internally. However, if
you really want, you can set
<link linkend="ini.mongo.allow_empty_keys">mongo.allow_empty_keys</link>
to true in your php.ini file to override this sanity check. If you
override this, it is highly recommended that you set error checking to
strict to avoid string interpolation errors.
</para>
</listitem>
<listitem>
<para>
<literal>'.' not allowed in key: &lt;key&gt;</literal>
</para>
<para>
Code: 2
</para>
<para>
You attempted to write a key with '.' in it, which is prohibited.
</para>
</listitem>
<listitem>
<para>
<literal>insert too large: &lt;size&gt;, max: &lt;max&gt;</literal>
</para>
<para>
Code: 3
</para>
<para>
You're attempting to send too much data to the database at once: the
database will only accept inserts up to a certain size (currently 16 MB).
</para>
</listitem>
<listitem>
<para>
<literal>no elements in doc</literal>
</para>
<para>
Code: 4
</para>
<para>
You're attempting to save a document with no fields.
</para>
</listitem>
<listitem>
<para>
<literal>size of BSON doc is &lt;size&gt; bytes, max &lt;max&gt;MB</literal>
</para>
<para>
Code: 5
</para>
<para>
You're attempting to save a document that is larger than MongoDB can save.
</para>
</listitem>
<listitem>
<para>
<literal>no documents given</literal>
</para>
<para>
Code: 6
</para>
<para>
You're attempting to batch insert an empty array of documents.
</para>
</listitem>
<listitem>
<para>
<literal>MongoCollection::group takes an array, object, or MongoCode key</literal>
</para>
<para>
Code: 7
</para>
<para>
Wrong type parameter send to <function>MongoCollection::group</function>.
</para>
</listitem>
<listitem>
<para>
<literal>field names must be strings</literal>
</para>
<para>
Code: 8
</para>
<para>
You should format field selectors as
<literal>array("field1" =&gt; 1, "field2" =&gt; 1, ..., "fieldN" =&gt; 1)</literal>.
</para>
</listitem>
<listitem>
<para>
<literal>invalid regex</literal>
</para>
<para>
Code: 8
</para>
<para>
The regex passed to <classname>MongoRegex</classname> is not of the
correct form.
</para>
</listitem>
<listitem>
<para>
<literal>MongoDBRef::get: $ref field must be a string</literal>
</para>
<para>
Code: 10
</para>
</listitem>
<listitem>
<para>
<literal>MongoDBRef::get: $db field must be a string</literal>
</para>
<para>
Code: 11
</para>
</listitem>
<listitem>
<para>
<literal>non-utf8 string: &lt;str&gt;</literal>
</para>
<para>
Code: 12
</para>
<para>
This error occurs if you attempt to send a non-utf8 string to the
@ -32,22 +183,37 @@
options for the transition option of quieting this exception.
</para>
</listitem>
<listitem>
<para>
<literal>invalid regex</literal>
<literal>mutex error: &lt;err&gt;</literal>
</para>
<para>
The regex you passed in does not match the form /regex/flags.
Code: 13
</para>
<para>
The driver uses mutexes for synchronizing requests and responses in
multithreaded environments. This is a fairly serious error and may not
have a stack trace. It's unusual and should be reported to maintainers
with any system information and steps to reproduce that you can provide.
</para>
</listitem>
<listitem>
<para>
<literal>The MongoSomething object has not been correctly initialized by its constructor</literal>
<literal>index name to long: &lt;len&gt;, max &lt;max&gt; characters</literal>
</para>
<para>
Probably your Mongo object is not connected to a database server.
Code: 14
</para>
<para>
Indexes with names longer than 128 characters cannot be created. If you
get this error, you should use
<function>MongoCollection::ensureIndex</function>'s "name" option to
create a shorter name for your index.
</para>
</listitem>
</itemizedlist>
</section>
<!-- }}} -->

View file

@ -60,6 +60,13 @@ C:7:"MongoId":24:{4af9f23d8ead0e1d32000000}
</ooclass>
</classsynopsisinfo>
<!-- }}} -->
<fieldsynopsis>
<modifier>public</modifier>
<type>string</type>
<varname>$id</varname>
<initializer>&null;</initializer>
</fieldsynopsis>
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.mongoid')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />
@ -68,6 +75,20 @@ C:7:"MongoId":24:{4af9f23d8ead0e1d32000000}
</section>
<section>
<title>Fields</title>
<variablelist>
<varlistentry>
<term>$id</term>
<listitem>
<simpara>
This field contains the string representation of this object.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</section>
<section>
&reftitle.seealso;
<para>

View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="mongoid.getinc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>MongoId::getPID</refname>
<refpurpose>Gets the incremented value to create this id</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>int</type><methodname>MongoId::getInc</methodname>
<void/>
</methodsynopsis>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns the incremented value used to create this <classname>MongoId</classname>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="mongoid.getpid" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>MongoId::getPID</refname>
<refpurpose>Gets the process id used to create this</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>int</type><methodname>MongoId::getPID</methodname>
<void/>
</methodsynopsis>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
&no.function.parameters;
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns the PID used to create this <classname>MongoId</classname>.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->

View file

@ -7,6 +7,39 @@
<partintro>
<section>
<title>Change in number handling</title>
<para>
<emphasis>
The default behavior for numbers will be changing in version 1.1.0. For
most programmers, this will make the driver's numeric handling smoother and
more natural, but it may require updating application code to work.
</emphasis>
</para>
<para>
The backwards-breaking changes will be related to the serialization and
deserialization of integers. You can test how these changes will affect
your code by specifying the .ini changes now: mongo.native_int and
mongo.long_as_object will default to &true;.
</para>
<para>
Serialization: by default pre-1.1.0, all PHP integers are serialized as
32-bit integers, even on 64-bit machines. This means that large numbers get
silently truncated. In 1.1.0, 64-bit machines will, by default, save
integers as 64-bit integers. 32-bit machines will continue to save integers
as 32-bit integers (you can also use the <classname>MongoInt32</classname>
and <classname>MongoInt64</classname> classes to use 32-bit int on a 64-bit
machine or visa versa).
</para>
<para>
Deserialization: by default pre-1.1.0, 64-bit integers will be deserialized
as doubles. This is not a perfect mapped and means they will be resaved as
the wrong type (double instead of 64-bit integer). In 1.1.0, 64-bit
integers will be returned as <classname>MongoInt64</classname>'s on 32-bit
machines.
</para>
</section>
<section>
<para>
MongoDB allows programmers to save and query for data expressed in all of the

View file

@ -88,6 +88,7 @@
<function name='mongocursor::immortal' from='PECL mongo &gt;=1.0.1'/>
<function name='mongocursor::addoption' from='PECL mongo &gt;=1.0.4'/>
<function name='mongocursor::info' from='PECL mongo &gt;=1.0.5'/>
<function name='mongocursor::batchSize' from='PECL mongo &gt;=1.0.11'/>
<!-- MongoGridFS -->
<function name='mongogridfs::__construct' from='PECL mongo &gt;=0.9.0'/>
<function name='mongogridfs::find' from='PECL mongo &gt;=0.9.0'/>
@ -118,6 +119,8 @@
<function name='mongoid::__tostring' from='PECL mongo &gt;= 0.8.0'/>
<function name='mongoid::__set_state' from='PECL mongo &gt;= 1.0.8'/>
<function name='mongoid::getHostname' from='PECL mongo &gt;= 1.0.8'/>
<function name='mongoid::getPID' from='PECL mongo &gt;= 1.0.11'/>
<function name='mongoid::getInc' from='PECL mongo &gt;= 1.0.11'/>
<!-- MongoRegex -->
<function name='mongoregex::__construct' from='PECL mongo &gt;= 0.8.1'/>
<function name='mongoregex::__tostring' from='PECL mongo &gt;= 0.8.1'/>