22 #ifndef Hypertable_Lib_Table_h
23 #define Hypertable_Lib_Table_h
54 typedef std::shared_ptr<Table>
TablePtr;
63 OPEN_FLAG_BYPASS_TABLE_CACHE = 0x01,
64 OPEN_FLAG_REFRESH_TABLE_CACHE = 0x02,
65 OPEN_FLAG_NO_AUTO_TABLE_REFRESH = 0x04,
66 SCANNER_FLAG_IGNORE_INDEX = 0x01,
67 SCANNER_FLAG_PROFILE = 0x02
77 const std::string &name, int32_t flags = 0, uint32_t default_timeout_ms = 0);
92 uint32_t flush_interval_ms = 0);
103 uint32_t timeout_ms = 0,
115 uint32_t timeout_ms = 0, int32_t flags = 0);
130 uint32_t timeout_ms = 0,
134 std::lock_guard<std::mutex> lock(m_mutex);
135 refresh_if_required();
136 *table_id_p = m_table;
140 std::lock_guard<std::mutex> lock(m_mutex);
145 std::lock_guard<std::mutex> lock(m_mutex);
146 refresh_if_required();
169 std::lock_guard<std::mutex> lock(m_mutex);
174 std::lock_guard<std::mutex> lock(m_mutex);
179 return (m_flags & OPEN_FLAG_NO_AUTO_TABLE_REFRESH) == 0;
186 std::lock_guard<std::mutex> lock(m_mutex);
187 for (
auto cf : m_schema->get_column_families()) {
188 if (cf->get_deleted())
190 if (cf->get_value_index())
198 std::lock_guard<std::mutex> lock(m_mutex);
199 for (
auto cf : m_schema->get_column_families()) {
200 if (cf->get_deleted())
202 if (cf->get_qualifier_index())
210 std::lock_guard<std::mutex> lock(m_mutex);
211 return (m_index_table!=0);
216 std::lock_guard<std::mutex> lock(m_mutex);
217 return (m_qualifier_index_table != 0);
223 std::lock_guard<std::mutex> lock(m_mutex);
224 HT_ASSERT(idx != 0 ? m_index_table == 0 : 1);
230 std::lock_guard<std::mutex> lock(m_mutex);
231 HT_ASSERT(idx != 0 ? m_qualifier_index_table == 0 : 1);
232 m_qualifier_index_table = idx;
236 return m_index_table;
240 return m_qualifier_index_table;
255 void refresh_if_required();
281 #endif // Hypertable_Lib_Table_h
void initialize(const String &name)
Public initialization function - creates a singleton instance of LogWriter.
bool has_qualifier_index_table()
returns true if this table has a qualifier index
Namespace * get_namespace()
ConnectionManagerPtr m_conn_manager
Hyperspace::SessionPtr m_hyperspace
ApplicationQueueInterfacePtr m_app_queue
void set_qualifier_index_table(TablePtr idx)
sets the qualifier index table
bool needs_index_table()
returns true if this table requires a index table
std::shared_ptr< RangeLocator > RangeLocatorPtr
Smart pointer to RangeLocator.
Asynchronous table scanner.
Establishes and maintains a set of TCP connections.
Declarations for TableIdentifier and TableIdentifierManaged.
NameIdMapperPtr m_namemap
TableIdentifierManaged m_table
bool needs_qualifier_index_table()
returns true if this table requires a qualifier index table
RangeLocatorPtr get_range_locator()
Provides the ability to mutate a table in the form of adding and deleting rows and cells...
Wrapper for TableIdentifier providing member storage.
Scan predicate and control specification.
Declarations for RangeServerProtocol.
Represents an open table.
Provides the ability to mutate a table in the form of adding and deleting rows and cells...
std::shared_ptr< Session > SessionPtr
void set_index_table(TablePtr idx)
sets the index table.
std::shared_ptr< Properties > PropertiesPtr
Declarations for ClientObject.
std::shared_ptr< ApplicationQueueInterface > ApplicationQueueInterfacePtr
Smart pointer to ApplicationQueueInterface.
Synchronous table scanner.
bool has_index_table()
returns true if this table has an index
Base class for Hypertable client objects.
size_t m_scanner_queue_size
Entry point to AsyncComm service.
std::string m_toplevel_dir
TablePtr get_index_table()
RangeLocatorPtr m_range_locator
TablePtr m_qualifier_index_table
void set_namespace(Namespace *ns)
std::mutex m_mutex
Mutex for serializing member access.
std::shared_ptr< Schema > SchemaPtr
Smart pointer to Schema.
const std::string & get_name()
Declarations for ApplicationQueueInterface.
std::shared_ptr< ConnectionManager > ConnectionManagerPtr
Smart pointer to ConnectionManager.
Represents an open table.
std::shared_ptr< NameIdMapper > NameIdMapperPtr
Smart pointer to NameIdMapper.
std::shared_ptr< Table > TablePtr
void get_identifier(TableIdentifier *table_id_p)
TablePtr get_qualifier_index_table()