<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:20: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>[CDRIVER-4371] Remove handling of extra options for bulk write update/replace structs</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-4371</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;&lt;tt&gt;_mongoc_bulk_operation_update_append&lt;/tt&gt; takes an &lt;tt&gt;extra_opts&lt;/tt&gt; parameter, which when non-empty is concatenated to &lt;tt&gt;bson_t opts&lt;/tt&gt; and passed as the update statement options to &lt;tt&gt;_mongoc_write_command_update_append&lt;/tt&gt; or &lt;tt&gt;_mongoc_write_command_init_update&lt;/tt&gt;. At runtime, the &lt;tt&gt;extra_opts&lt;/tt&gt; parameter provided to &lt;tt&gt;_mongoc_bulk_operation_update_append&lt;/tt&gt; originates from the &lt;tt&gt;extra&lt;/tt&gt; field on the corresponding bulk write option struct.&lt;/p&gt;

&lt;p&gt;Looking at &lt;tt&gt;generate-opts.py&lt;/tt&gt;, all of the bulk write structs specify &lt;tt&gt;allow_extra=False&lt;/tt&gt;, so the &lt;tt&gt;extra&lt;/tt&gt; field on update/replace option structs should only ever be an empty document (initialized in the &lt;tt&gt;parse&lt;/tt&gt; method and later destroyed in &lt;tt&gt;cleanup&lt;/tt&gt;).&lt;/p&gt;

&lt;p&gt;If this analysis is correct, the &lt;tt&gt;extra_opts&lt;/tt&gt; parameter should simply be removed from the various &lt;tt&gt;mongoc-bulk-operation.c&lt;/tt&gt; functions.&lt;/p&gt;

&lt;p&gt;Notably, the delete operations do not reference &lt;tt&gt;extra&lt;/tt&gt; at all. The insert operations &lt;em&gt;do&lt;/em&gt; reference &lt;tt&gt;extra&lt;/tt&gt; and pass it to &lt;tt&gt;_mongoc_write_command_init_insert&lt;/tt&gt; as the &lt;tt&gt;cmd_opts&lt;/tt&gt;, which is likely also dead code (to be removed in &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-4199&quot; title=&quot;Add support for the comment field to all helpers&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-4199&quot;&gt;&lt;del&gt;CDRIVER-4199&lt;/del&gt;&lt;/a&gt; when introducing the top-level &lt;tt&gt;comment&lt;/tt&gt; option).&lt;/p&gt;</description>
                <environment></environment>
        <key id="2035865">CDRIVER-4371</key>
            <summary>Remove handling of extra options for bulk write update/replace structs</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</priority>
                        <status id="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="jmikola@mongodb.com">Jeremy Mikola</reporter>
                        <labels>
                            <label>neweng</label>
                    </labels>
                <created>Thu, 28 Apr 2022 20:49:42 +0000</created>
                <updated>Mon, 2 May 2022 19:17:20 +0000</updated>
                                                                            <component>Bulk API</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                    <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="549486">CDRIVER-2665</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1903830">CDRIVER-4199</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|i0byo0:</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>