Browse Source

HPCC-10000 Ensure hash values are converted to integers

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Gavin Halliday 11 years ago
parent
commit
78239134c5
2 changed files with 31 additions and 1 deletions
  1. 2 1
      ecl/hqlcpp/hqlhtcpp.cpp
  2. 29 0
      ecl/regress/issue10000.ecl

+ 2 - 1
ecl/hqlcpp/hqlhtcpp.cpp

@@ -5351,7 +5351,8 @@ void HqlCppTranslator::buildHashClass(BuildCtx & ctx, const char * name, IHqlExp
     funcctx.addQuoted(s);
 
     bindTableCursor(funcctx, dataset.queryDataset(), "self", dataset.querySide(), dataset.querySelSeq());
-    buildReturn(funcctx, orderExpr);
+    OwnedITypeInfo returnType = makeIntType(4, false);
+    buildReturn(funcctx, orderExpr, returnType);
 
     endNestedClass();
 }

+ 29 - 0
ecl/regress/issue10000.ecl

@@ -0,0 +1,29 @@
+/*##############################################################################
+
+    HPCC SYSTEMS software Copyright (C) 2013 HPCC Systems.
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+############################################################################## */
+
+
+inRecord :=
+            RECORD
+unsigned        id;
+decimal8_4      x;
+            END;
+
+
+inTable := dataset('x', inRecord, thor);
+
+output(distribute(inTable, x));
+