JODA
0.13.1 (59b41972)
JSON On-Demand Analysis
|
#include <QueryThread.h>
Public Types | |
typedef IPayload | ContRef |
typedef OPayload | OwnedCont |
Public Types inherited from IWorkerThread< JsonContainerRefQueue, JsonContainerQueue, QueryThreadConfig > | |
typedef IQueueStruct::queue_t | IQueue |
typedef OQueueStruct::queue_t | OQueue |
typedef IQueueStruct::payload_t | IPayload |
typedef OQueueStruct::payload_t | OPayload |
typedef QueryThreadConfig | WConf |
Public Member Functions | |
QueryThread (IQueue *iqueue, OQueue *oqueue, WConf &conf) | |
~QueryThread () override | |
const std::string | getThreadID () const |
bool | hasAggregators () const |
Public Member Functions inherited from IWorkerThread< JsonContainerRefQueue, JsonContainerQueue, QueryThreadConfig > | |
IWorkerThread (IQueue *iqueue, OQueue *oqueue, const WConf &conf) | |
IWorkerThread (IQueue *iqueue, OQueue *oqueue, WConf &&conf) | |
IWorkerThread (IWorkerThread &&)=default | |
IWorkerThread (const IWorkerThread &)=delete | |
IWorkerThread & | operator= (IWorkerThread &&)=default |
IWorkerThread & | operator= (const IWorkerThread &)=delete |
virtual | ~IWorkerThread () |
void | start () |
void | waitFor () |
void | stop () |
bool | requestedToStop () const |
bool | isRunning () const |
Protected Member Functions | |
bool | hasToProject () const |
bool | canCreateView () const |
std::shared_ptr< const DocIndex > | select (JSONContainer &cont) const |
std::vector< std::unique_ptr< RJDocument > > | defaultProject (JSONContainer &cont, const DocIndex &ids, RJMemoryPoolAlloc &alloc) const |
void | aggregate (const std::vector< RapidJsonDocument > &docs) const |
void | aggregate (ContRef pipelineCont, const std::shared_ptr< const DocIndex > &selectResult, bool isSelected) const |
void | work () override |
void | logTimers () const |
Protected Attributes | |
RecurringTimer | bloom_timer |
RecurringTimer | select_timer |
RecurringTimer | project_timer |
RecurringTimer | aggregate_timer |
RecurringTimer | copy_timer |
RecurringTimer | serialize_timer |
RecurringTimer | sample_view_cost_timer |
Protected Attributes inherited from IWorkerThread< JsonContainerRefQueue, JsonContainerQueue, QueryThreadConfig > | |
IQueue * | iqueue |
OQueue * | oqueue |
WConf | conf |
bool | shouldRun |
Additional Inherited Members | |
Static Public Member Functions inherited from IWorkerThread< JsonContainerRefQueue, JsonContainerQueue, QueryThreadConfig > | |
static constexpr auto | getIQueueFlags () |
static constexpr auto | getOQueueFlags () |
static const size_t | recommendedThreads () |
The QueryThread class is responsible for actually executing a Query on one or multiple containers. It reads containers from an input queue, executes the query on each container read and then writes the output container to an output queue.
typedef IPayload QueryThread::ContRef |
typedef OPayload QueryThread::OwnedCont |
|
override |
|
protected |
Aggregates the given list of documents. The results are stored in the aggregator classed within the config objects
docs | The documents to aggregate |
|
protected |
Aggregates all documents within the container. The results are stored in the aggregator classed within the config objects
pipelineCont | The container having the documents |
selectResult | The index showing which documents have to be aggregated |
isSelected | flag dictating if selectResult should be used or not. |
|
protected |
|
protected |
Transforms the the selected documents in the given container
cont | The container to perform the projection on |
ids | A DocIndex containing information on which documents are to be projected |
alloc | An allocator to use for projection. This reduces memory consumption and runtime required by many allocation operations |
const std::string QueryThread::getThreadID | ( | ) | const |
Returns a unique ID identifying this querythread
bool QueryThread::hasAggregators | ( | ) | const |
Checks whether aggregations have to be performed
|
protected |
|
protected |
|
protected |
Selects the documents adhering to he filter (CHOOSE) step in the query.
cont | The container to perform the selection on |
|
overrideprotectedvirtual |
Implements IWorkerThread< JsonContainerRefQueue, JsonContainerQueue, QueryThreadConfig >.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |