主要参考
Drop Table -Miniob2023版 – KeplerFlow's Blog
文章其实已经相当全面了,主要说一些第一次进行相关代码修改遇到的问题
问题1:error: ‘XXX’ is not a member of ‘RC’
RC中没有声明这个成员,到RC定义的相关代码进行添加即可,在rc.h中按格式进行添加
问题2:error: no declaration matches ‘RC Db::drop_table(const char*)’
没有在db.h中声明这个函数,仿照create_table的格式进行仿写,注意drop相关的变量成员更少,注意修改
问题3:stmt.cpp:(.text+0x1a1): undefined reference to `DropTableStmt::create(Db*, DropTableSqlNode const&, Stmt*&)'
但是其实按照文章进行修改代码的话我们已经声明了相关的信息,进行相关的资料查阅推测应该是代码的链接出了问题,在miniob中进行编译时,重新运行一次
cmake .. -DDEBUG=ON
make
问题四:修改了代码但是push到远程仓库后代码没有改变
因为没有更新本地仓库中的代码,因此远程也只是push了原始代码,重新运行
git init
git add .
git commmit -m 'init'
清除自己在gitee上的仓库内容,再运行
git branch -M main
git push -u origin main
就可以完成代码更新,中间在git add .时会有warning但是好像不影响后续运行