|
@@ -1623,11 +1623,11 @@ failclause
|
|
|
failure
|
|
|
: FAILURE '(' action commaIndependentOptions')'
|
|
|
{
|
|
|
- $$.setExpr(createValueF(no_failure, makeNullType(), $3.getExpr(), $4.getExpr(), NULL), $1);
|
|
|
+ $$.setExpr(createValue(no_failure, makeNullType(), { $3.getExpr(), $4.getExpr() }, true), $1);
|
|
|
}
|
|
|
| SUCCESS '(' action commaIndependentOptions ')'
|
|
|
{
|
|
|
- $$.setExpr(createValueF(no_success, makeNullType(), $3.getExpr(), $4.getExpr(), NULL), $1);
|
|
|
+ $$.setExpr(createValue(no_success, makeNullType(), { $3.getExpr(), $4.getExpr() }, true), $1);
|
|
|
}
|
|
|
| RECOVERY '(' action ')'
|
|
|
{
|
|
@@ -1657,23 +1657,23 @@ failure
|
|
|
| PERSIST '(' expression ')'
|
|
|
{
|
|
|
parser->normalizeExpression($3, type_string, true);
|
|
|
- $$.setExpr(createValueF(no_persist, makeVoidType(), $3.getExpr(), NULL), $1);
|
|
|
+ $$.setExpr(createValue(no_persist, makeVoidType(), { $3.getExpr() }), $1);
|
|
|
}
|
|
|
| PERSIST '(' expression ',' persistOpts ')'
|
|
|
{
|
|
|
parser->normalizeExpression($3, type_string, true);
|
|
|
- $$.setExpr(createValueF(no_persist, makeVoidType(), $3.getExpr(), $5.getExpr(), NULL), $1);
|
|
|
+ $$.setExpr(createValue(no_persist, makeVoidType(), { $3.getExpr(), $5.getExpr() }, true), $1);
|
|
|
}
|
|
|
| PERSIST '(' expression ',' expression optPersistOpts ')'
|
|
|
{
|
|
|
parser->normalizeExpression($3, type_string, true);
|
|
|
parser->normalizeExpression($5, type_string, true);
|
|
|
- $$.setExpr(createValueF(no_persist, makeVoidType(), $3.getExpr(), $5.getExpr(), $6.getExpr(), NULL), $1);
|
|
|
+ $$.setExpr(createValue(no_persist, makeVoidType(), { $3.getExpr(), $5.getExpr(), $6.getExpr() }, true), $1);
|
|
|
}
|
|
|
| CRITICAL '(' expression commaIndependentOptions ')'
|
|
|
{
|
|
|
parser->normalizeExpression($3, type_string, true);
|
|
|
- $$.setExpr(createValueF(no_critical, makeVoidType(), $3.getExpr(), $4.getExpr(), NULL), $1);
|
|
|
+ $$.setExpr(createValue(no_critical, makeVoidType(), { $3.getExpr(), $4.getExpr() }, true), $1);
|
|
|
}
|
|
|
| STORED '(' startStoredAttrs expression ',' fewMany optStoredFieldFormat ')'
|
|
|
{
|
|
@@ -1709,11 +1709,11 @@ failure
|
|
|
}
|
|
|
| INDEPENDENT '(' independentOptions ')'
|
|
|
{
|
|
|
- $$.setExpr(createValueF(no_independent, makeNullType(), $3.getExpr(), nullptr), $1);
|
|
|
+ $$.setExpr(createValue(no_independent, makeNullType(), { $3.getExpr() }, true), $1);
|
|
|
}
|
|
|
| INDEPENDENT '(' expression commaIndependentOptions ')'
|
|
|
{
|
|
|
- $$.setExpr(createValueF(no_independent, makeNullType(), $3.getExpr(), $4.getExpr(), nullptr), $1);
|
|
|
+ $$.setExpr(createValue(no_independent, makeNullType(), { $3.getExpr(), $4.getExpr() }, true), $1);
|
|
|
}
|
|
|
| DEFINE '(' stringConstExpr ')'
|
|
|
{
|
|
@@ -2433,7 +2433,7 @@ actionStmt
|
|
|
HqlExprArray options;
|
|
|
$7.unwindCommaList(options);
|
|
|
|
|
|
- OwnedHqlExpr select = createDatasetF(no_selectfields, dataset, record, NULL);
|
|
|
+ OwnedHqlExpr select = createDataset(no_selectfields, { dataset, record } );
|
|
|
IHqlExpression * filename = options.ordinality() ? &options.item(0) : NULL;
|
|
|
if (!filename || filename->isAttribute())
|
|
|
{
|
|
@@ -2485,7 +2485,7 @@ actionStmt
|
|
|
OwnedHqlExpr mapped = replaceSelector(arg, dataset, queryActiveTableSelector());
|
|
|
if (mapped != arg)
|
|
|
parser->reportError(ERR_ROWPIPE_AND_PROJECT, $8, "OUTPUT to PIPE with a projecting record doesn't currently work when the command is dependant on the current row");
|
|
|
- args.append(*createDatasetF(no_selectfields, dataset, LINK(record), NULL)); //createUniqueId(), NULL));
|
|
|
+ args.append(*createDataset(no_selectfields, { dataset, LINK(record) }));
|
|
|
}
|
|
|
pipe->unwindList(args, no_comma);
|
|
|
$9.unwindCommaList(args);
|
|
@@ -2505,7 +2505,7 @@ actionStmt
|
|
|
{
|
|
|
IHqlExpression *dataset = $3.getExpr();
|
|
|
IHqlExpression *record = createValue(no_null, makeNullType());
|
|
|
- OwnedHqlExpr select = createDatasetF(no_selectfields, dataset, record, NULL); //createUniqueId(), NULL);
|
|
|
+ OwnedHqlExpr select = createDataset(no_selectfields, { dataset, record });
|
|
|
OwnedHqlExpr flags = $4.getExpr();
|
|
|
|
|
|
if (queryAttributeInList(extendAtom, flags) && !queryAttributeInList(namedAtom, flags))
|
|
@@ -2701,46 +2701,46 @@ actionStmt
|
|
|
parser->normalizeExpression($3, type_stringorunicode, false);
|
|
|
parser->normalizeExpression($5, type_stringorunicode, false);
|
|
|
parser->checkSoapRecord($7);
|
|
|
- $$.setExpr(createValueF(no_soapcall, makeVoidType(), $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), NULL), $1);
|
|
|
+ $$.setExpr(createValue(no_soapcall, makeVoidType(), { $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr() }, true), $1);
|
|
|
}
|
|
|
| SOAPCALL '(' expression ',' expression ',' recordDef ',' transform ')'
|
|
|
{
|
|
|
parser->normalizeExpression($3, type_stringorunicode, false);
|
|
|
parser->normalizeExpression($5, type_stringorunicode, false);
|
|
|
- $$.setExpr(createValue(no_newsoapcall, makeVoidType(), $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr()), $1);
|
|
|
+ $$.setExpr(createValue(no_newsoapcall, makeVoidType(), { $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr() }, true), $1);
|
|
|
}
|
|
|
| SOAPCALL '(' expression ',' expression ',' recordDef ',' transform ',' soapFlags ')'
|
|
|
{
|
|
|
parser->normalizeExpression($3, type_stringorunicode, false);
|
|
|
parser->normalizeExpression($5, type_stringorunicode, false);
|
|
|
- $$.setExpr(createValueF(no_newsoapcall, makeVoidType(), $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $11.getExpr(), NULL), $1);
|
|
|
+ $$.setExpr(createValue(no_newsoapcall, makeVoidType(), { $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $11.getExpr() }, true), $1);
|
|
|
}
|
|
|
| SOAPCALL '(' startTopLeftSeqFilter ',' expression ',' expression ',' recordDef ')' endTopLeftFilter endSelectorSequence
|
|
|
{
|
|
|
parser->normalizeExpression($5, type_stringorunicode, false);
|
|
|
parser->normalizeExpression($7, type_stringorunicode, false);
|
|
|
parser->checkSoapRecord($9);
|
|
|
- $$.setExpr(createValueF(no_soapaction_ds, makeVoidType(), $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $12.getExpr(), NULL), $1);
|
|
|
+ $$.setExpr(createValue(no_soapaction_ds, makeVoidType(), { $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $12.getExpr() }, true), $1);
|
|
|
}
|
|
|
| SOAPCALL '(' startTopLeftSeqFilter ',' expression ',' expression ',' recordDef ',' soapFlags ')' endTopLeftFilter endSelectorSequence
|
|
|
{
|
|
|
parser->normalizeExpression($5, type_stringorunicode, false);
|
|
|
parser->normalizeExpression($7, type_stringorunicode, false);
|
|
|
parser->checkSoapRecord($9);
|
|
|
- $$.setExpr(createValueF(no_soapaction_ds, makeVoidType(), $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $11.getExpr(), $14.getExpr(), NULL), $1);
|
|
|
+ $$.setExpr(createValue(no_soapaction_ds, makeVoidType(), { $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $11.getExpr(), $14.getExpr() }, true), $1);
|
|
|
}
|
|
|
| SOAPCALL '(' startTopLeftSeqFilter ',' expression ',' expression ',' recordDef ',' transform ')' endTopLeftFilter endSelectorSequence
|
|
|
{
|
|
|
parser->normalizeExpression($5, type_stringorunicode, false);
|
|
|
parser->normalizeExpression($7, type_stringorunicode, false);
|
|
|
- $$.setExpr(createValueF(no_newsoapaction_ds, makeVoidType(), $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $11.getExpr(), $14.getExpr(), NULL));
|
|
|
+ $$.setExpr(createValue(no_newsoapaction_ds, makeVoidType(), { $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $11.getExpr(), $14.getExpr() }, true));
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
|
| SOAPCALL '(' startTopLeftSeqFilter ',' expression ',' expression ',' recordDef ',' transform ',' soapFlags ')' endTopLeftFilter endSelectorSequence
|
|
|
{
|
|
|
parser->normalizeExpression($5, type_stringorunicode, false);
|
|
|
parser->normalizeExpression($7, type_stringorunicode, false);
|
|
|
- $$.setExpr(createValueF(no_newsoapaction_ds, makeVoidType(), $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $11.getExpr(), $13.getExpr(), $16.getExpr(), NULL));
|
|
|
+ $$.setExpr(createValue(no_newsoapaction_ds, makeVoidType(), { $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $11.getExpr(), $13.getExpr(), $16.getExpr() }, true));
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
|
| KEYDIFF '(' dataSet ',' dataSet ',' expression keyDiffFlags ')'
|
|
@@ -2831,7 +2831,7 @@ actionStmt
|
|
|
$$.setExpr($3.getExpr());
|
|
|
}
|
|
|
else
|
|
|
- $$.setExpr(createValueF(no_cluster, makeVoidType(), $3.getExpr(), $5.getExpr(), NULL));
|
|
|
+ $$.setExpr(createValue(no_cluster, makeVoidType(), { $3.getExpr(), $5.getExpr() }));
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
|
| OUTPUT '(' abstractModule ')'
|
|
@@ -2904,7 +2904,7 @@ failAction
|
|
|
{
|
|
|
OwnedHqlExpr options = $6.getExpr();
|
|
|
if (options)
|
|
|
- $$.setExpr(createValueF(no_executewhen, makeVoidType(), $3.getExpr(), $5.getExpr(), options.getClear(), NULL), $1);
|
|
|
+ $$.setExpr(createValue(no_executewhen, makeVoidType(), { $3.getExpr(), $5.getExpr(), options.getClear() }, true), $1);
|
|
|
else
|
|
|
$$.setExpr(createCompound($5.getExpr(), $3.getExpr()), $1);
|
|
|
}
|
|
@@ -5310,7 +5310,7 @@ query
|
|
|
break;
|
|
|
}
|
|
|
#endif
|
|
|
- $$.setExpr(createValueF(no_colon, type.getClear(), expr, failure, NULL));
|
|
|
+ $$.setExpr(createValue(no_colon, type.getClear(), { expr, failure }, true));
|
|
|
}
|
|
|
}
|
|
|
else
|
|
@@ -5327,7 +5327,7 @@ query
|
|
|
expr = parser->attachMetaAttributes(expr, meta);
|
|
|
|
|
|
IHqlExpression *record = createValue(no_null, makeNullType());
|
|
|
- OwnedHqlExpr select = createDatasetF(no_selectfields, expr, record, NULL);
|
|
|
+ OwnedHqlExpr select = createDataset(no_selectfields, { expr, record });
|
|
|
HqlExprArray args;
|
|
|
args.append(*select.getClear());
|
|
|
IHqlExpression * output = createValue(no_output, makeVoidType(), args);
|
|
@@ -5964,7 +5964,7 @@ primexpr1
|
|
|
{ $$.inherit($2); }
|
|
|
| COUNT '(' startTopFilter aggregateFlags ')' endTopFilter
|
|
|
{
|
|
|
- $$.setExpr(createValueF(no_count, LINK(parser->defaultIntegralType), $3.getExpr(), $4.getExpr(), NULL));
|
|
|
+ $$.setExpr(createValue(no_count, LINK(parser->defaultIntegralType), { $3.getExpr(), $4.getExpr() }, true));
|
|
|
}
|
|
|
| COUNT '(' GROUP optExtraFilter ')'
|
|
|
{
|
|
@@ -5996,7 +5996,7 @@ primexpr1
|
|
|
}
|
|
|
| EXISTS '(' dataSet aggregateFlags ')'
|
|
|
{
|
|
|
- $$.setExpr(createValueF(no_exists, makeBoolType(), $3.getExpr(), $4.getExpr(), NULL));
|
|
|
+ $$.setExpr(createValue(no_exists, makeBoolType(), { $3.getExpr(), $4.getExpr() }, true));
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
|
| EXISTS '(' dictionary ')'
|
|
@@ -6158,7 +6158,7 @@ primexpr1
|
|
|
{
|
|
|
parser->normalizeExpression($3);
|
|
|
IHqlExpression * value = $3.getExpr();
|
|
|
- $$.setExpr(createValueF(no_globalscope, value->getType(), value, $4.getExpr(), NULL));
|
|
|
+ $$.setExpr(createValue(no_globalscope, value->getType(), { value, $4.getExpr() }, true));
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
|
| TOK_LOG '(' expression ')'
|
|
@@ -6315,7 +6315,7 @@ primexpr1
|
|
|
subType.setown(makeStringType(UNKNOWN_LENGTH));
|
|
|
}
|
|
|
parser->normalizeExpression($7, type_int, false);
|
|
|
- $$.setExpr(createValue(no_regex_find, subType.getLink(), $3.getExpr(), $5.getExpr(), $7.getExpr(), $8.getExpr()));
|
|
|
+ $$.setExpr(createValue(no_regex_find, subType.getLink(), { $3.getExpr(), $5.getExpr(), $7.getExpr(), $8.getExpr() }));
|
|
|
}
|
|
|
| REGEXFINDSET '(' expression ',' expression regexOpt ')'
|
|
|
{
|
|
@@ -6350,7 +6350,7 @@ primexpr1
|
|
|
parser->normalizeExpression($7, type_string, false);
|
|
|
retType.setown(makeStringType(UNKNOWN_LENGTH));
|
|
|
}
|
|
|
- $$.setExpr(createValue(no_regex_replace, retType.getLink(), $3.getExpr(), $5.getExpr(), $7.getExpr(), $8.getExpr()));
|
|
|
+ $$.setExpr(createValue(no_regex_replace, retType.getLink(), { $3.getExpr(), $5.getExpr(), $7.getExpr(), $8.getExpr() }));
|
|
|
}
|
|
|
| ASSTRING '(' expression ')'
|
|
|
{
|
|
@@ -6382,7 +6382,7 @@ primexpr1
|
|
|
{
|
|
|
parser->normalizeExpression($5);
|
|
|
IHqlExpression *e5 = $5.getExpr();
|
|
|
- $$.setExpr(createValueF(no_max, e5->getType(), $3.getExpr(), e5, $6.getExpr(), NULL));
|
|
|
+ $$.setExpr(createValue(no_max, e5->getType(), { $3.getExpr(), e5, $6.getExpr() }, true));
|
|
|
}
|
|
|
| MAX '(' GROUP ',' expression ')'
|
|
|
{
|
|
@@ -6394,7 +6394,7 @@ primexpr1
|
|
|
{
|
|
|
parser->normalizeExpression($5);
|
|
|
IHqlExpression *e5 = $5.getExpr();
|
|
|
- $$.setExpr(createValueF(no_min, e5->getType(), $3.getExpr(), e5, $6.getExpr(), NULL));
|
|
|
+ $$.setExpr(createValue(no_min, e5->getType(), { $3.getExpr(), e5, $6.getExpr() }, true));
|
|
|
}
|
|
|
| MIN '(' GROUP ',' expression ')'
|
|
|
{
|
|
@@ -6415,7 +6415,7 @@ primexpr1
|
|
|
Owned<ITypeInfo> temp = parser->checkPromoteNumeric($5, true);
|
|
|
OwnedHqlExpr value = $5.getExpr();
|
|
|
Owned<ITypeInfo> type = getSumAggType(value);
|
|
|
- $$.setExpr(createValueF(no_sum, LINK(type), $3.getExpr(), ensureExprType(value, type), $6.getExpr(), NULL));
|
|
|
+ $$.setExpr(createValue(no_sum, LINK(type), { $3.getExpr(), ensureExprType(value, type), $6.getExpr() }, true));
|
|
|
}
|
|
|
| SUM '(' GROUP ',' expression optExtraFilter ')'
|
|
|
{
|
|
@@ -6423,12 +6423,12 @@ primexpr1
|
|
|
Owned<ITypeInfo> temp = parser->checkPromoteNumeric($5, true);
|
|
|
OwnedHqlExpr value = $5.getExpr();
|
|
|
Owned<ITypeInfo> type = getSumAggType(value);
|
|
|
- $$.setExpr(createValueF(no_sumgroup, LINK(type), ensureExprType(value, type), $6.getExpr(), NULL));
|
|
|
+ $$.setExpr(createValue(no_sumgroup, LINK(type), { ensureExprType(value, type), $6.getExpr() }, true));
|
|
|
}
|
|
|
| AVE '(' startTopFilter ',' expression aggregateFlags ')' endTopFilter
|
|
|
{
|
|
|
parser->normalizeExpression($5, type_numeric, false);
|
|
|
- $$.setExpr(createValueF(no_ave, makeRealType(8), $3.getExpr(), $5.getExpr(), $6.getExpr(), NULL));
|
|
|
+ $$.setExpr(createValue(no_ave, makeRealType(8), { $3.getExpr(), $5.getExpr(), $6.getExpr() }, true));
|
|
|
}
|
|
|
| AVE '(' GROUP ',' expression optExtraFilter')'
|
|
|
{
|
|
@@ -6438,7 +6438,7 @@ primexpr1
|
|
|
| VARIANCE '(' startTopFilter ',' expression aggregateFlags ')' endTopFilter
|
|
|
{
|
|
|
parser->normalizeExpression($5, type_numeric, false);
|
|
|
- $$.setExpr(createValueF(no_variance, makeRealType(8), $3.getExpr(), $5.getExpr(), $6.getExpr(), NULL));
|
|
|
+ $$.setExpr(createValue(no_variance, makeRealType(8), { $3.getExpr(), $5.getExpr(), $6.getExpr() }, true));
|
|
|
}
|
|
|
| VARIANCE '(' GROUP ',' expression optExtraFilter')'
|
|
|
{
|
|
@@ -6449,7 +6449,7 @@ primexpr1
|
|
|
{
|
|
|
parser->normalizeExpression($5, type_numeric, false);
|
|
|
parser->normalizeExpression($7, type_numeric, false);
|
|
|
- $$.setExpr(createValueF(no_covariance, makeRealType(8), $3.getExpr(), $5.getExpr(), $7.getExpr(), $8.getExpr(), NULL));
|
|
|
+ $$.setExpr(createValue(no_covariance, makeRealType(8), { $3.getExpr(), $5.getExpr(), $7.getExpr(), $8.getExpr() }, true));
|
|
|
}
|
|
|
| COVARIANCE '(' GROUP ',' expression ',' expression optExtraFilter')'
|
|
|
{
|
|
@@ -6461,7 +6461,7 @@ primexpr1
|
|
|
{
|
|
|
parser->normalizeExpression($5, type_numeric, false);
|
|
|
parser->normalizeExpression($7, type_numeric, false);
|
|
|
- $$.setExpr(createValueF(no_correlation, makeRealType(8), $3.getExpr(), $5.getExpr(), $7.getExpr(), $8.getExpr(), NULL));
|
|
|
+ $$.setExpr(createValue(no_correlation, makeRealType(8), { $3.getExpr(), $5.getExpr(), $7.getExpr(), $8.getExpr() }, true));
|
|
|
}
|
|
|
| CORRELATION '(' GROUP ',' expression ',' expression optExtraFilter')'
|
|
|
{
|
|
@@ -6471,11 +6471,11 @@ primexpr1
|
|
|
}
|
|
|
| WHICH '(' optCondList ')'
|
|
|
{
|
|
|
- $$.setExpr(createList(no_which, LINK(parser->uint4Type), $3.getExpr()), $1);
|
|
|
+ $$.setExpr(createValue(no_which, LINK(parser->uint4Type), { $3.getExpr() }, true), $1);
|
|
|
}
|
|
|
| REJECTED '(' optCondList ')'
|
|
|
{
|
|
|
- $$.setExpr(createList(no_rejected, LINK(parser->uint4Type), $3.getExpr()), $1);
|
|
|
+ $$.setExpr(createValue(no_rejected, LINK(parser->uint4Type), { $3.getExpr() }, true), $1);
|
|
|
}
|
|
|
| SIZEOF '(' sizeof_type_target optMaxMin ')'
|
|
|
{
|
|
@@ -6830,7 +6830,7 @@ primexpr1
|
|
|
OwnedHqlExpr options = $6.getExpr();
|
|
|
OwnedHqlExpr expr = $3.getExpr();
|
|
|
if (options)
|
|
|
- $$.setExpr(createValueF(no_executewhen, expr->getType(), LINK(expr), $5.getExpr(), options.getClear(), NULL), $1);
|
|
|
+ $$.setExpr(createValue(no_executewhen, expr->getType(), { LINK(expr), $5.getExpr(), options.getClear() }, true), $1);
|
|
|
else
|
|
|
$$.setExpr(createCompound($5.getExpr(), expr.getClear()), $1);
|
|
|
}
|
|
@@ -6939,7 +6939,7 @@ primexpr1
|
|
|
parser->normalizeExpression($5, type_unicode, false);
|
|
|
::Release(parser->checkPromoteType($3, $5));
|
|
|
IAtom * locale = parser->ensureCommonLocale($3, $5);
|
|
|
- $$.setExpr(createValue(no_unicodeorder, makeIntType(4, true), $3.getExpr(), $5.getExpr(), createConstant(str(locale)), createConstant(3)));
|
|
|
+ $$.setExpr(createValue(no_unicodeorder, makeIntType(4, true), { $3.getExpr(), $5.getExpr(), createConstant(str(locale)), createConstant(3) }));
|
|
|
}
|
|
|
| UNICODEORDER '(' expression ',' expression ',' expression ')'
|
|
|
{
|
|
@@ -6951,7 +6951,7 @@ primexpr1
|
|
|
Owned<IHqlExpression> lexpr = $7.getExpr();
|
|
|
Owned<ITypeInfo> ltype = lexpr->getType();
|
|
|
Owned<IHqlExpression> locale = (ltype->getTypeCode() == type_varstring) ? lexpr.getLink() : createValue(no_implicitcast, makeVarStringType(ltype->getStringLen()), lexpr.getLink());
|
|
|
- $$.setExpr(createValue(no_unicodeorder, makeIntType(4, true), $3.getExpr(), $5.getExpr(), locale.getLink(), createConstant(3)));
|
|
|
+ $$.setExpr(createValue(no_unicodeorder, makeIntType(4, true), { $3.getExpr(), $5.getExpr(), locale.getLink(), createConstant(3) }));
|
|
|
}
|
|
|
| UNICODEORDER '(' expression ',' expression ',' ',' expression ')'
|
|
|
{
|
|
@@ -6960,7 +6960,7 @@ primexpr1
|
|
|
IAtom * locale = parser->ensureCommonLocale($3, $5);
|
|
|
parser->normalizeExpression($8, type_int, false);
|
|
|
::Release(parser->checkPromoteType($3, $5));
|
|
|
- $$.setExpr(createValue(no_unicodeorder, makeIntType(4, true), $3.getExpr(), $5.getExpr(), createConstant(str(locale)), $8.getExpr()));
|
|
|
+ $$.setExpr(createValue(no_unicodeorder, makeIntType(4, true), { $3.getExpr(), $5.getExpr(), createConstant(str(locale)), $8.getExpr() }));
|
|
|
}
|
|
|
| UNICODEORDER '(' expression ',' expression ',' expression ',' expression ')'
|
|
|
{
|
|
@@ -6973,7 +6973,7 @@ primexpr1
|
|
|
Owned<IHqlExpression> lexpr = $7.getExpr();
|
|
|
Owned<ITypeInfo> ltype = lexpr->getType();
|
|
|
Owned<IHqlExpression> locale = (ltype->getTypeCode() == type_varstring) ? lexpr.getLink() : createValue(no_implicitcast, makeVarStringType(ltype->getStringLen()), lexpr.getLink());
|
|
|
- $$.setExpr(createValue(no_unicodeorder, makeIntType(4, true), $3.getExpr(), $5.getExpr(), locale.getLink(), $9.getExpr()));
|
|
|
+ $$.setExpr(createValue(no_unicodeorder, makeIntType(4, true), { $3.getExpr(), $5.getExpr(), locale.getLink(), $9.getExpr() }));
|
|
|
}
|
|
|
| LIKELY '(' booleanExpr ')'
|
|
|
{
|
|
@@ -7006,11 +7006,11 @@ primexpr1
|
|
|
$$.setExpr(fields.getClear(), $1);
|
|
|
}
|
|
|
| '[' ']' {
|
|
|
- $$.setExpr(createList(no_list, makeSetType(NULL), NULL));
|
|
|
+ $$.setExpr(createValue(no_list, makeSetType(NULL)));
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
|
| ALL {
|
|
|
- $$.setExpr(createValue(no_all, makeSetType(NULL), NULL));
|
|
|
+ $$.setExpr(createValue(no_all, makeSetType(NULL)));
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
|
| SET '(' startTopFilter ',' expression ')' endTopFilter
|
|
@@ -7613,14 +7613,14 @@ simpleDataRow
|
|
|
parser->normalizeExpression($3);
|
|
|
parser->normalizeExpression($5);
|
|
|
parser->normalizeExpression($7);
|
|
|
- IHqlExpression * ds = createDataset(no_httpcall, $3.getExpr(), createComma($5.getExpr(), $7.getExpr(), $9.getExpr(), $11.getExpr()));
|
|
|
+ IHqlExpression * ds = createDataset(no_httpcall, { $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $11.getExpr() });
|
|
|
$$.setExpr(createRow(no_selectnth, ds, createConstantOne()));
|
|
|
}
|
|
|
| SOAPCALL '(' expression ',' expression ',' recordDef ',' recordDef ')'
|
|
|
{
|
|
|
parser->normalizeExpression($3);
|
|
|
parser->checkSoapRecord($7);
|
|
|
- IHqlExpression * ds = createDataset(no_soapcall, $3.getExpr(), createComma($5.getExpr(), $7.getExpr(), $9.getExpr()));
|
|
|
+ IHqlExpression * ds = createDataset(no_soapcall, { $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr() });
|
|
|
$$.setExpr(createRow(no_selectnth, ds, createConstantOne()));
|
|
|
}
|
|
|
| SOAPCALL '(' expression ',' expression ',' recordDef ',' recordDef ',' soapFlags ')'
|
|
@@ -7628,7 +7628,7 @@ simpleDataRow
|
|
|
parser->normalizeExpression($3);
|
|
|
parser->normalizeExpression($5);
|
|
|
parser->checkSoapRecord($7);
|
|
|
- IHqlExpression * ds = createDataset(no_soapcall, $3.getExpr(), createComma($5.getExpr(), $7.getExpr(), $9.getExpr(), $11.getExpr()));
|
|
|
+ IHqlExpression * ds = createDataset(no_soapcall, { $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $11.getExpr() });
|
|
|
$$.setExpr(createRow(no_selectnth, ds, createConstantOne()));
|
|
|
parser->checkOnFailRecord($$.queryExpr(), $1);
|
|
|
}
|
|
@@ -7636,7 +7636,7 @@ simpleDataRow
|
|
|
{
|
|
|
parser->normalizeExpression($3);
|
|
|
parser->normalizeExpression($5);
|
|
|
- IHqlExpression * ds = createDataset(no_newsoapcall, $3.getExpr(), createComma($5.getExpr(), $7.getExpr(), $9.getExpr(), $11.getExpr()));
|
|
|
+ IHqlExpression * ds = createDataset(no_newsoapcall, { $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $11.getExpr() });
|
|
|
$$.setExpr(createRow(no_selectnth, ds, createConstantOne()));
|
|
|
}
|
|
|
| SOAPCALL '(' expression ',' expression ',' recordDef ',' transform ',' recordDef ',' soapFlags ')'
|
|
@@ -8111,7 +8111,7 @@ dataSet
|
|
|
|
|
|
OwnedHqlExpr transform = parser->createDefaultAssignTransform(left->queryRecord(), leftSelect, $1);
|
|
|
OwnedHqlExpr cond = createBoolExpr(no_eq, LINK(leftSelect), LINK(rightSelect));
|
|
|
- $$.setExpr(createDatasetF(no_join, LINK(left), LINK(right), cond.getClear(), transform.getClear(), LINK(seq), createAttribute(leftonlyAtom), NULL), $1);
|
|
|
+ $$.setExpr(createDataset(no_join, { LINK(left), LINK(right), cond.getClear(), transform.getClear(), LINK(seq), createAttribute(leftonlyAtom) }), $1);
|
|
|
}
|
|
|
/*
|
|
|
The following would implement (X - Y) + (Y - X), but it would need a new operator since ^ is overloaded for the scope resolution
|
|
@@ -8210,7 +8210,7 @@ simpleDataSet
|
|
|
OwnedHqlExpr seq = parser->createActiveSelectorSequence(ds, NULL);
|
|
|
OwnedHqlExpr left = createSelector(no_left, ds, seq);
|
|
|
OwnedHqlExpr transform = parser->createDefaultAssignTransform(ebcdicRecord, left, $1);
|
|
|
- $$.setExpr(createDatasetF(no_transformebcdic, ds, transform.getClear(), LINK(seq), NULL));
|
|
|
+ $$.setExpr(createDataset(no_transformebcdic, { ds, transform.getClear(), LINK(seq) }));
|
|
|
}
|
|
|
else
|
|
|
$$.setExpr(ds);
|
|
@@ -8225,7 +8225,7 @@ simpleDataSet
|
|
|
OwnedHqlExpr seq = parser->createActiveSelectorSequence(ds, NULL);
|
|
|
OwnedHqlExpr left = createSelector(no_left, ds, seq);
|
|
|
OwnedHqlExpr transform = parser->createDefaultAssignTransform(asciiRecord, left, $1);
|
|
|
- $$.setExpr(createDatasetF(no_transformascii, ds, transform.getClear(), LINK(seq), NULL));
|
|
|
+ $$.setExpr(createDataset(no_transformascii, { ds, transform.getClear(), LINK(seq) }));
|
|
|
}
|
|
|
else
|
|
|
$$.setExpr(ds);
|
|
@@ -8317,7 +8317,7 @@ simpleDataSet
|
|
|
HqlExprArray args;
|
|
|
unwindChildren(args, fields);
|
|
|
OwnedHqlExpr value = createValue(no_sortpartition, LINK(parser->defaultIntegralType), args);
|
|
|
- $$.setExpr(createDatasetF(no_distribute, $3.getExpr(), value.getClear(), $11.getExpr(), NULL));
|
|
|
+ $$.setExpr(createDataset(no_distribute, { $3.getExpr(), value.getClear(), $11.getExpr() }));
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
|
| DISTRIBUTE '(' startTopFilter startDistributeAttrs ',' startRightDistributeSeqFilter endTopFilter ',' expression optKeyedDistributeAttrs ')' endSelectorSequence
|
|
@@ -8331,7 +8331,7 @@ simpleDataSet
|
|
|
if (!isKey(right))
|
|
|
parser->reportError(ERR_EXPECTED_INDEX,$5,"Expected an index as the second parameter");
|
|
|
|
|
|
- IHqlExpression * ds = createDataset(no_keyeddistribute, left, createComma(right, cond, LINK(attr), $12.getExpr()));
|
|
|
+ IHqlExpression * ds = createDataset(no_keyeddistribute, { left, right, cond, LINK(attr), $12.getExpr() });
|
|
|
|
|
|
JoinSortInfo joinInfo(cond, NULL, NULL, NULL, NULL);
|
|
|
joinInfo.findJoinSortOrders(false);
|
|
@@ -8355,7 +8355,7 @@ simpleDataSet
|
|
|
|
|
|
IHqlExpression * cond = parser->createDistributeCond(left, right, $6, $10);
|
|
|
|
|
|
- IHqlExpression * ds = createDataset(no_keyeddistribute, left, createComma(right, cond, $8.getExpr(), $10.getExpr()));
|
|
|
+ IHqlExpression * ds = createDataset(no_keyeddistribute, { left, right, cond, $8.getExpr(), $10.getExpr() });
|
|
|
//Should check that all index fields are accounted for...
|
|
|
|
|
|
$$.setExpr(ds);
|
|
@@ -8441,7 +8441,7 @@ simpleDataSet
|
|
|
OwnedHqlExpr flags;
|
|
|
parser->expandSortedAsList(sortItems);
|
|
|
IHqlExpression * order = parser->processSortList($10, no_mergejoin, ds, sortItems, NULL, &flags);
|
|
|
- IHqlExpression * join = createDataset(no_mergejoin, ds, createComma(cond, order, flags.getClear(), createComma($8.getExpr(), $13.getExpr())));
|
|
|
+ IHqlExpression * join = createDataset(no_mergejoin, { ds, cond, order, flags.getClear(), $8.getExpr(), $13.getExpr() });
|
|
|
$$.setExpr(join);
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
@@ -8459,7 +8459,7 @@ simpleDataSet
|
|
|
$10.unwindCommaList(sortItems);
|
|
|
parser->expandSortedAsList(sortItems);
|
|
|
IHqlExpression * order = parser->processSortList($10, no_nwayjoin, ds, sortItems, NULL, &flags);
|
|
|
- IHqlExpression * join = createDataset(no_nwayjoin, ds, createComma(cond, tform, order, createComma(flags.getClear(), $12.getExpr(), $14.getExpr())));
|
|
|
+ IHqlExpression * join = createDataset(no_nwayjoin, { ds, cond, tform, order, flags.getClear(), $12.getExpr(), $14.getExpr() });
|
|
|
$$.setExpr(join);
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
@@ -8488,7 +8488,7 @@ simpleDataSet
|
|
|
attr = createComma(attr, createAttribute(_countProject_Atom, counter));
|
|
|
parser->ensureTransformTypeMatch($8, left);
|
|
|
parser->ensureTransformTypeMatch($10, right);
|
|
|
- $$.setExpr(createDataset(no_process, left, createComma(right, $8.getExpr(), $10.getExpr(), createComma(attr, $14.getExpr()))));
|
|
|
+ $$.setExpr(createDataset(no_process, { left, right, $8.getExpr(), $10.getExpr(), attr, $14.getExpr() }));
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
|
| ROLLUP '(' startTopLeftRightSeqFilter ',' expression ',' transform optCommonAttrs ')' endTopLeftRightFilter endSelectorSequence
|
|
@@ -8498,7 +8498,7 @@ simpleDataSet
|
|
|
|
|
|
OwnedHqlExpr tr = $7.getExpr();
|
|
|
IHqlExpression *attr = $8.getExpr();
|
|
|
- $$.setExpr(createDataset(no_rollup, $3.getExpr(), createComma($5.getExpr(), tr.getClear(), attr, $11.getExpr())));
|
|
|
+ $$.setExpr(createDataset(no_rollup, { $3.getExpr(), $5.getExpr(), tr.getClear(), attr, $11.getExpr() }));
|
|
|
parser->checkDistribution($3, $$.queryExpr(), false);
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
@@ -8534,7 +8534,7 @@ simpleDataSet
|
|
|
|
|
|
if (!recordTypesMatch(ds, tr))
|
|
|
parser->reportError(ERR_TRANSFORM_TYPE_MISMATCH,$5,"Type returned from transform must match the source dataset type");
|
|
|
- $$.setExpr(createDataset(no_rollup, ds, createComma(cond, tr, attr, LINK(seq))));
|
|
|
+ $$.setExpr(createDataset(no_rollup, { ds, cond, tr, attr, LINK(seq) }));
|
|
|
parser->checkDistribution($3, $$.queryExpr(), false);
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
@@ -8542,7 +8542,7 @@ simpleDataSet
|
|
|
{
|
|
|
parser->checkGrouped($3);
|
|
|
IHqlExpression *attr = NULL;
|
|
|
- $$.setExpr(createDataset(no_rollupgroup, $3.getExpr(), createComma($7.getExpr(), attr, $9.getExpr(), $11.getExpr())));
|
|
|
+ $$.setExpr(createDataset(no_rollupgroup, { $3.getExpr(), $7.getExpr(), attr, $9.getExpr(), $11.getExpr() }));
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
|
| COMBINE '(' startLeftDelaySeqFilter ',' startRightFilter optCommonAttrs ')' endSelectorSequence
|
|
@@ -8550,7 +8550,7 @@ simpleDataSet
|
|
|
IHqlExpression * left = $3.getExpr();
|
|
|
IHqlExpression * right = $5.getExpr();
|
|
|
IHqlExpression * transform = parser->createDefJoinTransform(left,right,$1, $8.queryExpr(),NULL);
|
|
|
- IHqlExpression * combine = createDataset(no_combine, left, createComma(right, transform, $8.getExpr(), $6.getExpr()));
|
|
|
+ IHqlExpression * combine = createDataset(no_combine, { left, right, transform, $8.getExpr(), $6.getExpr() });
|
|
|
$$.setExpr(combine);
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
@@ -8558,7 +8558,7 @@ simpleDataSet
|
|
|
{
|
|
|
IHqlExpression * left = $3.getExpr();
|
|
|
IHqlExpression * right = $5.getExpr();
|
|
|
- IHqlExpression * combine = createDataset(no_combine, left, createComma(right, $7.getExpr(), $8.getExpr(), $10.getExpr()));
|
|
|
+ IHqlExpression * combine = createDataset(no_combine, { left, right, $7.getExpr(), $8.getExpr(), $10.getExpr() });
|
|
|
$$.setExpr(combine);
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
@@ -8566,7 +8566,7 @@ simpleDataSet
|
|
|
{
|
|
|
IHqlExpression * left = $3.getExpr();
|
|
|
IHqlExpression * right = $5.getExpr();
|
|
|
- IHqlExpression * combine = createDataset(no_combinegroup, left, createComma(right, $9.getExpr(), $10.getExpr(), createComma($12.getExpr(), $13.getExpr())));
|
|
|
+ IHqlExpression * combine = createDataset(no_combinegroup, { left, right, $9.getExpr(), $10.getExpr(), $12.getExpr(), $13.getExpr() });
|
|
|
$$.setExpr(combine);
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
@@ -8581,7 +8581,7 @@ simpleDataSet
|
|
|
if (counter)
|
|
|
body = createComma(body, createAttribute(_countProject_Atom, counter));
|
|
|
IHqlExpression * loopCondition = parser->createLoopCondition(left, $6.getExpr(), NULL, $13.queryExpr(), $12.queryExpr());
|
|
|
- IHqlExpression * loopExpr = createDataset(no_loop, left, createComma(loopCondition, body, $10.getExpr(), createComma($12.getExpr(), $13.getExpr())));
|
|
|
+ IHqlExpression * loopExpr = createDataset(no_loop, { left, loopCondition, body, $10.getExpr(), $12.getExpr(), $13.getExpr() });
|
|
|
parser->checkLoopFlags($1, loopExpr);
|
|
|
$$.setExpr(loopExpr);
|
|
|
$$.setPosition($1);
|
|
@@ -8598,7 +8598,7 @@ simpleDataSet
|
|
|
if (counter)
|
|
|
body = createComma(body, createAttribute(_countProject_Atom, counter));
|
|
|
IHqlExpression * loopCondition = parser->createLoopCondition(left, $6.getExpr(), $8.getExpr(), $15.queryExpr(), $14.queryExpr());
|
|
|
- IHqlExpression * loopExpr = createDataset(no_loop, left, createComma(loopCondition, body, $12.getExpr(), createComma($14.getExpr(), $15.getExpr())));
|
|
|
+ IHqlExpression * loopExpr = createDataset(no_loop, { left, loopCondition, body, $12.getExpr(), $14.getExpr(), $15.getExpr() });
|
|
|
parser->checkLoopFlags($1, loopExpr);
|
|
|
$$.setExpr(loopExpr);
|
|
|
$$.setPosition($1);
|
|
@@ -8616,7 +8616,7 @@ simpleDataSet
|
|
|
if (counter)
|
|
|
body = createComma(body, createAttribute(_countProject_Atom, counter));
|
|
|
IHqlExpression * loopCondition = createComma($6.getExpr(), $8.getExpr(), $10.getExpr());
|
|
|
- IHqlExpression * loopExpr = createDataset(no_loop, left, createComma(loopCondition, body, $14.getExpr(), createComma($16.getExpr(), $17.getExpr())));
|
|
|
+ IHqlExpression * loopExpr = createDataset(no_loop, { left, loopCondition, body, $14.getExpr(), $16.getExpr(), $17.getExpr() });
|
|
|
parser->checkLoopFlags($1, loopExpr);
|
|
|
$$.setExpr(loopExpr);
|
|
|
$$.setPosition($1);
|
|
@@ -8631,7 +8631,7 @@ simpleDataSet
|
|
|
IHqlExpression * counter = $9.getExpr();
|
|
|
if (counter)
|
|
|
body = createComma(body, createAttribute(_countProject_Atom, counter));
|
|
|
- IHqlExpression * loopExpr = createDataset(no_graphloop, left, createComma($6.getExpr(), body, $10.getExpr(), createComma($12.getExpr(), $13.getExpr())));
|
|
|
+ IHqlExpression * loopExpr = createDataset(no_graphloop, { left, $6.getExpr(), body, $10.getExpr(), $12.getExpr(), $13.getExpr() });
|
|
|
parser->checkLoopFlags($1, loopExpr);
|
|
|
$$.setExpr(loopExpr);
|
|
|
$$.setPosition($1);
|
|
@@ -8823,7 +8823,7 @@ simpleDataSet
|
|
|
counter = createAttribute(_countProject_Atom, counter);
|
|
|
|
|
|
//MORE: This should require local otherwise it needs to do a full join type thing.
|
|
|
- OwnedHqlExpr extra = createComma($5.getExpr(), $7.getExpr(), transform, createComma($12.getExpr(), counter, $14.getExpr()));
|
|
|
+ OwnedHqlExpr extra = createComma({$5.getExpr(), $7.getExpr(), transform, $12.getExpr(), counter, $14.getExpr()});
|
|
|
parser->saveDiskAccessInformation($1, extra);
|
|
|
$$.setExpr(createDataset(no_denormalize, ds, extra.getClear()));
|
|
|
$$.setPosition($1);
|
|
@@ -8834,7 +8834,7 @@ simpleDataSet
|
|
|
parser->normalizeExpression($7, type_boolean, false);
|
|
|
IHqlExpression * ds = $3.getExpr();
|
|
|
IHqlExpression * transform = $13.getExpr();
|
|
|
- OwnedHqlExpr extra = createComma($5.getExpr(), $7.getExpr(), transform, createComma($14.getExpr(), $16.getExpr(), $17.getExpr()));
|
|
|
+ OwnedHqlExpr extra = createComma({$5.getExpr(), $7.getExpr(), transform, $14.getExpr(), $16.getExpr(), $17.getExpr()});
|
|
|
parser->saveDiskAccessInformation($1, extra);
|
|
|
$$.setExpr(createDataset(no_denormalizegroup, ds, extra.getClear()));
|
|
|
$$.setPosition($1);
|
|
@@ -8867,7 +8867,7 @@ simpleDataSet
|
|
|
IHqlExpression * counter = $9.getExpr();
|
|
|
if (counter)
|
|
|
counter = createAttribute(_countProject_Atom, counter);
|
|
|
- IHqlExpression * extra = createComma($5.getExpr(), $8.getExpr(), counter, createComma($10.getExpr(), $12.getExpr()));
|
|
|
+ IHqlExpression * extra = createComma({ $5.getExpr(), $8.getExpr(), counter, $10.getExpr(), $12.getExpr() });
|
|
|
$$.setExpr(createDataset(no_normalize, $3.getExpr(), extra));
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
@@ -8877,7 +8877,7 @@ simpleDataSet
|
|
|
IHqlExpression * counter = $9.getExpr();
|
|
|
if (counter)
|
|
|
counter = createAttribute(_countProject_Atom, counter);
|
|
|
- IHqlExpression * extra = createComma($5.getExpr(), $8.getExpr(), counter, createComma($10.getExpr(), $12.getExpr()));
|
|
|
+ IHqlExpression * extra = createComma({$5.getExpr(), $8.getExpr(), counter, $10.getExpr(), $12.getExpr() });
|
|
|
$$.setExpr(createDataset(no_normalize, $3.getExpr(), extra));
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
@@ -8940,7 +8940,7 @@ simpleDataSet
|
|
|
{
|
|
|
parser->checkGrouped($3);
|
|
|
IHqlExpression *attr = $6.getExpr();
|
|
|
- $$.setExpr(createDataset(no_filtergroup, $3.getExpr(), createComma($5.getExpr(), attr, $8.getExpr(), $9.getExpr())));
|
|
|
+ $$.setExpr(createDataset(no_filtergroup, { $3.getExpr(), $5.getExpr(), attr, $8.getExpr(), $9.getExpr() }));
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
|
| KEYED '(' dataSet indexListOpt ')' endTopFilter
|
|
@@ -8997,7 +8997,7 @@ simpleDataSet
|
|
|
IHqlExpression * left = $3.getExpr();
|
|
|
IHqlExpression * right = $5.getExpr();
|
|
|
|
|
|
- IHqlExpression *join = createDataset(no_fetch, left, createComma(right, $7.getExpr(), $9.getExpr(), createComma($10.getExpr(), $12.getExpr())));
|
|
|
+ IHqlExpression *join = createDataset(no_fetch, { left, right, $7.getExpr(), $9.getExpr(), $10.getExpr(), $12.getExpr() });
|
|
|
|
|
|
$$.setExpr(join);
|
|
|
$$.setPosition($1);
|
|
@@ -9009,7 +9009,7 @@ simpleDataSet
|
|
|
IHqlExpression * right = $5.getExpr();
|
|
|
IHqlExpression * transform = parser->createDefJoinTransform(left, right, $7, $10.queryExpr(),NULL);
|
|
|
|
|
|
- IHqlExpression *join = createDataset(no_fetch, left, createComma(right, $7.getExpr(), transform, createComma($8.getExpr(), $10.getExpr())));
|
|
|
+ IHqlExpression *join = createDataset(no_fetch, { left, right, $7.getExpr(), transform, $8.getExpr(), $10.getExpr() });
|
|
|
|
|
|
$$.setExpr(join);
|
|
|
$$.setPosition($1);
|
|
@@ -9039,7 +9039,7 @@ simpleDataSet
|
|
|
HqlExprArray args;
|
|
|
unwindChildren(args, transform);
|
|
|
transform.setown(createValue(no_newtransform, transform->getType(), args));
|
|
|
- OwnedHqlExpr index = createDataset(no_newkeyindex, dataset, createComma(record.getClear(), transform.getClear(), extra.getClear(), parser->getGpgSignature()));
|
|
|
+ OwnedHqlExpr index = createDataset(no_newkeyindex, { dataset, record.getClear(), transform.getClear(), extra.getClear(), parser->getGpgSignature() });
|
|
|
parser->checkValidLookupFlag(dataset, index->queryChild(3), $1);
|
|
|
$$.setExpr(index.getClear());
|
|
|
}
|
|
@@ -9147,7 +9147,7 @@ simpleDataSet
|
|
|
parser->reportError(ERR_EXPECTED, $1, "Expected STRING/UTF8/UNICODE");
|
|
|
}
|
|
|
|
|
|
- OwnedHqlExpr empty = createList(no_list, makeSetType(NULL), NULL);
|
|
|
+ OwnedHqlExpr empty = createValue(no_list, makeSetType(NULL));
|
|
|
OwnedHqlExpr quoted = createExprAttribute(quoteAtom, LINK(empty));
|
|
|
OwnedHqlExpr separator = createExprAttribute(separatorAtom, LINK(empty));
|
|
|
OwnedHqlExpr mode = createValue(no_csv, makeNullType(), quoted.getClear(), separator.getClear(), option.getClear());
|
|
@@ -9270,7 +9270,7 @@ simpleDataSet
|
|
|
parser->normalizeExpression($5, type_numeric, false);
|
|
|
parser->normalizeExpression($7, type_numeric, false);
|
|
|
parser->normalizeExpression($9, type_numeric, false);
|
|
|
- $$.setExpr(createDataset(no_enth, $3.getExpr(), createComma($5.getExpr(), $7.getExpr(), $9.getExpr(), $10.getExpr())));
|
|
|
+ $$.setExpr(createDataset(no_enth, { $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $10.getExpr() }));
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
|
| PIPE '(' expression ',' recordDef optPipeOptions ')'
|
|
@@ -9393,7 +9393,7 @@ simpleDataSet
|
|
|
HqlExprArray args;
|
|
|
$5.unwindCommaList(args);
|
|
|
OwnedHqlExpr stepOrder = createSortList(args);
|
|
|
- $$.setExpr(createDatasetF(no_stepped, dataset.getClear(), stepOrder.getClear(), $6.getExpr(), NULL));
|
|
|
+ $$.setExpr(createDataset(no_stepped, { dataset.getClear(), stepOrder.getClear(), $6.getExpr() }));
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
|
| '(' dataSet ')' {
|
|
@@ -9525,7 +9525,7 @@ simpleDataSet
|
|
|
{
|
|
|
parser->normalizeExpression($5, type_stringorunicode, false);
|
|
|
parser->checkOutputRecord($9, false);
|
|
|
- IHqlExpression * ds = createDataset(no_parse, $3.getExpr(), createComma($5.getExpr(), $7.getExpr(), $9.getExpr(), createComma($12.getExpr(), $14.getExpr())));
|
|
|
+ IHqlExpression * ds = createDataset(no_parse, { $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $12.getExpr(), $14.getExpr() });
|
|
|
if (ds->hasAttribute(tomitaAtom) && (ds->queryChild(2)->queryType()->getTypeCode() == type_pattern))
|
|
|
parser->reportError(ERR_EXPECTED_RULE, $7, "Expected a rule as parameter to PARSE");
|
|
|
$$.setExpr(ds);
|
|
@@ -9535,7 +9535,7 @@ simpleDataSet
|
|
|
{
|
|
|
parser->normalizeExpression($5, type_stringorunicode, false);
|
|
|
IHqlExpression * record = $9.queryExpr()->queryRecord();
|
|
|
- IHqlExpression * ds = createDataset(no_newparse, $3.getExpr(), createComma($5.getExpr(), $7.getExpr(), LINK(record), createComma($9.getExpr(), $12.getExpr(), $14.getExpr())));
|
|
|
+ IHqlExpression * ds = createDataset(no_newparse, { $3.getExpr(), $5.getExpr(), $7.getExpr(), LINK(record), $9.getExpr(), $12.getExpr(), $14.getExpr() });
|
|
|
if (ds->hasAttribute(tomitaAtom) && (ds->queryChild(2)->queryType()->getTypeCode() == type_pattern))
|
|
|
parser->reportError(ERR_EXPECTED_RULE, $7, "Expected a rule as parameter to PARSE");
|
|
|
$$.setExpr(ds);
|
|
@@ -9545,14 +9545,14 @@ simpleDataSet
|
|
|
{
|
|
|
parser->normalizeExpression($5, type_stringorunicode, false);
|
|
|
IHqlExpression * record = $7.queryExpr()->queryRecord();
|
|
|
- $$.setExpr(createDataset(no_newxmlparse, $3.getExpr(), createComma($5.getExpr(), LINK(record), $7.getExpr(), createComma($9.getExpr(), $11.getExpr()))));
|
|
|
+ $$.setExpr(createDataset(no_newxmlparse, { $3.getExpr(), $5.getExpr(), LINK(record), $7.getExpr(), $9.getExpr(), $11.getExpr() }));
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
|
| PARSE '(' startTopLeftSeqFilter ',' expression ',' recordDef endTopLeftFilter xmlParseFlags ')' endSelectorSequence
|
|
|
{
|
|
|
parser->normalizeExpression($5, type_stringorunicode, false);
|
|
|
parser->checkOutputRecord($7, false);
|
|
|
- $$.setExpr(createDataset(no_xmlparse, $3.getExpr(), createComma($5.getExpr(), $7.getExpr(), $9.getExpr(), $11.getExpr())));
|
|
|
+ $$.setExpr(createDataset(no_xmlparse, { $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $11.getExpr() }));
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
|
| FAIL '(' recordDef failDatasetParam ')'
|
|
@@ -9600,7 +9600,7 @@ simpleDataSet
|
|
|
parser->normalizeExpression($3);
|
|
|
parser->normalizeExpression($5);
|
|
|
parser->checkSoapRecord($7);
|
|
|
- $$.setExpr(createDataset(no_soapcall, $3.getExpr(), createComma($5.getExpr(), $7.getExpr(), $11.getExpr(), $14.getExpr())));
|
|
|
+ $$.setExpr(createDataset(no_soapcall, { $3.getExpr(), $5.getExpr(), $7.getExpr(), $11.getExpr(), $14.getExpr() }));
|
|
|
parser->checkOnFailRecord($$.queryExpr(), $1);
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
@@ -9608,14 +9608,14 @@ simpleDataSet
|
|
|
{
|
|
|
parser->normalizeExpression($3);
|
|
|
parser->normalizeExpression($5);
|
|
|
- $$.setExpr(createDataset(no_newsoapcall, $3.getExpr(), createComma($5.getExpr(), $7.getExpr(), $9.getExpr(), $13.getExpr())));
|
|
|
+ $$.setExpr(createDataset(no_newsoapcall, { $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $13.getExpr() }));
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
|
| SOAPCALL '(' expression ',' expression ',' recordDef ',' transform ',' DATASET '(' recordDef ')' ',' soapFlags ')'
|
|
|
{
|
|
|
parser->normalizeExpression($3);
|
|
|
parser->normalizeExpression($5);
|
|
|
- $$.setExpr(createDataset(no_newsoapcall, $3.getExpr(), createComma($5.getExpr(), $7.getExpr(), $9.getExpr(), createComma($13.getExpr(), $16.getExpr()))));
|
|
|
+ $$.setExpr(createDataset(no_newsoapcall, { $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $13.getExpr(), $16.getExpr() }));
|
|
|
parser->checkOnFailRecord($$.queryExpr(), $1);
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
@@ -9624,7 +9624,7 @@ simpleDataSet
|
|
|
parser->normalizeExpression($5);
|
|
|
parser->normalizeExpression($7);
|
|
|
parser->checkSoapRecord($9);
|
|
|
- $$.setExpr(createDataset(no_soapcall_ds, $3.getExpr(), createComma($5.getExpr(), $7.getExpr(), $9.getExpr(), createComma($13.getExpr(), $17.getExpr()))));
|
|
|
+ $$.setExpr(createDataset(no_soapcall_ds, { $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $13.getExpr(), $17.getExpr() }));
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
|
| SOAPCALL '(' startTopLeftSeqFilter ',' expression ',' expression ',' recordDef ',' DATASET '(' recordDef ')' ',' soapFlags ')' endTopLeftFilter endSelectorSequence
|
|
@@ -9632,7 +9632,7 @@ simpleDataSet
|
|
|
parser->normalizeExpression($5);
|
|
|
parser->normalizeExpression($7);
|
|
|
parser->checkSoapRecord($9);
|
|
|
- $$.setExpr(createDataset(no_soapcall_ds, $3.getExpr(), createComma($5.getExpr(), $7.getExpr(), $9.getExpr(), createComma($13.getExpr(), $16.getExpr(), $19.getExpr()))));
|
|
|
+ $$.setExpr(createDataset(no_soapcall_ds, { $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $13.getExpr(), $16.getExpr(), $19.getExpr() }));
|
|
|
parser->checkOnFailRecord($$.queryExpr(), $1);
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
@@ -9640,14 +9640,14 @@ simpleDataSet
|
|
|
{
|
|
|
parser->normalizeExpression($5);
|
|
|
parser->normalizeExpression($7);
|
|
|
- $$.setExpr(createDataset(no_newsoapcall_ds, $3.getExpr(), createComma($5.getExpr(), $7.getExpr(), $9.getExpr(), createComma($11.getExpr(), $15.getExpr(), $19.getExpr()))));
|
|
|
+ $$.setExpr(createDataset(no_newsoapcall_ds, { $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $11.getExpr(), $15.getExpr(), $19.getExpr() }));
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
|
| SOAPCALL '(' startTopLeftSeqFilter ',' expression ',' expression ',' recordDef ',' transform ',' DATASET '(' recordDef ')' ',' soapFlags ')' endTopLeftFilter endSelectorSequence
|
|
|
{
|
|
|
parser->normalizeExpression($5);
|
|
|
parser->normalizeExpression($7);
|
|
|
- $$.setExpr(createDataset(no_newsoapcall_ds, $3.getExpr(), createComma($5.getExpr(), $7.getExpr(), $9.getExpr(), createComma($11.getExpr(), $15.getExpr(), $18.getExpr(), $21.getExpr()))));
|
|
|
+ $$.setExpr(createDataset(no_newsoapcall_ds, { $3.getExpr(), $5.getExpr(), $7.getExpr(), $9.getExpr(), $11.getExpr(), $15.getExpr(), $18.getExpr(), $21.getExpr() }));
|
|
|
parser->checkOnFailRecord($$.queryExpr(), $1);
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
@@ -9757,16 +9757,16 @@ simpleDataSet
|
|
|
{
|
|
|
parser->normalizeExpression($3, type_string, false);
|
|
|
parser->validateXPath($3);
|
|
|
- $$.setExpr(createDatasetF(no_xmlproject, $3.getExpr(), $5.getExpr(), parser->createUniqueId(), $6.getExpr(), NULL));
|
|
|
+ $$.setExpr(createDataset(no_xmlproject, { $3.getExpr(), $5.getExpr(), parser->createUniqueId(), $6.getExpr() }));
|
|
|
$$.setPosition($1);
|
|
|
}
|
|
|
| WHEN '(' dataSet ',' action sideEffectOptions ')'
|
|
|
{
|
|
|
- $$.setExpr(createDatasetF(no_executewhen, $3.getExpr(), $5.getExpr(), $6.getExpr(), NULL), $1);
|
|
|
+ $$.setExpr(createDataset(no_executewhen, { $3.getExpr(), $5.getExpr(), $6.getExpr() }), $1);
|
|
|
}
|
|
|
| SUCCESS '(' dataSet ',' action ')'
|
|
|
{
|
|
|
- $$.setExpr(createDatasetF(no_executewhen, $3.getExpr(), $5.getExpr(), createAttribute(successAtom), NULL), $1);
|
|
|
+ $$.setExpr(createDataset(no_executewhen, { $3.getExpr(), $5.getExpr(), createAttribute(successAtom) }), $1);
|
|
|
}
|
|
|
//Slightly unusual arrangement of the productions there to resolve s/r errors
|
|
|
| AGGREGATE '(' startLeftDelaySeqFilter ',' startRightRowsRecord ',' transform beginList ')' endRowsGroup endSelectorSequence
|
|
@@ -9796,7 +9796,7 @@ simpleDataSet
|
|
|
if (counter)
|
|
|
options.setown(createComma(options.getClear(), createAttribute(_countProject_Atom, counter.getClear())));
|
|
|
OwnedHqlExpr selSeq = $15.getExpr();
|
|
|
- $$.setExpr(createDatasetF(no_quantile, ds.getClear(), $5.getExpr(), sortlist.getClear(), transform.getClear(), selSeq.getClear(), options.getClear(), NULL), $1);
|
|
|
+ $$.setExpr(createDataset(no_quantile, { ds.getClear(), $5.getExpr(), sortlist.getClear(), transform.getClear(), selSeq.getClear(), options.getClear() }), $1);
|
|
|
}
|
|
|
| QUANTILE '(' startTopLeftSeqFilter ',' expression ',' sortListExpr beginCounterScope optQuantileOptions endCounterScope ')' endTopLeftFilter endSelectorSequence
|
|
|
{
|
|
@@ -9808,7 +9808,7 @@ simpleDataSet
|
|
|
OwnedHqlExpr selSeq = $13.getExpr();
|
|
|
OwnedHqlExpr leftSelect = createSelector(no_left, ds, selSeq);
|
|
|
OwnedHqlExpr transform = parser->createDefaultAssignTransform(ds->queryRecord(), leftSelect, $1);
|
|
|
- $$.setExpr(createDatasetF(no_quantile, ds.getClear(), $5.getExpr(), sortlist.getClear(), transform.getClear(), selSeq.getClear(), options.getClear(), NULL), $1);
|
|
|
+ $$.setExpr(createDataset(no_quantile, { ds.getClear(), $5.getExpr(), sortlist.getClear(), transform.getClear(), selSeq.getClear(), options.getClear() }), $1);
|
|
|
}
|
|
|
| UNORDERED '(' startTopFilter ')' endTopFilter
|
|
|
{
|
|
@@ -12484,7 +12484,7 @@ pattern0
|
|
|
parser->reportError(ERR_AMBIGUOUS_PRODUCTION, $1, "Cannot use REPEAT on a rule with an associated row");
|
|
|
|
|
|
IHqlExpression * pattern = $3.getExpr();
|
|
|
- $$.setExpr(createValue(no_pat_repeat, parser->getCompoundRuleType(pattern), pattern, $5.getExpr(), createValue(no_any, makeNullType()), $8.getExpr()));
|
|
|
+ $$.setExpr(createValue(no_pat_repeat, parser->getCompoundRuleType(pattern), { pattern, $5.getExpr(), createValue(no_any, makeNullType()), $8.getExpr() }));
|
|
|
}
|
|
|
| REPEAT '(' pattern ',' expression ',' expression optMinimal ')'
|
|
|
{
|
|
@@ -12495,7 +12495,7 @@ pattern0
|
|
|
parser->reportError(ERR_AMBIGUOUS_PRODUCTION, $1, "Cannot use REPEAT on a rule with an associated row");
|
|
|
|
|
|
IHqlExpression * pattern = $3.getExpr();
|
|
|
- $$.setExpr(createValue(no_pat_repeat, parser->getCompoundRuleType(pattern), pattern, $5.getExpr(), $7.getExpr(), $8.getExpr()));
|
|
|
+ $$.setExpr(createValue(no_pat_repeat, parser->getCompoundRuleType(pattern), { pattern, $5.getExpr(), $7.getExpr(), $8.getExpr() }));
|
|
|
}
|
|
|
| OPT '(' pattern optConstExpression ')'
|
|
|
{
|