JODA  0.13.1 (59b41972)
JSON On-Demand Analysis
IQueryExecutor.h
Go to the documentation of this file.
1 //
2 // Created by Nico Schäfer on 9/27/17.
3 //
4 
5 #ifndef JODA_IQUERYEXECUTOR_H
6 #define JODA_IQUERYEXECUTOR_H
7 
8 #define NOT_APPLICABLE ULONG_MAX
9 
11 namespace joda::query {
12 class Query;
13 }
14 
16  public:
17  explicit IQueryExecutor(){};
18 
19  virtual ~IQueryExecutor() = default;
20 
21  virtual unsigned long estimatedWork(const joda::query::Query &q,
22  JSONContainer &cont) = 0;
23  virtual std::shared_ptr<const DocIndex> execute(const joda::query::Query &q,
24  JSONContainer &cont) = 0;
25 
26  virtual std::string getName() const = 0;
27  virtual void alwaysAfterSelect(const joda::query::Query &q,
28  std::shared_ptr<const DocIndex> &sel,
29  JSONContainer &cont) = 0;
30  virtual std::unique_ptr<IQueryExecutor> duplicate() = 0;
31 
32  protected:
33 };
34 
35 #endif // JODA_IQUERYEXECUTOR_H
Definition: IQueryExecutor.h:15
virtual std::string getName() const =0
virtual unsigned long estimatedWork(const joda::query::Query &q, JSONContainer &cont)=0
virtual std::unique_ptr< IQueryExecutor > duplicate()=0
IQueryExecutor()
Definition: IQueryExecutor.h:17
virtual void alwaysAfterSelect(const joda::query::Query &q, std::shared_ptr< const DocIndex > &sel, JSONContainer &cont)=0
virtual ~IQueryExecutor()=default
virtual std::shared_ptr< const DocIndex > execute(const joda::query::Query &q, JSONContainer &cont)=0
Definition: JSONContainer.h:37
Definition: Query.h:24
Definition: AttributeStatAggregator.h:12