<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 02:56:33 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>[SERVER-1267] BSON (and other) client headers should include cleanly in any context.</title>
                <link>https://jira.mongodb.org/browse/SERVER-1267</link>
                <project id="10000" key="SERVER">Core Server</project>
                    <description>&lt;p&gt;Many of the client facing headers in mongodb use system functions without including the headers that define those functions: mongo/bson/bsonobjbuilder.h for instance, uses &apos;pow&apos;, but does not include &amp;lt;cmath&amp;gt;, uses &apos;strlen&apos;, but does not include &amp;lt;cstring&amp;gt;, etc. Similarly, the BSON headers are not complete among themselves: bsonobjbuilder.h uses util/builder.h, but does not include it.&lt;/p&gt;

&lt;p&gt;Every client facing header should compile cleanly if included as the only text in a .cc file.&lt;/p&gt;</description>
                <environment>All</environment>
        <key id="12207">SERVER-1267</key>
            <summary>BSON (and other) client headers should include cleanly in any context.</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="mathias@mongodb.com">Mathias Stearn</assignee>
                                    <reporter username="andrew.morrow@mongodb.com">Andrew Morrow</reporter>
                        <labels>
                    </labels>
                <created>Mon, 21 Jun 2010 12:29:27 +0000</created>
                <updated>Tue, 12 Jul 2016 00:29:46 +0000</updated>
                            <resolved>Tue, 7 Sep 2010 16:59:30 +0000</resolved>
                                    <version>1.5.3</version>
                                    <fixVersion>1.7.1</fixVersion>
                                    <component>Internal Client</component>
                                        <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                <comments>
                            <comment id="17841" author="auto" created="Tue, 7 Sep 2010 17:05:00 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;login&apos;: &apos;RedBeard0531&apos;, &apos;name&apos;: &apos;Mathias Stearn&apos;, &apos;email&apos;: &apos;mathias@10gen.com&apos;}
&lt;p&gt;Message: Ensure client headers include cleanly in any context &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-1267&quot; title=&quot;BSON (and other) client headers should include cleanly in any context.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-1267&quot;&gt;&lt;del&gt;SERVER-1267&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href=&quot;http://github.com/mongodb/mongo/commit/494366f5c13f539295013784a19c2f2017886474&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/mongodb/mongo/commit/494366f5c13f539295013784a19c2f2017886474&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="17840" author="redbeard0531" created="Tue, 7 Sep 2010 16:59:30 +0000"  >&lt;p&gt;we are now testing for bson.h and dbclient.h. Are there any other important ones?&lt;/p&gt;</comment>
                            <comment id="16253" author="acm" created="Wed, 28 Jul 2010 17:04:55 +0000"  >&lt;p&gt;Yes, a test would be good. I realize this fixing all of the headers is a fairly big undertaking. But maybe you could add some dummy .cc files for each of the &apos;critical&apos; user facing headers, and have those .cc files only include the associated header?&lt;/p&gt;

&lt;p&gt;So you could have bson.cc, and all it would do would be to #include &quot;bson.h&quot;. Maybe something similar for dbclient.h and dbclientcursor.h. Just hit the big ones for now to get 1.5 out the door with at least some sort of way of finding that you broke some important client headers before committing.&lt;/p&gt;

&lt;p&gt;Right now the 1.5 C++ driver headers are very fragile and often unusable in client context.&lt;/p&gt;

</comment>
                            <comment id="16242" author="eliot" created="Wed, 28 Jul 2010 04:22:07 +0000"  >&lt;p&gt;Would be nice to eventually have a test for this.&lt;/p&gt;</comment>
                            <comment id="16238" author="acm" created="Tue, 27 Jul 2010 23:10:43 +0000"  >&lt;p&gt;I&apos;d like to re-emphasize the importance of this ticket.&lt;/p&gt;

&lt;p&gt;This change&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://github.com/mongodb/mongo/commit/585b3797ff5aa6702e837ed7d87ac09a720e5793&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://github.com/mongodb/mongo/commit/585b3797ff5aa6702e837ed7d87ac09a720e5793&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;introduced a dependency in bson.h on bson::StringBuilder, but didn&apos;t include the headers for it, which breaks all code which includes bson.h as the first of its mongo includes.&lt;/p&gt;

&lt;p&gt;I realize that the include environment is probably different for files compiled within the server, and the tree does build cleanly with this change, but for those headers which are exposed as part of the client or driver API, each one needs to explicitly include headers for everything it uses.&lt;/p&gt;
</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10050" key="com.atlassian.jira.toolkit:comments">
                        <customfieldname># Replies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>5.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10055" key="com.atlassian.jira.ext.charting:firstresponsedate">
                        <customfieldname>Date of 1st Reply</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>Wed, 28 Jul 2010 04:22:07 +0000</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10052" key="com.atlassian.jira.toolkit:dayslastcommented">
                        <customfieldname>Days since reply</customfieldname>
                        <customfieldvalues>
                                        13 years, 24 weeks, 1 day ago
    
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_18254" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Dependencies</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[]]></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_10057" key="com.atlassian.jira.toolkit:lastusercommented">
                        <customfieldname>Last comment by Customer</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>true</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10056" key="com.atlassian.jira.toolkit:lastupdaterorcommenter">
                        <customfieldname>Last commenter</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>ramon.fernandez@mongodb.com</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_11151" key="com.atlassian.jira.toolkit:LastCommentDate">
                        <customfieldname>Last public comment date</customfieldname>
                        <customfieldvalues>
                            13 years, 24 weeks, 1 day ago
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10000" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Old_Backport</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10000"><![CDATA[No]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10051" key="com.atlassian.jira.toolkit:participants">
                        <customfieldname>Participants</customfieldname>
                        <customfieldvalues>
                                        <customfieldvalue>andrew.morrow@mongodb.com</customfieldvalue>
            <customfieldvalue>auto</customfieldvalue>
            <customfieldvalue>eliot</customfieldvalue>
            <customfieldvalue>mathias@mongodb.com</customfieldvalue>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                        <customfield id="customfield_14254" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Product Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrpl1z:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hrikjb:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>21979</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_23361" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Requested By</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10053" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>Time In Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_22870" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Triagers</customfieldname>
                        <customfieldvalues>
                                

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_14350" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>serverRank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hrktbj:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>