Просмотр исходного кода

HPCC-8551 Fix some minor issues picked up by code review

Signed-off-by: Gavin Halliday <gavin.halliday@lexisnexis.com>
Gavin Halliday 12 лет назад
Родитель
Сommit
71832a8d6f

+ 2 - 4
common/thorhelper/thorcommon.cpp

@@ -515,8 +515,7 @@ IOutputRowDeserializer * CachedOutputMetaData::createDiskDeserializer(ICodeConte
         return meta->createDiskDeserializer(ctx, activityId);
     if (isFixedSize())
         return new CSimpleFixedRowDeserializer(getFixedSize());
-    UNIMPLEMENTED_X("createDiskDeserializer variable meta has no serializer");
-    return NULL;
+    throwUnexpectedX("createDiskDeserializer variable meta has no serializer");
 }
 
 IOutputRowSerializer * CachedOutputMetaData::createInternalSerializer(ICodeContext * ctx, unsigned activityId) const
@@ -535,8 +534,7 @@ IOutputRowDeserializer * CachedOutputMetaData::createInternalDeserializer(ICodeC
         return meta->createInternalDeserializer(ctx, activityId);
     if (isFixedSize())
         return new CSimpleFixedRowDeserializer(getFixedSize());
-    UNIMPLEMENTED_X("createInternalDeserializer variable meta has no serializer");
-    return NULL;
+    throwUnexpectedX("createInternalDeserializer variable meta has no serializer");
 }
 
 void CSizingSerializer::put(size32_t len, const void * ptr)

+ 0 - 2
ecl/hql/hqlatoms.cpp

@@ -42,7 +42,6 @@ _ATOM _attrAligned_Atom;
 _ATOM _attrDiskSerializedForm_Atom;
 _ATOM _attrInternalSerializedForm_Atom;
 _ATOM _attrLocationIndependent_Atom;
-_ATOM _attrMemorySerializedForm_Atom;
 _ATOM _attrRecordCount_Atom;
 _ATOM _attrSize_Atom;
 _ATOM _attrUnadorned_Atom;
@@ -425,7 +424,6 @@ MODULE_INIT(INIT_PRIORITY_HQLATOM)
     MAKESYSATOM(attrRecordCount)->setAttrId(EArecordCount);
     MAKESYSATOM(attrDiskSerializedForm)->setAttrId(EAdiskserializedForm);
     MAKESYSATOM(attrInternalSerializedForm)->setAttrId(EAinternalserializedForm);
-    MAKESYSATOM(attrMemorySerializedForm)->setAttrId(EAmemoryserializedForm);
     MAKESYSATOM(attrSize)->setAttrId(EAsize);
     MAKESYSATOM(attrUnadorned)->setAttrId(EAunadorned);
     MAKEATOM(ave);

+ 0 - 2
ecl/hql/hqlatoms.hpp

@@ -45,7 +45,6 @@ extern HQL_API _ATOM _attrAligned_Atom;
 extern HQL_API _ATOM _attrDiskSerializedForm_Atom;
 extern HQL_API _ATOM _attrInternalSerializedForm_Atom;
 extern HQL_API _ATOM _attrLocationIndependent_Atom;
-extern HQL_API _ATOM _attrMemorySerializedForm_Atom;
 extern HQL_API _ATOM _attrRecordCount_Atom;
 extern HQL_API _ATOM _attrSize_Atom;
 extern HQL_API _ATOM _attrUnadorned_Atom;
@@ -390,7 +389,6 @@ enum
     EArecordCount,
     EAdiskserializedForm,
     EAinternalserializedForm,
-    EAmemoryserializedForm,
     EAsize,
     EAaligned,
     EAunadorned,

+ 0 - 4
ecl/hql/hqlattr.cpp

@@ -772,8 +772,6 @@ static IHqlExpression * querySerializedForm(IHqlExpression * expr, _ATOM variati
             attrName = _attrDiskSerializedForm_Atom;
         else if (variation == internalAtom)
             attrName = _attrInternalSerializedForm_Atom;
-        else if (variation == memoryAtom)
-            attrName = _attrMemorySerializedForm_Atom;
         else
             throwUnexpected();
 
@@ -3701,8 +3699,6 @@ IHqlExpression * CHqlExpression::queryAttribute(_ATOM propName)
         return evaluateAttrSerializedForm(this, _attrDiskSerializedForm_Atom, diskAtom);
     case EAinternalserializedForm:
         return evaluateAttrSerializedForm(this, _attrInternalSerializedForm_Atom, internalAtom);
-    case EAmemoryserializedForm:
-        return evaluateAttrSerializedForm(this, _attrMemorySerializedForm_Atom, memoryAtom);
     case EAsize:
         return evaluateAttrSize(this);
     case EAaligned:

+ 0 - 1
ecl/hql/hqlattr.hpp

@@ -41,7 +41,6 @@ inline bool isFixedSizeRecord(IHqlExpression * record) { return !isVariableSizeR
 
 extern HQL_API bool recordRequiresLinkCount(IHqlExpression * expr);
 extern HQL_API bool recordRequiresDestructor(IHqlExpression * expr);
-//extern HQL_API bool recordRequiresSerialization(IHqlExpression * expr);
 extern HQL_API bool recordRequiresSerialization(IHqlExpression * expr, _ATOM serializeForm);
 extern HQL_API bool typeRequiresDeserialization(ITypeInfo * type, _ATOM serializeForm); // or can we use the serialized form directly
 extern HQL_API bool recordSerializationDiffers(IHqlExpression * expr, _ATOM serializeForm1, _ATOM serializeForm2);

+ 1 - 3
ecl/hqlcpp/hqlhtcpp.cpp

@@ -4492,9 +4492,7 @@ void HqlCppTranslator::ensureRowSerializer(StringBuffer & serializerName, BuildC
     else if (format == internalAtom)
         s.append(".createInternal").append(kindText);
     else
-    {
-        UNIMPLEMENTED;
-    }
+        throwUnexpected();
 
     s.append("(ctx, ");
     OwnedHqlExpr activityId = getCurrentActivityId(ctx);

+ 1 - 1
ecl/hqlcpp/hqlinline.cpp

@@ -1508,7 +1508,7 @@ void ClassEvalContext::createMemberAlias(CtxCollection & ctxs, BuildCtx & ctx, I
     const _ATOM serializeForm = internalAtom; // The format of serialized expressions in memory must match the internal serialization format
     CHqlBoundTarget tempTarget;
     translator.buildTempExpr(*ctxs.evalctx, ctxs.declarectx, tempTarget, value, FormatNatural, false);
-    ensureSerialized(ctxs, tempTarget, serializeForm);  // MORE: Check modifying this changes the serialized data
+    ensureSerialized(ctxs, tempTarget, serializeForm);
 
     tgt.setFromTarget(tempTarget);
     ctxs.declarectx.associateExpr(value, tgt);

+ 4 - 2
rtl/eclrtl/rtlds.cpp

@@ -963,7 +963,8 @@ extern ECLRTL_API byte * rtlDeserializeBufferRow(IEngineRowAllocator * rowAlloca
 
 extern ECLRTL_API byte * rtlDeserializeRow(IEngineRowAllocator * rowAllocator, IOutputRowDeserializer * deserializer, const void * src)
 {
-    Owned<ISerialStream> stream = createMemorySerialStream(src, 0x7fffffff);
+    const size32_t unknownSourceLength = 0x7fffffff;
+    Owned<ISerialStream> stream = createMemorySerialStream(src, unknownSourceLength);
     CThorStreamDeserializerSource source(stream);
 
     RtlDynamicRowBuilder rowBuilder(rowAllocator);
@@ -974,7 +975,8 @@ extern ECLRTL_API byte * rtlDeserializeRow(IEngineRowAllocator * rowAllocator, I
 
 extern ECLRTL_API size32_t rtlDeserializeToBuilder(ARowBuilder & builder, IOutputRowDeserializer * deserializer, const void * src)
 {
-    Owned<ISerialStream> stream = createMemorySerialStream(src, 0x7fffffff);
+    const size32_t unknownSourceLength = 0x7fffffff;
+    Owned<ISerialStream> stream = createMemorySerialStream(src, unknownSourceLength);
     CThorStreamDeserializerSource source(stream);
     return deserializer->deserialize(builder, source);
 }

+ 1 - 0
system/jlib/jexcept.hpp

@@ -141,6 +141,7 @@ void jlib_decl setTerminateOnSEH(bool set=true);
 
 #define makeUnexpectedException()  MakeStringException(9999, "Internal Error at %s(%d)", __FILE__, __LINE__)
 #define throwUnexpected()          throw MakeStringException(9999, "Internal Error at %s(%d)", __FILE__, __LINE__)
+#define throwUnexpectedX(x)        throw MakeStringException(9999, "Internal Error '" x "' at %s(%d)", __FILE__, __LINE__)
 #define assertThrow(x)             assertex(x)
 
 #define UNIMPLEMENTED throw MakeStringException(-1, "UNIMPLEMENTED feature at %s(%d)", __FILE__, __LINE__)