<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:40:44 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>[CSHARP-1809] Consider allowing to implement the GridFSUploadStream[&lt;&gt;] and GridFSDownloadStream[&lt;&gt;]</title>
                <link>https://jira.mongodb.org/browse/CSHARP-1809</link>
                <project id="10041" key="CSHARP">C# Driver</project>
                    <description>&lt;p&gt;Currently, the IGridFSBucket&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;&amp;gt;&amp;#93;&lt;/span&gt; interfaces expose methods that return instances of the GridFSUploadStream&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;&amp;gt;&amp;#93;&lt;/span&gt; and GridFSDownloadStream&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;&amp;gt;&amp;#93;&lt;/span&gt; abstract classes. Unfortunately, their constructors are internal, so decoration of IGridFSBucket&lt;span class=&quot;error&quot;&gt;&amp;#91;&amp;lt;&amp;gt;&amp;#93;&lt;/span&gt; that requires decoration of returned streams is impossible, because one cannot inherit from a class with an internal constructor. This is disappointing, especially given that other interfaces (collection, database, client, etc.) are very much decoratable and look carefully desigined. While I understand that there might be compelling reasons for this, that are unknown to me, I ask you to consider removing the internal constructor to allow inheritance and, hence, decoration of the GridFS-related interfaces, especially since this does not look like a breaking change.&lt;/p&gt;</description>
                <environment></environment>
        <key id="326617">CSHARP-1809</key>
            <summary>Consider allowing to implement the GridFSUploadStream[&lt;&gt;] and GridFSDownloadStream[&lt;&gt;]</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="james.kovacs@mongodb.com">James Kovacs</assignee>
                                    <reporter username="onyxmaster">Aristarkh Zagorodnikov</reporter>
                        <labels>
                    </labels>
                <created>Tue, 25 Oct 2016 13:02:57 +0000</created>
                <updated>Thu, 27 Jan 2022 21:48:59 +0000</updated>
                            <resolved>Thu, 27 Jan 2022 21:48:59 +0000</resolved>
                                    <version>2.3</version>
                                    <fixVersion>2.15.0</fixVersion>
                                    <component>API</component>
                    <component>GridFS</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="4319646" author="james.kovacs" created="Thu, 27 Jan 2022 21:48:32 +0000"  >&lt;p&gt;Please note that we do not recommend or encourage mocking third-party dependencies such as the driver. Much has been written on the subject by TDD/BDD practitioners over the years and why it is considered an anti-pattern. If you feel the need to mock a third-party dependency, it is often better to wrap it in an adapter allowing you to mock the adapter (which you do own) and integration test the adapter with the actual dependency.&lt;/p&gt;</comment>
                            <comment id="4319617" author="xgen-internal-githook" created="Thu, 27 Jan 2022 21:33:06 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Brian Pickens&apos;, &apos;email&apos;: &apos;3659859+brian-pickens@users.noreply.github.com&apos;, &apos;username&apos;: &apos;brian-pickens&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-1809&quot; title=&quot;Consider allowing to implement the GridFSUploadStream[&amp;lt;&amp;gt;] and GridFSDownloadStream[&amp;lt;&amp;gt;]&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-1809&quot;&gt;&lt;del&gt;CSHARP-1809&lt;/del&gt;&lt;/a&gt;: Allow GridFSUploadStream to be mockable&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-csharp-driver/commit/292a56c1f9eebd816a68ac9983d7ef3d94853493&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-csharp-driver/commit/292a56c1f9eebd816a68ac9983d7ef3d94853493&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="4319616" author="xgen-internal-githook" created="Thu, 27 Jan 2022 21:33:05 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Brian Pickens&apos;, &apos;email&apos;: &apos;3659859+brian-pickens@users.noreply.github.com&apos;, &apos;username&apos;: &apos;brian-pickens&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-1809&quot; title=&quot;Consider allowing to implement the GridFSUploadStream[&amp;lt;&amp;gt;] and GridFSDownloadStream[&amp;lt;&amp;gt;]&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-1809&quot;&gt;&lt;del&gt;CSHARP-1809&lt;/del&gt;&lt;/a&gt;: Enable GridGFDownloadStream to be mockable&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-csharp-driver/commit/446c29e0d13d6eaf6c71688f43a29bbc3369f266&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-csharp-driver/commit/446c29e0d13d6eaf6c71688f43a29bbc3369f266&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="341902">CSHARP-1878</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </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="10038"><![CDATA[Fully Compatible]]></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|hsr6e7:</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>