<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hi all<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">After solving the problem with the <i>GetAllFile()</i> method in FdoCommonFile.cpp, 2 other problems came up in the SHP unit tests.<o:p></o:p></p>
<p class="MsoNormal">The test case with selecting distinct values (<i>SelectAggregatesTest.Select_distinct()</i>) from the shape file was failing.<o:p></o:p></p>
<p class="MsoNormal">The problem was in the method <i>FdoExpressionEngineUtilDataRead::Perform_Distinct()</i>.<o:p></o:p></p>
<p class="MsoNormal">Here filtering of duplicated entries in the hashmap was not working.
<o:p></o:p></p>
<p class="MsoNormal">It’s related to the deprecation of <i>stdext::hash_map</i>. Visual Studio 2015 recommended to use
<i>std::unordered_map</i>, which I did previously.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">But the problem is when using a <i>std::unordered_map</i> and insert duplicated
<i>FdoByteArray</i> as key is working. <b>But</b> the duplicated key should not be inserted!<o:p></o:p></p>
<p class="MsoNormal">I tested it with simple integers were it worked as expected that duplicated keys cannot be inserted.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">So I use now <i>std::map</i> instead of <i>std::unordered_map</i>. In this method we do not use lookup operations on the map, but iterate trough.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Other usages of <i>std::unordered_map</i>, which I used to replace
<i>stdext::hash_map</i>, use more often lookups but no equality check on the keys. So keep them as it is.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Attached you can find the patch for the Expression Engine.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">This is a more critical fix, which I would like to fix before the branch.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="DE-CH">Best regards<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE-CH">Karsten<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.45pt"><b><span lang="DE-CH" style="font-family:"Arial",sans-serif"><o:p> </o:p></span></b></p>
<p class="MsoNormal" style="margin-left:1.45pt"><b><span lang="DE-CH" style="font-family:"Arial",sans-serif">Karsten Winter<o:p></o:p></span></b></p>
<p class="MsoNormal" style="margin-left:1.45pt"><span lang="DE-CH" style="font-size:8.0pt;font-family:"Arial",sans-serif;color:#838383">Software - Engineer<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.45pt"><span style="font-size:8.0pt;font-family:"Arial",sans-serif;color:#838383">Solution Engineering, IPG- ICP           
<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.45pt"><span style="font-size:8.0pt;font-family:"Arial",sans-serif;color:#838383"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:1.45pt"><span style="font-size:8.0pt;font-family:"Arial",sans-serif;color:#838383">Autodesk S.a.r.l.<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.45pt"><span lang="DE-CH" style="font-size:8.0pt;font-family:"Arial",sans-serif;color:#838383">Worbstrasse 223<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.45pt"><span lang="DE-CH" style="font-size:8.0pt;font-family:"Arial",sans-serif;color:#838383">3073 Gümligen<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.45pt"><span lang="DE-CH" style="font-size:8.0pt;font-family:"Arial",sans-serif;color:#838383">Switzerland<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.45pt"><span lang="DE-CH" style="font-size:8.0pt;font-family:"Arial",sans-serif;color:#838383"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:1.45pt"><span lang="DE-CH" style="font-size:8.0pt;font-family:"Arial",sans-serif;color:#838383">Central   +41 (0)31 9582020<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.45pt"><span lang="DE-CH" style="font-size:8.0pt;font-family:"Arial",sans-serif;color:#838383">Fax         +41 (0)31 9582022<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:1.45pt"><span lang="DE-CH" style="font-size:8.0pt;font-family:"Arial",sans-serif;color:#838383"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="DE-CH" style="font-size:8.0pt;font-family:"Arial",sans-serif;color:#838383"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:7.5pt;font-family:"Arial",sans-serif;color:#929396"><img width="283" height="41" id="Picture_x0020_1" src="cid:image001.png@01D152DB.1DBAC570" alt="Description: Description: Description: Description: Description: Description: cid:C3593B93-B89C-44B0-A763-6E009A4C92D6"></span><span lang="DE-CH"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size:7.5pt;font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB" style="font-size:7.5pt;font-family:"Arial",sans-serif">CONFIDENTIALITY NOTICE
<br>
This email transmission is intended only for the use of the individual or entity named above and may contain information that is confidential, privileged and exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby
 notified that any disclosure, copying, distribution or use of any of the information contained in this transmission is strictly PROHIBITED</span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>