<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:37: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-759] When calling Save with a custom ID generator in place, the default is Insert instead of Upsert</title>
                <link>https://jira.mongodb.org/browse/CSHARP-759</link>
                <project id="10041" key="CSHARP">C# Driver</project>
                    <description>&lt;p&gt;I have implemented a custom ID generator that is a hash of a couple of other fields in our document to create a single key out of a combination key.  When Iregister this generator and call Save, passing in an object of our document type, if the IsEmpty method of our IIDGenerator implementation returns true, the GenerateId method is called, and then Insert is called.  Since the Save method is supposed to be an more of an upsert, it feels more natural that this would call Update with the Upsert flag set as is done a few lines later in the code if the IsEmpty method returns false (however in this case, the custom generator is &lt;b&gt;not&lt;/b&gt; called).&lt;/p&gt;</description>
                <environment>Windows 7, Visual Studio 2012</environment>
        <key id="78961">CSHARP-759</key>
            <summary>When calling Save with a custom ID generator in place, the default is Insert instead of Upsert</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</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="robert@mongodb.com">Robert Stam</assignee>
                                    <reporter username="wkaple">Wade Kaple</reporter>
                        <labels>
                    </labels>
                <created>Thu, 13 Jun 2013 17:50:22 +0000</created>
                <updated>Thu, 20 Mar 2014 16:39:02 +0000</updated>
                            <resolved>Thu, 27 Jun 2013 20:21:39 +0000</resolved>
                                    <version>1.8.1</version>
                                                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="369360" author="rstam" created="Thu, 27 Jun 2013 20:21:17 +0000"  >&lt;p&gt;If the Id is empty and a new value is generated then we know for sure that this a new document and calling Insert is slightly more efficient than calling Update with the Upsert flag set.&lt;/p&gt;

&lt;p&gt;If the Id has a non-empty value then we can&apos;t know if it&apos;s a new document or not, which is why in this case we always do an upsert.&lt;/p&gt;

&lt;p&gt;This behavior is by design. All drivers implement Save the same way.&lt;/p&gt;</comment>
                    </comments>
                    <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|hrr4xb:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>72155</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>