OmniSciDB  04ee39c94c
ChunkAccessorTable.h
Go to the documentation of this file.
1 /*
2  * Copyright 2018 MapD Technologies, Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
22 #ifndef _CHUNK_ACCESSOR_TABLE_H_
23 #define _CHUNK_ACCESSOR_TABLE_H_
24 
25 #include <Catalog/Catalog.h>
26 #include <Chunk/Chunk.h>
27 
28 #include <vector>
29 
30 // convenience functions for multi-fragment support in multi-threaded worker functions
31 // (poly rendering, importer)
32 
33 using ChunkIterVector = std::vector<ChunkIter>;
34 using ChunkAccessorTable = std::vector<
35  std::tuple<size_t, std::vector<std::shared_ptr<Chunk_NS::Chunk>>, ChunkIterVector>>;
36 
38  const TableDescriptor* td,
39  const std::vector<std::string>& columnNames);
40 
42  size_t rowid,
43  size_t& rowOffset);
44 
45 #endif // _CHUNK_ACCESSOR_TABLE_H_
class for a per-database catalog. also includes metadata for the current database and the current use...
Definition: Catalog.h:81
std::vector< std::tuple< size_t, std::vector< std::shared_ptr< Chunk_NS::Chunk > >, ChunkIterVector > > ChunkAccessorTable
This file contains the class specification and related data structures for Catalog.
ChunkIterVector & getChunkItersAndRowOffset(ChunkAccessorTable &table, size_t rowid, size_t &rowOffset)
std::vector< ChunkIter > ChunkIterVector
ChunkAccessorTable getChunkAccessorTable(const Catalog_Namespace::Catalog &cat, const TableDescriptor *td, const std::vector< std::string > &columnNames)
specifies the content in-memory of a row in the table metadata table