<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:10:58 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[CDRIVER-906] Separate command and query code</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-906</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;Don&apos;t create an internal cursor to execute a command with OP_QUERY.&lt;/p&gt;

&lt;p&gt;Still to do:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Get a new struct, mongoc_server_stream_t, that wraps a stream and server description&lt;/li&gt;
	&lt;li&gt;Update cluster to return mongoc_server_stream_t&apos;s with info from ismaster call on &lt;b&gt;that&lt;/b&gt; stream&lt;/li&gt;
	&lt;li&gt;Reduce calls to mongoc_cluster_get_max_bson_obj_size and co., get those values from the mongoc_server_stream_t&lt;/li&gt;
	&lt;li&gt;Reduce calls to mongoc_topology_server_by_id, prefer to pass around mongoc_server_stream_t&apos;s rather than &quot;hints&quot; or server_id&apos;s&lt;/li&gt;
	&lt;li&gt;Reduce need to pass is_write_command around.&lt;/li&gt;
	&lt;li&gt;Reduce calls to topology_select in places like mongoc_collection_aggregate: get a stream and server description at the same time&lt;/li&gt;
	&lt;li&gt;Put $readPreference into the BSON as early as possible, in order to&lt;br/&gt;
simplify run_command.&lt;/li&gt;
	&lt;li&gt;Refactor error-checking that&apos;s duplicated between my new&lt;br/&gt;
_mongoc_rpc_parse_error and the existing mongoc_cursor_error &lt;b&gt;DONE&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="233020">CDRIVER-906</key>
            <summary>Separate command and query code</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="9">Done</resolution>
                                        <assignee username="jesse@mongodb.com">A. Jesse Jiryu Davis</assignee>
                                    <reporter username="jesse@mongodb.com">A. Jesse Jiryu Davis</reporter>
                        <labels>
                    </labels>
                <created>Tue, 6 Oct 2015 13:14:24 +0000</created>
                <updated>Tue, 8 Dec 2015 02:32:39 +0000</updated>
                            <resolved>Mon, 16 Nov 2015 20:28:44 +0000</resolved>
                                                    <fixVersion>1.3.0-beta0</fixVersion>
                                    <component>libmongoc</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="1103453" author="xgen-internal-githook" created="Wed, 2 Dec 2015 18:30:48 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;derickr&apos;, u&apos;name&apos;: u&apos;Derick Rethans&apos;, u&apos;email&apos;: u&apos;github@derickrethans.nl&apos;}
&lt;p&gt;Message: mongoc_topology_description_server_by_id now takes an additional bson_error_t (&lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-906&quot; title=&quot;Separate command and query code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-906&quot;&gt;&lt;del&gt;CDRIVER-906&lt;/del&gt;&lt;/a&gt;)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-php-driver/commit/4e912f1e77b152ad2f9382b69939d4c5c0fc3011&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-php-driver/commit/4e912f1e77b152ad2f9382b69939d4c5c0fc3011&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1079961" author="xgen-internal-githook" created="Wed, 4 Nov 2015 22:47:04 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;bjori&apos;, u&apos;name&apos;: u&apos;Hannes Magnusson&apos;, u&apos;email&apos;: u&apos;bjori@php.net&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-906&quot; title=&quot;Separate command and query code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-906&quot;&gt;&lt;del&gt;CDRIVER-906&lt;/del&gt;&lt;/a&gt;: reply is allowed to be NULL&lt;/p&gt;

&lt;p&gt;Fixes test_ssl_single ()&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/bc86b1372272bb74dbc27a0b959adb4ce4bfe154&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/bc86b1372272bb74dbc27a0b959adb4ce4bfe154&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1075077" author="xgen-internal-githook" created="Fri, 30 Oct 2015 11:02:39 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-906&quot; title=&quot;Separate command and query code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-906&quot;&gt;&lt;del&gt;CDRIVER-906&lt;/del&gt;&lt;/a&gt; respect bulk_operation_set_hint&lt;/p&gt;

&lt;p&gt;Fix the driver&apos;s handling of bulk-&amp;gt;hint, and fix related issues about&lt;br/&gt;
getting max_bson_size and other ismaster fields from a newly-connected&lt;br/&gt;
server stream.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/92202b7013ff646a8529c5b5239135d80936914f&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/92202b7013ff646a8529c5b5239135d80936914f&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1075076" author="xgen-internal-githook" created="Fri, 30 Oct 2015 11:02:38 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-906&quot; title=&quot;Separate command and query code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-906&quot;&gt;&lt;del&gt;CDRIVER-906&lt;/del&gt;&lt;/a&gt; add cluster_stream_for_optype()&lt;/p&gt;

&lt;p&gt;Unify two common operations: selecting a server and getting a stream.&lt;/p&gt;

&lt;p&gt;Before, we selected a server and got its id. Typically we then looked&lt;br/&gt;
up the server description by id to check values like max_wire_version,&lt;br/&gt;
&lt;b&gt;and&lt;/b&gt; used the id to get a stream.&lt;/p&gt;

&lt;p&gt;This caused verbose code &amp;amp; many mongoc_topology_description_server_by_id&lt;br/&gt;
calls. It complicated logic for applying read preferences to queries and&lt;br/&gt;
commands, and it stood in the way of separating queries from commands.&lt;/p&gt;

&lt;p&gt;This is a large refactoring that bundles the three operations &amp;#8211; select&lt;br/&gt;
a server, get a server description, and get a stream &amp;#8211; into one call&lt;br/&gt;
_mongoc_cluster_stream_for_optype (). The return value is a new type&lt;br/&gt;
mongoc_server_stream_t that has everything required to do a command or&lt;br/&gt;
query with read preferences.&lt;/p&gt;

&lt;p&gt;apply_read_preferences is therefore somewhat simplified, and callers of&lt;br/&gt;
mongoc_cluster_run_command don&apos;t need to pass around an is_write_command&lt;br/&gt;
bool.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/89d5430fcad4668468c5bc0ac2748080a036d732&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/89d5430fcad4668468c5bc0ac2748080a036d732&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1067570" author="xgen-internal-githook" created="Thu, 22 Oct 2015 03:46:28 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: leak in mongoc_cluster_run_command_with_read_preference&lt;/p&gt;

&lt;p&gt;Memory leak in unreleased code for &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-906&quot; title=&quot;Separate command and query code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-906&quot;&gt;&lt;del&gt;CDRIVER-906&lt;/del&gt;&lt;/a&gt;.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/43f9e1be62c34de5b8ef5f79f056305aac556b64&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/43f9e1be62c34de5b8ef5f79f056305aac556b64&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1067125" author="xgen-internal-githook" created="Wed, 21 Oct 2015 18:30:49 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-906&quot; title=&quot;Separate command and query code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-906&quot;&gt;&lt;del&gt;CDRIVER-906&lt;/del&gt;&lt;/a&gt; NULL read prefs means PRIMARY&lt;/p&gt;

&lt;p&gt;Simplify some code that handles mongoc_read_prefs_t pointers by&lt;br/&gt;
requiring that NULL is allowed and means PRIMARY almost everywhere.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/6542c20194e4394cbd8eb33bbf7aa6799116fdfc&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/6542c20194e4394cbd8eb33bbf7aa6799116fdfc&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1066724" author="xgen-internal-githook" created="Wed, 21 Oct 2015 12:48:38 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-906&quot; title=&quot;Separate command and query code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-906&quot;&gt;&lt;del&gt;CDRIVER-906&lt;/del&gt;&lt;/a&gt; redundant error-checking code&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/dedda5ed36678ebe28842350c88b84aeaf6c231c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/dedda5ed36678ebe28842350c88b84aeaf6c231c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1064885" author="xgen-internal-githook" created="Mon, 19 Oct 2015 21:41:34 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-906&quot; title=&quot;Separate command and query code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-906&quot;&gt;&lt;del&gt;CDRIVER-906&lt;/del&gt;&lt;/a&gt; rename helper mongoc_read_prefs_is_primary_or_null&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/3e11c248ef2847ae9bbbf1b3408dc8984437d41b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/3e11c248ef2847ae9bbbf1b3408dc8984437d41b&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1064884" author="xgen-internal-githook" created="Mon, 19 Oct 2015 21:41:33 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-906&quot; title=&quot;Separate command and query code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-906&quot;&gt;&lt;del&gt;CDRIVER-906&lt;/del&gt;&lt;/a&gt; fix command_simple&apos;s read prefs&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/4e48e996c73bd603a91efed4978241d9e06b3237&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/4e48e996c73bd603a91efed4978241d9e06b3237&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1064883" author="xgen-internal-githook" created="Mon, 19 Oct 2015 21:41:32 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-906&quot; title=&quot;Separate command and query code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-906&quot;&gt;&lt;del&gt;CDRIVER-906&lt;/del&gt;&lt;/a&gt; new command code detects &quot;no cmd&quot; err&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/aeb9ea4ac6abc95e90202eec1a69f4322aeec708&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/aeb9ea4ac6abc95e90202eec1a69f4322aeec708&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1064882" author="xgen-internal-githook" created="Mon, 19 Oct 2015 21:41:31 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-906&quot; title=&quot;Separate command and query code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-906&quot;&gt;&lt;del&gt;CDRIVER-906&lt;/del&gt;&lt;/a&gt; remove cursor-&amp;gt;is_write_command&lt;/p&gt;

&lt;p&gt;Write commands no longer use mongoc_cursor_t.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/f8dc09ae6f29f083869d918765a687357932ec16&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/f8dc09ae6f29f083869d918765a687357932ec16&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1064881" author="xgen-internal-githook" created="Mon, 19 Oct 2015 21:41:30 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-906&quot; title=&quot;Separate command and query code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-906&quot;&gt;&lt;del&gt;CDRIVER-906&lt;/del&gt;&lt;/a&gt; don&apos;t use cursor in command_simple&lt;/p&gt;

&lt;p&gt;mongoc_client_command_simple now uses mongoc_cluster_run_command,&lt;br/&gt;
instead of creating a mongoc_cursor_t to execute the command.&lt;/p&gt;

&lt;p&gt;To support this change, apply_read_preferences and its callers now&lt;br/&gt;
take an &quot;is_write_command&quot; bool, and const-correctness is cleaned up&lt;br/&gt;
for mongoc_read_pref_t* parameters.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/db516758aae5488d06a39614186dfddb35f9334c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/db516758aae5488d06a39614186dfddb35f9334c&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1064880" author="xgen-internal-githook" created="Mon, 19 Oct 2015 21:41:29 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-906&quot; title=&quot;Separate command and query code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-906&quot;&gt;&lt;del&gt;CDRIVER-906&lt;/del&gt;&lt;/a&gt; refactor topology_server_by_id&lt;/p&gt;

&lt;p&gt;mongoc_topology_server_by_id now takes a bson_error_t to fill out if&lt;br/&gt;
the server_id is invalid. Add a thread-safe API for getting topology&lt;br/&gt;
type and server type at once, update apply_read_preferences to use it.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/6d68f65cda623e83aaf2caff60d5d96cb5da1d9f&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/6d68f65cda623e83aaf2caff60d5d96cb5da1d9f&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1060661" author="xgen-internal-githook" created="Wed, 14 Oct 2015 18:48:26 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-906&quot; title=&quot;Separate command and query code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-906&quot;&gt;&lt;del&gt;CDRIVER-906&lt;/del&gt;&lt;/a&gt; code layout&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/dacfcb678d759925868dcc97f4d339e189459c1e&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/dacfcb678d759925868dcc97f4d339e189459c1e&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1060660" author="xgen-internal-githook" created="Wed, 14 Oct 2015 18:48:25 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-906&quot; title=&quot;Separate command and query code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-906&quot;&gt;&lt;del&gt;CDRIVER-906&lt;/del&gt;&lt;/a&gt; add run_command_with_read_preference&lt;/p&gt;

&lt;p&gt;Continuing work for a full-featured command function that doesn&apos;t&lt;br/&gt;
create a mongoc_cursor_t. Previously I added error-parsing to&lt;br/&gt;
run_command, now we need a version of run_command that accepts a read&lt;br/&gt;
preference as well.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/6f2e69857f44d507c3af537191ee3128c48404c8&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/6f2e69857f44d507c3af537191ee3128c48404c8&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1058205" author="xgen-internal-githook" created="Mon, 12 Oct 2015 17:59:22 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-906&quot; title=&quot;Separate command and query code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-906&quot;&gt;&lt;del&gt;CDRIVER-906&lt;/del&gt;&lt;/a&gt; move command err parsing into run_command&lt;/p&gt;

&lt;p&gt;Further preparations for separating query and command paths.&lt;br/&gt;
mongoc_cluster_run_command () is going to become the main internal&lt;br/&gt;
implementation of commands, so it should take responsibility for&lt;br/&gt;
parsing command errors.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/268d6a1d8f66b58954c0bec9764a74946c12d1d8&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/268d6a1d8f66b58954c0bec9764a74946c12d1d8&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1054872" author="xgen-internal-githook" created="Thu, 8 Oct 2015 02:40:09 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;ajdavis&apos;, u&apos;name&apos;: u&apos;A. Jesse Jiryu Davis&apos;, u&apos;email&apos;: u&apos;jesse@mongodb.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-906&quot; title=&quot;Separate command and query code&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-906&quot;&gt;&lt;del&gt;CDRIVER-906&lt;/del&gt;&lt;/a&gt; move read pref &amp;amp; error logic from mongoc-cursor.c&lt;/p&gt;

&lt;p&gt;Preparing to separate command path from query path. No new code, just&lt;br/&gt;
moving from mongoc-cursor.c the code that will be shared between&lt;br/&gt;
commands and queries: the logic to apply a read preference to an&lt;br/&gt;
OP_QUERY, and the logic to turn an OP_REPLY into a bson_error_t.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/9470dba64fa060de585f49ee05b22aa8d636e935&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/9470dba64fa060de585f49ee05b22aa8d636e935&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="225825">CDRIVER-807</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="229446">CDRIVER-838</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="109021">CDRIVER-859</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="239714">PHPC-495</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hre0tj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="741">C Driver 2015Q2 sprint 8</customfieldvalue>
    <customfieldvalue id="760">C Driver 2015Q2 sprint 9</customfieldvalue>
    <customfieldvalue id="781">C Driver 2015Q2 sprint 10</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>