<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 22:01:22 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>[CXX-1093] collection::distinct() should return error to user if collation specified and connection max wire version &lt; 5</title>
                <link>https://jira.mongodb.org/browse/CXX-1093</link>
                <project id="11980" key="CXX">C++ Driver</project>
                    <description>&lt;p&gt;Currently, no error is returned to the user.&lt;/p&gt;

&lt;p&gt;The work for this ticket consists of migrating the collection::distinct() implementation to use mongoc_collection_read_command_with_opts().&lt;/p&gt;</description>
                <environment></environment>
        <key id="324918">CXX-1093</key>
            <summary>collection::distinct() should return error to user if collation specified and connection max wire version &lt; 5</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</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="david.golden@mongodb.com">David Golden</assignee>
                                    <reporter username="rassi">J Rassi</reporter>
                        <labels>
                    </labels>
                <created>Wed, 19 Oct 2016 03:11:48 +0000</created>
                <updated>Tue, 13 Dec 2016 16:48:28 +0000</updated>
                            <resolved>Thu, 17 Nov 2016 03:50:16 +0000</resolved>
                                                    <fixVersion>3.1.0</fixVersion>
                                    <component>Implementation</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="1445018" author="xgen-internal-githook" created="Tue, 29 Nov 2016 18:50:28 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;xdg&apos;, u&apos;name&apos;: u&apos;David Golden&apos;, u&apos;email&apos;: u&apos;xdg@xdg.me&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CXX-1093&quot; title=&quot;collection::distinct() should return error to user if collation specified and connection max wire version &amp;lt; 5&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CXX-1093&quot;&gt;&lt;del&gt;CXX-1093&lt;/del&gt;&lt;/a&gt; Implement distinct via read command with opts&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-cxx-driver/commit/37ae0a1f4b7ef94d0401856547ceaf0ad5ce2b68&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-cxx-driver/commit/37ae0a1f4b7ef94d0401856547ceaf0ad5ce2b68&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1436588" author="david.golden" created="Thu, 17 Nov 2016 15:52:52 +0000"  >&lt;p&gt;It introduces a new error condition that might trip someone up who was playing with collation and didn&apos;t realize that distinct wasn&apos;t throwing an error when it should be.  I marked it &quot;minor&quot; to remind us to think about it later.  We might not even need to mention it.&lt;/p&gt;</comment>
                            <comment id="1436523" author="rassi@10gen.com" created="Thu, 17 Nov 2016 15:19:35 +0000"  >&lt;p&gt;David, what&apos;s your thinking behind marking this ticket as a minor backwards-incompatible change?  This ticket looks like a pure bugfix to me, and I think of all pure bugfixes as backwards-compatible (since they fix the implementation, not the documented behavior).  I could have missed something else that went into this rewrite, though.&lt;/p&gt;</comment>
                            <comment id="1436242" author="xgen-internal-githook" created="Thu, 17 Nov 2016 03:49:15 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;username&apos;: u&apos;xdg&apos;, u&apos;name&apos;: u&apos;David Golden&apos;, u&apos;email&apos;: u&apos;xdg@xdg.me&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CXX-1093&quot; title=&quot;collection::distinct() should return error to user if collation specified and connection max wire version &amp;lt; 5&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CXX-1093&quot;&gt;&lt;del&gt;CXX-1093&lt;/del&gt;&lt;/a&gt; Implement distinct via read command with opts&lt;br/&gt;
Branch: 3.1-dev&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-cxx-driver/commit/37ae0a1f4b7ef94d0401856547ceaf0ad5ce2b68&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-cxx-driver/commit/37ae0a1f4b7ef94d0401856547ceaf0ad5ce2b68&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1431673" author="david.golden" created="Fri, 11 Nov 2016 02:56:30 +0000"  >&lt;p&gt;Implementation notes:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;This returns a mongocxx::cursor, but mongoc_collection_read_command_with_opts returns only a result document&lt;/li&gt;
	&lt;li&gt;We can &lt;b&gt;synthesize&lt;/b&gt; a cursor command response, with the single document being the result document&lt;/li&gt;
	&lt;li&gt;We can then generate a libmongoc cursor from mongoc_cursor_new_from_command_reply and use that to instantiate the mongocxx::cursor to return&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This is clunky, but preserves the current API.  Fixing the API will be done as part of the version 4.0 driver (&lt;a href=&quot;https://jira.mongodb.org/browse/CXX-1126&quot; title=&quot;collection::distinct return should allow iteration over results&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CXX-1126&quot;&gt;&lt;del&gt;CXX-1126&lt;/del&gt;&lt;/a&gt;).&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="319267">CXX-1052</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="300442">CXX-971</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10011"><![CDATA[Minor Change]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <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|hrc353:</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="1351">Perl/CXX 2016-11-11</customfieldvalue>
    <customfieldvalue id="1392">Perl/CXX 2016-12-02</customfieldvalue>

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