<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:16: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>[CDRIVER-2802] match_bson_with_ctx behavior is inconsistent</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-2802</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;&lt;tt&gt;match_bson_with_ctx&lt;/tt&gt; is used during testing to compare a BSON document against a pattern. If it fails, it aborts, unless the caller has passed in a context object with certain fields set. This behavior is subtle and undocumented.  Instead, &lt;tt&gt;match_bson_with_ctx&lt;/tt&gt; should not abort, and callers of &lt;tt&gt;match_bson&lt;/tt&gt; should always check its return value for success or failure.&lt;/p&gt;</description>
                <environment></environment>
        <key id="593929">CDRIVER-2802</key>
            <summary>match_bson_with_ctx behavior is inconsistent</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="5" iconUrl="https://jira.mongodb.org/images/icons/priorities/trivial.svg">Trivial - P5</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="samantha.ritter@mongodb.com">Samantha Ritter</assignee>
                                    <reporter username="kevin.albertson@mongodb.com">Kevin Albertson</reporter>
                        <labels>
                            <label>neweng</label>
                    </labels>
                <created>Fri, 24 Aug 2018 15:20:05 +0000</created>
                <updated>Sat, 28 Oct 2023 11:29:37 +0000</updated>
                            <resolved>Tue, 4 Dec 2018 15:58:19 +0000</resolved>
                                                    <fixVersion>1.14.0</fixVersion>
                                    <component>tests</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="2079821" author="xgen-internal-githook" created="Tue, 4 Dec 2018 15:21:39 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;samantharitter&apos;, &apos;email&apos;: &apos;samantha.ritter@10gen.com&apos;, &apos;username&apos;: &apos;samantharitter&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-2802&quot; title=&quot;match_bson_with_ctx behavior is inconsistent&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-2802&quot;&gt;&lt;del&gt;CDRIVER-2802&lt;/del&gt;&lt;/a&gt; Refactor match_bson and related functions&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/15dec3db127c13f73ce63df1b6a1bb3fe48a5eb6&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/15dec3db127c13f73ce63df1b6a1bb3fe48a5eb6&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="2059136" author="samantha.ritter@10gen.com" created="Mon, 12 Nov 2018 19:00:44 +0000"  >&lt;p&gt;I have done an audit of the &lt;tt&gt;match_bson_*&lt;/tt&gt;&#160;methods. I found that most of the time, these methods will &lt;tt&gt;abort()&lt;/tt&gt; if there is no match.&#160; However, there are two ways these methods will return false without aborting:&lt;/p&gt;

&lt;p&gt;&#160;&lt;br/&gt;
1. If the &lt;a href=&quot;#L1158-L1165&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;BSON documents passed in are malformed&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;2. If the caller &lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/blob/master/src/libmongoc/tests/test-conveniences.c#L708-L713&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;calls &lt;tt&gt;match_bson_with_ctx&lt;/tt&gt; with an error message&lt;/a&gt;. If &lt;tt&gt;match_bson_with_ctx&lt;/tt&gt; is called without an error message (for example, if you call it through &lt;tt&gt;match_bson&lt;/tt&gt;) then we call &lt;tt&gt;test_error&lt;/tt&gt; and abort.&#160; If you do pass an error message, though, we will print it and return false instead.&lt;/p&gt;


&lt;p&gt;In my opinion this behavior is misleading and inconsistent. These methods should be changed to always abort when there is no match, or always return false without aborting.&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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>CXX-1675</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|htwuuv:</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>