1 #ifndef __GPUDB_INGESTOR_HPP__ 2 #define __GPUDB_INGESTOR_HPP__ 15 #include <boost/noncopyable.hpp> 16 #include <boost/shared_ptr.hpp> 38 typedef std::vector<gpudb::HttpUrl> worker_list;
77 size_t size()
const {
return m_worker_urls.size(); }
81 const_iterator
begin()
const {
return m_worker_urls.begin(); }
82 const_iterator
end()
const {
return m_worker_urls.end(); }
85 bool empty()
const {
return m_worker_urls.empty(); }
93 worker_list m_worker_urls;
95 static void split_string(
const std::string &in_string,
97 std::vector<std::string> &elements );
103 class RecordKeyBuilder;
119 const std::string& table_name,
121 const std::map<std::string, std::string>& insert_options,
125 const std::string& table_name,
131 const std::string& table_name,
132 const std::map<std::string, std::string>& insert_options,
136 const std::string& table_name,
size_t batch_size );
187 void insert( std::vector<gpudb::GenericRecord> records );
192 typedef std::map<std::string, std::string> str_to_str_map_t;
193 typedef boost::shared_ptr<gpudb::WorkerQueue> worker_queue_ptr_t;
201 const std::string& table_name,
209 void flush(
const std::vector<gpudb::GenericRecord>& queue,
213 std::string m_table_name;
215 std::atomic<size_t> m_count_inserted;
216 std::atomic<size_t> m_count_updated;
217 str_to_str_map_t m_insert_options;
219 gpudb::RecordKeyBuilder* m_primary_key_builder_ptr;
220 gpudb::RecordKeyBuilder* m_shard_key_builder_ptr;
223 std::vector<int32_t> m_routing_table;
224 std::vector<worker_queue_ptr_t> m_worker_queues;
234 #endif // __GPUDB_INGESTOR_HPP__
WorkerList(const GPUdb &gpudb)
std::string toString() const
size_t getCountUpdated() const
const_iterator begin() const
void test_record_key_builder()
size_t getCountInserted() const
worker_list::const_iterator const_iterator
const_iterator end() const
void test_worker_list(std::string host)