9 #ifndef _JOINALGO_JOINALGOTABLE_H_
10 #define _JOINALGO_JOINALGOTABLE_H_
21 vector<AbstractJoinAlgoPtr> algos;
33 if (idx < algos.size()) {
44 size_t maxIdx = algos.size();
45 for (
size_t i = 0; i < maxIdx; i++) {
46 if (algos[i]->getAlgoName() == name) {
58 algos.push_back(anew);
59 return algos.size() - 1;
63 typedef std::shared_ptr<JoinAlgoTable> JoinAlgoTablePtr;
64 #define newJoinAlgoTable() make_shared<JoinAlgoTable>()
The table contains all supported algos.
Definition: JoinAlgoTable.h:19
AbstractJoinAlgoPtr findAlgo(string name)
find a algorithm in the table according to its index
Definition: JoinAlgoTable.h:43
size_t registerNewAlgo(AbstractJoinAlgoPtr anew)
To register a new algorithm.
Definition: JoinAlgoTable.h:57
AbstractJoinAlgoPtr findAlgo(size_t idx)
find a algorithm in the table according to its index
Definition: JoinAlgoTable.h:32
join_algo_index_t
The system default index for join algorithms.
Definition: JoinAlgoTable.h:70
Definition: DatasetTool.h:10
@ JOINALGO_NESTEDLOOP
Definition: JoinAlgoTable.h:78
@ JOINALGO_NULL
Definition: JoinAlgoTable.h:74
@ JOINALGO_NPJ
Definition: JoinAlgoTable.h:82
@ JOINALGO_NPJ_SINGLE
Definition: JoinAlgoTable.h:86