This repository was archived by the owner on Sep 27, 2019. It is now read-only.
File tree Expand file tree Collapse file tree 4 files changed +26
-0
lines changed Expand file tree Collapse file tree 4 files changed +26
-0
lines changed Original file line number Diff line number Diff line change 32
32
#include " function/old_engine_string_functions.h"
33
33
#include " function/timestamp_functions.h"
34
34
#include " index/index_factory.h"
35
+ #include " planner/seq_scan_plan.h"
36
+ #include " planner/insert_plan.h"
35
37
#include " settings/settings_manager.h"
36
38
#include " storage/storage_manager.h"
37
39
#include " storage/table_factory.h"
Original file line number Diff line number Diff line change 15
15
#include < mutex>
16
16
17
17
#include " catalog/catalog_defaults.h"
18
+ #include " catalog/column_catalog.h"
18
19
#include " function/functions.h"
19
20
20
21
namespace peloton {
Original file line number Diff line number Diff line change @@ -72,6 +72,9 @@ class Database : public Printable {
72
72
std::string GetDBName ();
73
73
void setDBName (const std::string &database_name);
74
74
75
+ storage::DataTable *ReplaceTableWithOid (const oid_t table_oid,
76
+ storage::DataTable *new_table);
77
+
75
78
protected:
76
79
// ===--------------------------------------------------------------------===//
77
80
// MEMBERS
Original file line number Diff line number Diff line change @@ -184,5 +184,25 @@ void Database::setDBName(const std::string &database_name) {
184
184
Database::database_name = database_name;
185
185
}
186
186
187
+ storage::DataTable *Database::ReplaceTableWithOid (
188
+ const oid_t table_oid, storage::DataTable *new_table) {
189
+ {
190
+ std::lock_guard<std::mutex> lock (database_mutex);
191
+
192
+ oid_t table_offset = 0 ;
193
+ for (auto table : tables) {
194
+ if (table->GetOid () == table_oid) {
195
+ break ;
196
+ }
197
+ table_offset++;
198
+ }
199
+ PL_ASSERT (table_offset < tables.size ());
200
+
201
+ auto old_table = tables.at (table_offset);
202
+ tables[table_offset] = new_table;
203
+ return old_table;
204
+ }
205
+ }
206
+
187
207
} // namespace storage
188
208
} // namespace peloton
You can’t perform that action at this time.
0 commit comments