<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:38:25 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>[GODRIVER-2367] Un-export all result type BSON unmarshaling functions and BSON struct tags</title>
                <link>https://jira.mongodb.org/browse/GODRIVER-2367</link>
                <project id="14289" key="GODRIVER">Go Driver</project>
                    <description>&lt;p&gt;Currently the &lt;tt&gt;mongo.UpdateResult&lt;/tt&gt; and &lt;tt&gt;mongo.DeleteResult&lt;/tt&gt; types support unmarshaling from BSON (either via an &lt;tt&gt;UnmarshalBSON&lt;/tt&gt; function or struct tags). However, the BSON unmarshaling logic is sometimes inconsistent with the logic used to form those result types in the operation layer. The ability to unmarshal directly from BSON appears to be vestigial from an earlier version of the driver before the CRUD spec tests, is (mostly?) unused, and potentially confusing.&lt;/p&gt;

&lt;p&gt;Remove the &lt;tt&gt;mongo.UpdateResult.UnmarshalBSON&lt;/tt&gt; function and remove the BSON struct tags from &lt;tt&gt;mongo.DeleteResult&lt;/tt&gt; in the v2.0 Go driver.&lt;/p&gt;

&lt;p&gt;Additionally, other result types support unmarshaling from BSON via an exported &lt;tt&gt;UnmarshalBSON&lt;/tt&gt; function:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;tt&gt;mongo.CollectionSpecification&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;mongo.IndexSpecification&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;gridfs.File&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Those &lt;tt&gt;UnmarshalBSON&lt;/tt&gt; functions are actually used to unmarshal the results right now, but don&apos;t need to be on an exported type. Remove the &lt;tt&gt;UnmarshalBSON&lt;/tt&gt; function from those exported result types, move them to the existing &lt;tt&gt;unmarshal&lt;span class=&quot;error&quot;&gt;&amp;#91;result type&amp;#93;&lt;/span&gt;&lt;/tt&gt; types, and move the unmarshal type to result type conversion into the relevant functions instead of in the &lt;tt&gt;UnmarshalBSON&lt;/tt&gt; function.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2016715">GODRIVER-2367</key>
            <summary>Un-export all result type BSON unmarshaling functions and BSON struct tags</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="10300" iconUrl="https://jira.mongodb.org/images/icons/priorities/medium.svg">Unknown</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="13201">Fixed</resolution>
                                        <assignee username="preston.vasquez@mongodb.com">Preston Vasquez</assignee>
                                    <reporter username="matt.dale@mongodb.com">Matt Dale</reporter>
                        <labels>
                    </labels>
                <created>Tue, 5 Apr 2022 01:27:47 +0000</created>
                <updated>Thu, 9 Nov 2023 00:40:01 +0000</updated>
                            <resolved>Thu, 9 Nov 2023 00:40:01 +0000</resolved>
                                                    <fixVersion>2.0.0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="5866298" author="xgen-internal-githook" created="Thu, 9 Nov 2023 00:39:44 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Preston Vasquez&apos;, &apos;email&apos;: &apos;prestonvasquez@icloud.com&apos;, &apos;username&apos;: &apos;prestonvasquez&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/GODRIVER-2367&quot; title=&quot;Un-export all result type BSON unmarshaling functions and BSON struct tags&quot; class=&quot;issue-link&quot; data-issue-key=&quot;GODRIVER-2367&quot;&gt;&lt;del&gt;GODRIVER-2367&lt;/del&gt;&lt;/a&gt; Un-export all result type BSON encoding logic (#1442)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-go-driver/commit/3a339ac9f657f71c4793f9dfcbdc562eb99f49cb&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-go-driver/commit/3a339ac9f657f71c4793f9dfcbdc562eb99f49cb&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="2166080">GODRIVER-2606</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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_10257" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Documentation Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="11861"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_14266" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Documentation Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&lt;p&gt;1. What would you like to communicate to the user about this feature?&lt;br/&gt;
2. Would you like the user to see examples of the syntax and/or executable code and its output?&lt;br/&gt;
3. Which versions of the driver/connector does this apply to?&lt;/p&gt;</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>GODRIVER-1787</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i29cr4:</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>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>