<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 09:08:48 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>[MONGOCRYPT-490] Support range float precision</title>
                <link>https://jira.mongodb.org/browse/MONGOCRYPT-490</link>
                <project id="17481" key="MONGOCRYPT">Libmongocrypt</project>
                    <description>&lt;p&gt;&lt;b&gt;Summary&lt;/b&gt;&lt;/p&gt;

&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Account for changes in &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-69667&quot; title=&quot;FLE2 range float precision: update IDL and createCollection to allow new parameter&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-69667&quot;&gt;&lt;del&gt;SERVER-69667&lt;/del&gt;&lt;/a&gt; and &lt;a href=&quot;https://jira.mongodb.org/browse/SERVER-69668&quot; title=&quot;FLE2 range float precision: update OSTType algorithm&quot; class=&quot;issue-link&quot; data-issue-key=&quot;SERVER-69668&quot;&gt;&lt;del&gt;SERVER-69668&lt;/del&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="2161734">MONGOCRYPT-490</key>
            <summary>Support range float precision</summary>
                <type id="3" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14718&amp;avatarType=issuetype">Task</type>
                                            <priority id="10300" iconUrl="https://jira.mongodb.org/images/icons/priorities/medium.svg">Unknown</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="kevin.albertson@mongodb.com">Kevin Albertson</reporter>
                        <labels>
                    </labels>
                <created>Tue, 18 Oct 2022 20:08:45 +0000</created>
                <updated>Sat, 28 Oct 2023 10:25:51 +0000</updated>
                            <resolved>Tue, 22 Nov 2022 19:15:51 +0000</resolved>
                                                    <fixVersion>1.7.0</fixVersion>
                    <fixVersion>1.7.0-alpha0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="5001608" author="xgen-internal-githook" created="Tue, 22 Nov 2022 19:15:32 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Kevin Albertson&apos;, &apos;email&apos;: &apos;kevin.albertson@mongodb.com&apos;, &apos;username&apos;: &apos;kevinAlbs&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/MONGOCRYPT-490&quot; title=&quot;Support range float precision&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MONGOCRYPT-490&quot;&gt;&lt;del&gt;MONGOCRYPT-490&lt;/del&gt;&lt;/a&gt; support precision for `double` (#497)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;add optional uint32 and uint64 types&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;port precision for mc_getTypeInfoDouble&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;link to libm&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;add min/max/precision to mincover edge and mincover algorithms&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;add precision to placeholders&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;pass precision to mincover in mc_get_mincover_from_FLE2RangeFindSpec&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;pass precision to mc_getEdgesDouble&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;update edgesInfo reference for optional&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;It was made optional in explicit encryption changes&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;support precision in range opts&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;also add explicit double tests without precision&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;refactor _test_encrypt_fle2_explicit&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Use test case structs to shorten test code.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;make min/max optional&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Require min/max/precision to all be set or unset for double/decimal128&lt;br/&gt;
If min/max is missing default to the lowest/highest representable value&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;zero output in mc_FLE2RangeInsertSpec_parse&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;remove duplicated `bson_iter_init_find`s&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;fix comment for mc_RangeOpts_appendMax&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Co-authored-by: Gil Alon &amp;lt;47804748+galon1@users.noreply.github.com&amp;gt;&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;fix precision assert&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;error if encoding double outside of min/max&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;use -DBL_MAX, not DBL_MIN&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;DBL_MIN is smallest postive DBL.&lt;/p&gt;

&lt;p&gt;Change has no impact, but is consistent. The default applied in mc_RangeOpts_appendMin is not used in mc_getTypeInfoDouble.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;error earlier if mincover is called with incorrect bounds&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This results in error messages containing the original inputs before encoding.&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;test min &amp;gt; max for insert and find&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;fix format for CHECK_BOUNDS&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;fix expected error message&lt;/li&gt;
&lt;/ul&gt;


&lt;ul&gt;
	&lt;li&gt;add test with open interval&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Co-authored-by: Gil Alon &amp;lt;47804748+galon1@users.noreply.github.com&amp;gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/libmongocrypt/commit/d55e2f82f7c4e1f4f77cfde5e9526f270608db7b&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/libmongocrypt/commit/d55e2f82f7c4e1f4f77cfde5e9526f270608db7b&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="2135810">SERVER-69668</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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>MONGOCRYPT-472</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i0x6i0:</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>
                                                                                                                                                                                                                                        <customfield id="customfield_22279" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Server Compat</customfieldname>
                        <customfieldvalues>
                                        <label>6.2</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>