<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:15:18 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-2467] Provide a way to synthesize a bson_iter_t from a known offset</title>
                <link>https://jira.mongodb.org/browse/CDRIVER-2467</link>
                <project id="10030" key="CDRIVER">C Driver</project>
                    <description>&lt;p&gt;The C++ driver has a need to synthesize a bson_iter_t at a known offset within a document.&lt;/p&gt;

&lt;p&gt;Currently, it resorts to messing around with the internals of bson_iter_t to accomplish that:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;&lt;a href=&quot;https://github.com/mongodb/mongo-cxx-driver/blob/master/src/bsoncxx/document/element.cpp#L29-L34&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-cxx-driver/blob/master/src/bsoncxx/document/element.cpp#L29-L34&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;https://github.com/mongodb/mongo-cxx-driver/blob/master/src/bsoncxx/document/view.cpp#L31-L36&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-cxx-driver/blob/master/src/bsoncxx/document/view.cpp#L31-L36&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;It would be much better for the C++ driver if the C driver offered &lt;tt&gt;bson_iter_init_from_data_and_offset&lt;/tt&gt;, which worked like &lt;tt&gt;bson_iter_init_from_data&lt;/tt&gt;, but also took an offset into the object.&lt;/p&gt;

&lt;p&gt;Without this, the C++ driver can only correct this misuse of the C driver by either:&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Exposing the bson_iter_t as a member of the &lt;tt&gt;document,array&lt;/tt&gt;::element class, which would break the encapsulation of the C driver, and make us ABI dependent.&lt;/li&gt;
	&lt;li&gt;Putting a type erased bson_iter_t on the heap for every &lt;tt&gt;document,array&lt;/tt&gt;::view class, which would defeat performance of view types.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Neither of the above seems palatable.&lt;/p&gt;</description>
                <environment></environment>
        <key id="486258">CDRIVER-2467</key>
            <summary>Provide a way to synthesize a bson_iter_t from a known offset</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="13201">Fixed</resolution>
                                        <assignee username="kevin.albertson@mongodb.com">Kevin Albertson</assignee>
                                    <reporter username="andrew.morrow@mongodb.com">Andrew Morrow</reporter>
                        <labels>
                            <label>neweng</label>
                    </labels>
                <created>Tue, 23 Jan 2018 17:09:28 +0000</created>
                <updated>Sat, 28 Oct 2023 11:30:11 +0000</updated>
                            <resolved>Thu, 26 Jul 2018 14:44:25 +0000</resolved>
                                                    <fixVersion>1.13.0</fixVersion>
                                    <component>libbson</component>
                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="1957391" author="xgen-internal-githook" created="Thu, 26 Jul 2018 14:42:10 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;kevinAlbs&apos;, &apos;name&apos;: &apos;Kevin Albertson&apos;, &apos;email&apos;: &apos;kevin.albertson@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-2467&quot; title=&quot;Provide a way to synthesize a bson_iter_t from a known offset&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-2467&quot;&gt;&lt;del&gt;CDRIVER-2467&lt;/del&gt;&lt;/a&gt; use uint32_t instead of int&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/e65386b41a4a30033eef8fe3cb925abf1fc6d093&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/e65386b41a4a30033eef8fe3cb925abf1fc6d093&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1956715" author="xgen-internal-githook" created="Wed, 25 Jul 2018 20:32:42 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Kevin Albertson&apos;, &apos;email&apos;: &apos;kevin.albertson@10gen.com&apos;, &apos;username&apos;: &apos;kevinAlbs&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-2467&quot; title=&quot;Provide a way to synthesize a bson_iter_t from a known offset&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-2467&quot;&gt;&lt;del&gt;CDRIVER-2467&lt;/del&gt;&lt;/a&gt; fix travis&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/d0f3f8a163ae3489e07ca72f63ca4013720f5da8&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/d0f3f8a163ae3489e07ca72f63ca4013720f5da8&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="1956685" author="xgen-internal-githook" created="Wed, 25 Jul 2018 20:12:15 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;username&apos;: &apos;kevinAlbs&apos;, &apos;name&apos;: &apos;Kevin Albertson&apos;, &apos;email&apos;: &apos;kevin.albertson@10gen.com&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CDRIVER-2467&quot; title=&quot;Provide a way to synthesize a bson_iter_t from a known offset&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CDRIVER-2467&quot;&gt;&lt;del&gt;CDRIVER-2467&lt;/del&gt;&lt;/a&gt; create bson_iter_t from offset&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/eb556c6e7fcf0cc132228ae68989c3512557b378&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/eb556c6e7fcf0cc132228ae68989c3512557b378&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="486262">CXX-1499</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="356297">CDRIVER-2064</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_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>CDRIVER-2632</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|htg547:</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>