1//===----------------------------------------------------------------------===//
2// DuckDB
3//
4// duckdb/storage/table_io_manager.hpp
5//
6//
7//===----------------------------------------------------------------------===//
8
9#pragma once
10
11#include "duckdb/common/common.hpp"
12
13namespace duckdb {
14class BlockManager;
15class DataTable;
16
17class TableIOManager {
18public:
19 virtual ~TableIOManager() {
20 }
21
22 //! Obtains a reference to the TableIOManager of a specific table
23 static TableIOManager &Get(DataTable &table);
24
25 //! The block manager used for managing index data
26 virtual BlockManager &GetIndexBlockManager() = 0;
27
28 //! The block manager used for storing row group data
29 virtual BlockManager &GetBlockManagerForRowData() = 0;
30};
31
32} // namespace duckdb
33