void QueryEvaluator::evaluateQuery() { if (checkValid) { TNode * select_node = tree.getRoot(); //select_node->printTNode(); ResultManager result_manager = ResultManager(); bool is_satisfied = true; int size = select_node->getNumChildren(); // ignore result node and process with all clause node for (int i=1; i<size; i++) { TNode * clause_node = select_node->getChildAtIndex(i); vector<string> symbols = getSymbolsUsedBy(clause_node); ResultTable * temp_results = result_manager.extractTable(symbols); is_satisfied = evaluateClause(clause_node, temp_results); if (!is_satisfied) { break; } else { result_manager.insertTable(temp_results); } if (AbstractWrapper::GlobalStop) { vector<string> result; resultList.push_back(result); } } TNode * result_node = select_node->getChildAtIndex(0); vector<string> result = extractResult(result_node, &result_manager, is_satisfied); resultList.push_back(result); } else { vector<string> result = extractResult(); resultList.push_back(result); } }
folly::Future<ScmStatus> diffTrees(ObjectStore* store, Hash tree1, Hash tree2) { return folly::makeFutureWith([&] { auto differ = make_unique<TreeDiffer>(store); auto* differRawPtr = differ.get(); return differRawPtr->diffTrees(RelativePathPiece{}, tree1, tree2) .thenValue([differ = std::move(differ)](auto&&) { return differ->extractResult(); }); }); }
folly::Future<ScmStatus> diffCommits(ObjectStore* store, Hash commit1, Hash commit2) { return folly::makeFutureWith([&] { auto differ = make_unique<TreeDiffer>(store); auto* differRawPtr = differ.get(); return differRawPtr->diffCommits(commit1, commit2) .thenValue([differ = std::move(differ)](auto&&) { return differ->extractResult(); }); }); }
void TrkDevice::tryTrkRead() { #ifdef Q_OS_WIN const DWORD BUFFERSIZE = 1024; char buffer[BUFFERSIZE]; DWORD charsRead; DWORD totalCharsRead = 0; while (TryReadFile(d->hdevice, buffer, BUFFERSIZE, &charsRead, NULL)) { totalCharsRead += charsRead; d->trkReadBuffer.append(buffer, charsRead); if (isValidTrkResult(d->trkReadBuffer, d->serialFrame)) break; } if (verbose() && totalCharsRead) logMessage("Read" + d->trkReadBuffer.toHex()); if (!totalCharsRead) return; const ushort len = trk::isValidTrkResult(d->trkReadBuffer, d->serialFrame); if (!len) { const QString msg = QString::fromLatin1("Partial message: %1").arg(stringFromArray(d->trkReadBuffer)); emitError(msg); return; } #else const int size = bytesAvailable(d->file.handle()); if (!size) return; const QByteArray data = d->file.read(size); if (verbose()) logMessage("READ " + data.toHex()); d->trkReadBuffer.append(data); const ushort len = trk::isValidTrkResult(d->trkReadBuffer, d->serialFrame); if (!len) { if (d->trkReadBuffer.size() > 10) { const QString msg = QString::fromLatin1("Unable to extract message from '%1' '%2'"). arg(QLatin1String(d->trkReadBuffer.toHex())).arg(QString::fromAscii(d->trkReadBuffer)); emitError(msg); } return; } #endif // Q_OS_WIN trk::TrkResult r; QByteArray rawData; while (extractResult(&d->trkReadBuffer, d->serialFrame, &r, &rawData)) { if (verbose()) logMessage("Read TrkResult " + r.data.toHex()); emit messageReceived(r); if (!rawData.isEmpty()) emit rawDataReceived(rawData); } }
static void dispatch(CCallHelpers& jit, FTL::State* state, const B3::StackmapGenerationParams& params, DFG::Node* node, Box<CCallHelpers::JumpList> exceptions, CCallHelpers::JumpList from, OperationType operation, ResultType result, Arguments arguments, std::index_sequence<ArgumentsIndex...>) { CCallHelpers::Label done = jit.label(); params.addLatePath([=] (CCallHelpers& jit) { AllowMacroScratchRegisterUsage allowScratch(jit); from.link(&jit); callOperation( *state, params.unavailableRegisters(), jit, node->origin.semantic, exceptions.get(), operation, extractResult(result), std::get<ArgumentsIndex>(arguments)...); jit.jump().linkTo(done, &jit); }); }
void BufferedInvocation::end(PointView& view, MetadataNode m) { // for each entry in the script's outs dictionary, // look up that entry's name in the schema and then // copy the data into the right dimension spot in the // buffer std::vector<std::string> names; getOutputNames(names); PointLayoutPtr layout(view.m_pointTable.layout()); Dimension::IdList const& dims = layout->dims(); for (auto di = dims.begin(); di != dims.end(); ++di) { Dimension::Id::Enum d = *di; const Dimension::Detail *dd = layout->dimDetail(d); std::string name = layout->dimName(*di); auto found = std::find(names.begin(), names.end(), name); if (found == names.end()) continue; // didn't have this dim in the names assert(name == *found); assert(hasOutputVariable(name)); size_t size = dd->size(); void *data = extractResult(name, dd->type()); char *p = (char *)data; for (PointId idx = 0; idx < view.size(); ++idx) { view.setField(d, dd->type(), idx, (void *)p); p += size; } } for (auto bi = m_buffers.begin(); bi != m_buffers.end(); ++bi) free(*bi); m_buffers.clear(); addMetadata(m_metaOut, m); }
qint64 QBenchmarkValgrindUtils::extractLastResult() { return extractResult(getNewestFileName()); }