19 #ifndef FLATTEN_QUERY_EXEC_H
20 #define FLATTEN_QUERY_EXEC_H
55 :
myMachine(inputSchema, attsToIncludeInOutput) {
58 output = std::make_shared<TupleSet>();
67 :
myMachine(inputSchema, attsToIncludeInOutput) {
70 output = std::make_shared<TupleSet>();
80 std::vector<Vector<Handle<Object>>> inputVecData =
84 if (
counts.size() != inputVecData.size()) {
85 counts.resize(inputVecData.size());
89 int numFlattenedRows = 0;
90 for (
int i = 0; i < inputVecData.size(); i++) {
92 int mySize = myVec.
size();
95 numFlattenedRows += mySize;
103 std::vector<Handle<Object>>* outColumn =
new std::vector<Handle<Object>>();
110 outColumn.resize(numFlattenedRows);
111 int overallCounter = 0;
112 size_t mySize = inputVecData.size();
113 for (
int i = 0; i < mySize; i++) {
116 size_t myVecSize = myVec.
size();
117 for (
int j = 0; j < myVecSize; j++) {
118 outColumn[overallCounter] = myRawData[j];
std::vector< std::string > & getAtts()
TypeContained * c_ptr() const
std::shared_ptr< ComputeInfo > ComputeInfoPtr
std::string getType() override
std::vector< int > match(TupleSpec &attsToMatch)
TupleSetPtr process(TupleSetPtr input) override
void replicate(TupleSetPtr input, TupleSetPtr output, std::vector< uint32_t > &counts, int offset)
std::vector< uint32_t > counts
std::shared_ptr< TupleSet > TupleSetPtr
TupleSetSetupMachine myMachine
FlattenExecutor(TupleSpec &inputSchema, TupleSpec &attsToOperateOn, TupleSpec &attsToIncludeInOutput, ComputeInfoPtr)
FlattenExecutor(TupleSpec &inputSchema, TupleSpec &attsToOperateOn, TupleSpec &attsToIncludeInOutput)