Skip to content

Commit 25c961e

Browse files
committed
HPCC-30789 Add eclhelper interfaces for generic disk write
Signed-off-by: Gavin Halliday <[email protected]>
1 parent 0b1db29 commit 25c961e

File tree

6 files changed

+91
-610
lines changed

6 files changed

+91
-610
lines changed

ecl/hqlcpp/hqlsource.cpp

+9-12
Original file line numberDiff line numberDiff line change
@@ -3139,8 +3139,8 @@ class DiskReadBuilder : public DiskReadBuilderBase
31393139
virtual void analyseGraph(IHqlExpression * expr) override;
31403140

31413141
void buildFormatOption(BuildCtx & ctx, IHqlExpression * name, IHqlExpression * value);
3142-
void buildFormatOptions(BuildCtx & fixedCtx, BuildCtx & dynCtx, IHqlExpression * expr);
3143-
void buildFormatOptions(IHqlExpression * expr);
3142+
void buildFormatOptions(BuildCtx & fixedCtx, IHqlExpression * expr);
3143+
void buildFormatOptionsFunction(IHqlExpression * expr);
31443144
};
31453145

31463146

@@ -3261,7 +3261,7 @@ void DiskReadBuilder::buildFormatOption(BuildCtx & ctx, IHqlExpression * name, I
32613261
}
32623262
}
32633263

3264-
void DiskReadBuilder::buildFormatOptions(BuildCtx & fixedCtx, BuildCtx & dynCtx, IHqlExpression * expr)
3264+
void DiskReadBuilder::buildFormatOptions(BuildCtx & ctx, IHqlExpression * expr)
32653265
{
32663266
IHqlExpression * pluggableFileTypeAtom = expr->queryAttribute(fileTypeAtom); // null if pluggable file type not used
32673267

@@ -3276,24 +3276,21 @@ void DiskReadBuilder::buildFormatOptions(BuildCtx & fixedCtx, BuildCtx & dynCtx,
32763276
OwnedHqlExpr name = createConstant(str(cur->queryName()));
32773277
if (cur->numChildren())
32783278
{
3279-
BuildCtx & ctx = cur->isConstant() ? fixedCtx : dynCtx;
32803279
ForEachChild(c, cur)
32813280
buildFormatOption(ctx, name, cur->queryChild(c));
32823281
}
32833282
else
3284-
translator.buildXmlSerializeScalar(fixedCtx, queryBoolExpr(true), name);
3283+
translator.buildXmlSerializeScalar(ctx, queryBoolExpr(true), name);
32853284
}
32863285
}
32873286
}
32883287

3289-
void DiskReadBuilder::buildFormatOptions(IHqlExpression * expr)
3288+
void DiskReadBuilder::buildFormatOptionsFunction(IHqlExpression * expr)
32903289
{
3291-
MemberFunction fixedFunc(translator, instance->createctx, "virtual void getFormatOptions(IXmlWriter & out) override", MFopt);
3292-
MemberFunction dynFunc(translator, instance->startctx, "virtual void getFormatDynOptions(IXmlWriter & out) override", MFopt);
3290+
MemberFunction formatFunc(translator, instance->createctx, "virtual void getFormatOptions(IXmlWriter & out) override", MFopt);
32933291

3294-
buildFormatOptions(fixedFunc.ctx, dynFunc.ctx, expr);
3295-
3296-
if (!dynFunc.isEmpty())
3292+
buildFormatOptions(formatFunc.ctx, expr);
3293+
if (!expr->isConstant())
32973294
hasDynamicOptions = true;
32983295
}
32993296

@@ -3336,7 +3333,7 @@ void DiskReadBuilder::buildTransform(IHqlExpression * expr)
33363333
}
33373334

33383335
if (genericDiskRead)
3339-
buildFormatOptions(mode);
3336+
buildFormatOptionsFunction(mode);
33403337

33413338
MemberFunction func(translator, instance->startctx);
33423339
if ((instance->kind == TAKdiskread) || (instance->kind == TAKspillread) || (instance->kind == TAKnewdiskread))

0 commit comments

Comments
 (0)