Esempio n. 1
0
IHqlExpression * addFilter(IHqlExpression * dataset, IHqlExpression * limitField)
{
    IHqlExpression * lower = createConstant(limitField->queryType()->castFrom(true, (__int64)0));
    lower = createValue(no_colon, lower, createValue(no_stored, createConstant(LOWER_LIMIT_ID)));
    lower = createSymbol(createIdAtom(LOWER_LIMIT_ID), lower, ob_private);
    dataset = createDataset(no_filter, LINK(dataset), createBoolExpr(no_ge, LINK(limitField), lower));

    IHqlExpression * upper = createConstant((int)DISKREAD_PAGE_SIZE);
    upper = createValue(no_colon, upper, createValue(no_stored, createConstant(RECORD_LIMIT_ID)));
    upper = createSymbol(createIdAtom(RECORD_LIMIT_ID), upper, ob_private);
    dataset = createDataset(no_choosen, dataset, upper);
    dataset = createSymbol(createIdAtom("_Filtered_"), dataset, ob_private);
    return dataset;
}
Esempio n. 2
0
IHqlExpression * buildWorkUnitViewerEcl(IHqlExpression * record, const char * wuid, unsigned sequence, const char * name)
{
    OwnedHqlExpr newRecord = createSymbol(createIdAtom("_SourceRecord_"), LINK(record), ob_private);
    IHqlExpression * arg = name ? createConstant(name) : createConstant((int)sequence);
    OwnedHqlExpr dataset = createDataset(no_workunit_dataset, newRecord.getLink(), createComma(createConstant(wuid), arg));
    OwnedHqlExpr projected = addSimplifyProject(dataset);
    OwnedHqlExpr output = addOutput(projected);
    return output.getClear();
}
Esempio n. 3
0
IHqlExpression * addSimplifyProject(IHqlExpression * dataset)
{
    IHqlExpression * record = dataset->queryRecord();
    IHqlExpression * projectRecord = getFileViewerRecord(record, false);
    if (!projectRecord)
        return LINK(dataset);

    projectRecord = createSymbol(createIdAtom("_TargetRecord_"), projectRecord, ob_private);
    return createDataset(no_newusertable, LINK(dataset), createComma(projectRecord, getSimplifiedTransform(projectRecord, record, dataset)));
}
Esempio n. 4
0
IHqlExpression * buildDiskFileViewerEcl(const char * logicalName, IHqlExpression * record)
{
    //Add filepos to the incomming record structure...
    IHqlExpression * filePosAttr = createAttribute(virtualAtom, createAttribute(filepositionAtom));
    OwnedHqlExpr filepos = createField(fileposId, makeIntType(8, false), NULL, filePosAttr);
    IHqlExpression * sizeofAttr = createAttribute(virtualAtom, createAttribute(sizeofAtom));
    OwnedHqlExpr reclen = createField(recordlenName, makeIntType(2, false), NULL, sizeofAttr);
    HqlExprArray fields;
    unwindChildren(fields, record);
    fields.append(*filepos.getLink());
    fields.append(*reclen.getLink());

    OwnedHqlExpr newRecord = createRecord(fields);
    newRecord.setown(createSymbol(createIdAtom("_SourceRecord_"), newRecord.getLink(), ob_private));

    OwnedHqlExpr dataset = createNewDataset(createConstant(logicalName), newRecord.getLink(), createValue(no_thor), NULL, NULL, NULL);
    OwnedHqlExpr filtered = addFilter(dataset, filepos);
    OwnedHqlExpr projected = addSimplifyProject(filtered);
    OwnedHqlExpr output = addOutput(projected);
    return output.getClear();
}
Esempio n. 5
0
IIdAtom * xmlEncodeUStrId;

//===========================================================================

//MORE: Need to change many MAKEATOM to MAKEID in this file, and most of the explicit calls should be removed/changed

#define MAKEID(x)   x##Id = createIdAtom(#x)
#define MAKEATOM(x) x##Atom = createLowerCaseAtom(#x)
#define MAKESYSATOM(x)  _##x##_Atom = createLowerCaseAtom("$_" #x "_")

MODULE_INIT(INIT_PRIORITY_HQLATOM-1)
{
    MAKEID(clibExp);
    MAKEID(_fail);

    acosId = createIdAtom("_acos");
    MAKEID(addAggregateRow);
    MAKEID(addAll);
    MAKEID(addRange);
    MAKEID(addWorkunitAssertFailure);
    MAKEID(an2b);
    MAKEID(an2f);
    MAKEID(an2l4);
    MAKEID(an2l8);
    MAKEID(an2ls4);
    MAKEID(an2ls8);
    MAKEID(appendRowsToRowset);
    MAKEID(appendSetX);
    MAKEID(ascii2ebcdic);
    asinId = createIdAtom("_asin");
    atan2Id = createIdAtom("_atan2");
Esempio n. 6
0
            extractor.addRootReference(mappedDefault);
        }
    }

    extractor.extractWebServiceInfo();

    StringPairArray results;
    extractor.getResults(results);
    ForEachItemIn(i, results)
    {
        StringPairItem & cur = results.item(i);
        webServicesInfo->setInfo(cur.first, cur.second); 
    }

    //Names are currently stored case insensitively, we want the case sensitive variant.
    OwnedHqlExpr s1 = ctx.queryRepository()->queryRootScope()->lookupSymbol(createIdAtom(moduleName.str()), LSFpublic, ctx);
    if (s1 && s1->queryScope())
    {
        const char *caseSensitiveModuleName = s1->queryScope()->queryFullName();
        webServicesInfo->setModuleName(caseSensitiveModuleName);
    }
    
    unsigned version = extractor.getVersion();
    webServicesInfo->setWebServicesCRC(version);

//  const char *caseSensitiveAttrName = attrCache->queryProp("Module/Attribute/@name");
//  if (caseSensitiveAttrName)
//      webServicesInfo->setAttributeName(caseSensitiveAttrName);

    return true;
}