Skip to content
This repository was archived by the owner on Sep 27, 2019. It is now read-only.

Commit 098a35a

Browse files
DeanChensjDingshilun
authored andcommitted
add change column catalog
1 parent e61451e commit 098a35a

File tree

3 files changed

+32
-6
lines changed

3 files changed

+32
-6
lines changed

src/catalog/catalog.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -814,6 +814,7 @@ ResultType Catalog::AddColumn(
814814
return ResultType::SUCCESS;
815815
}
816816

817+
<<<<<<< bc9252fda7aeecaeb325a11f30bc23a27569f932
817818
ResultType Catalog::DropColumn(
818819
UNUSED_ATTRIBUTE const std::string &database_name,
819820
UNUSED_ATTRIBUTE const std::string &table_name,
@@ -827,6 +828,13 @@ ResultType Catalog::ChangeColumnName(const std::string &database_name,
827828
const std::vector<std::string> &old_names,
828829
const std::vector<std::string> &names,
829830
concurrency::TransactionContext *txn) {
831+
=======
832+
ResultType ChangeColumnName(const std::string &database_name,
833+
const std::string &table_name,
834+
const std::vector<std::string> &old_names,
835+
const std::vector<std::string> &names,
836+
concurrency::TransactionContext *txn) {
837+
>>>>>>> add change column catalog
830838
if (txn == nullptr) {
831839
throw CatalogException("Change Column requires transaction.");
832840
}
@@ -835,8 +843,12 @@ ResultType Catalog::ChangeColumnName(const std::string &database_name,
835843
throw CatalogException("No names are given.");
836844
}
837845

846+
<<<<<<< bc9252fda7aeecaeb325a11f30bc23a27569f932
838847
LOG_TRACE("Change Column Name %s to %s", old_names[0].c_str(),
839848
names[0].c_str());
849+
=======
850+
LOG_TRACE("Change Column Name %s to %s", old_names[0], names[0]);
851+
>>>>>>> add change column catalog
840852

841853
try {
842854
// Get table from the name

src/catalog/table_catalog.cpp

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,15 @@ std::shared_ptr<ColumnCatalogObject> TableCatalogObject::GetColumnObject(
303303
return nullptr;
304304
}
305305

306+
void TableCatalogObject::ChangeColumnName(
307+
const std::vector<oid_t> &columns,
308+
UNUSED_ATTRIBUTE const std::vector<std::string> &names) {
309+
// TODO: Change column_names
310+
// TODO: Change column_objects
311+
TableCatalogObject::EvictColumnObject(columns[0]);
312+
return;
313+
}
314+
306315
TableCatalog *TableCatalog::GetInstance(storage::Database *pg_catalog,
307316
type::AbstractPool *pool,
308317
concurrency::TransactionContext *txn) {
@@ -394,7 +403,8 @@ bool TableCatalog::InsertTable(oid_t table_oid, const std::string &table_name,
394403
* @param txn TransactionContext
395404
* @return Whether deletion is Successful
396405
*/
397-
bool TableCatalog::DeleteTable(oid_t table_oid, concurrency::TransactionContext *txn) {
406+
bool TableCatalog::DeleteTable(oid_t table_oid,
407+
concurrency::TransactionContext *txn) {
398408
oid_t index_offset = IndexId::PRIMARY_KEY; // Index of table_oid
399409
std::vector<type::Value> values;
400410
values.push_back(type::ValueFactory::GetIntegerValue(table_oid).Copy());

src/include/catalog/table_catalog.h

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ class TableCatalogObject {
4545
friend class ColumnCatalog;
4646

4747
public:
48-
TableCatalogObject(executor::LogicalTile *tile, concurrency::TransactionContext *txn,
49-
int tupleId = 0);
48+
TableCatalogObject(executor::LogicalTile *tile,
49+
concurrency::TransactionContext *txn, int tupleId = 0);
5050

5151
public:
5252
// Get indexes
@@ -71,6 +71,9 @@ class TableCatalogObject {
7171
std::shared_ptr<ColumnCatalogObject> GetColumnObject(
7272
const std::string &column_name, bool cached_only = false);
7373

74+
void ChangeColumnName(const std::vector<oid_t> &columns,
75+
const std::vector<std::string> &names);
76+
7477
inline oid_t GetTableOid() { return table_oid; }
7578
inline const std::string &GetTableName() { return table_name; }
7679
inline oid_t GetDatabaseOid() { return database_oid; }
@@ -119,9 +122,10 @@ class TableCatalog : public AbstractCatalog {
119122
~TableCatalog();
120123

121124
// Global Singleton, only the first call requires passing parameters.
122-
static TableCatalog *GetInstance(storage::Database *pg_catalog = nullptr,
123-
type::AbstractPool *pool = nullptr,
124-
concurrency::TransactionContext *txn = nullptr);
125+
static TableCatalog *GetInstance(
126+
storage::Database *pg_catalog = nullptr,
127+
type::AbstractPool *pool = nullptr,
128+
concurrency::TransactionContext *txn = nullptr);
125129

126130
inline oid_t GetNextOid() { return oid_++ | TABLE_OID_MASK; }
127131

0 commit comments

Comments
 (0)