So yeah, that really should be a correctly wired-up abstract class, and not an interface.
…r don't have to.
And cleaned up some other arginfo and method names/availability.
Thought I had already done this... but apparently not.
Not too keen on the name, suggestions are welcome.
…ith command cursors.
I've added the doQuery alias to rewind because it makes a lot more sense as a name during manual iteration. While testing the manual iteration, I also found that you could call next() without the query having been started, valid() would return "stuff" when iteration hasn't started, now it returns false when it hadn't, and finally made sure current() returns NULL and not true in case there is no "current" element.
We don't need MONGO_CURSOR_OPT_LONG_AS_OBJECT anymore, as that is implied by MONGO_CURSOR_OPT_CMD_CURSOR anyway. We can therefore also get rid of php_mongo_cursor_force_long_as_object. This commit also makes the conversion options into a struct, which means we potentially can add options (serialization to objects?) in there as well.
Basically we freed the data before using it in the exception.
… to shared.
… getting the expected result.
We need to do this as for cursor commands the getMore needs to run against the same connection as the original command. With this, we can now feed this used connection directly to the cursor struct as part of "Create fake cursor". Conflicts: db.c