41 const char* colname,
const char* condr = 0,
42 const char* conds = 0);
47 virtual void estimate(uint64_t& nmin, uint64_t& nmax) =0;
60 virtual table*
select(
const std::vector<const char*>& colnames) =0;
66 fillEquiJoinTable(
size_t nrows,
67 const std::string &desc,
70 const std::vector<void*>& rbuff,
73 const std::vector<void*>& sbuff,
75 const std::vector<uint32_t>& cnpos);
77 fillEquiJoinTable(
size_t nrows,
78 const std::string &desc,
79 const std::vector<std::string>& rjcol,
81 const std::vector<void*>& rbuff,
82 const std::vector<std::string>& sjcol,
84 const std::vector<void*>& sbuff,
86 const std::vector<uint32_t>& cnpos);
An abstract join interface.
Definition: join.h:31
The current implementation of FastBit is code named IBIS; most data structures and functions are in t...
Definition: bord.h:16
Template array_t is a replacement of std::vector.
Definition: array_t.h:24
The abstract table class.
Definition: table.h:77
The class ibis::part represents a partition of a relational table.
Definition: part.h:27
virtual int64_t evaluate()=0
Compute the number of results.
virtual void estimate(uint64_t &nmin, uint64_t &nmax)=0
Provide an estimate of the number of results.
virtual table * select(const std::vector< const char * > &colnames)=0
Produce a projection of the joined table.
static join * create(const ibis::part &partr, const ibis::part &parts, const char *colname, const char *condr=0, const char *conds=0)
The natural join.
Definition: joinin.cpp:1360
Define the class ibis::part.