Code Monkey home page Code Monkey logo

dongmendb's Introduction

DongmenDB

DongmenDB 是一个用于教学的关系数据库系统

使用须知

如果你是正在使用本仓库进行实验的同学,请确保知悉并遵循以下几点:

  • 在你开始实验或者提问之前,请确保已经阅读完该仓库的README文件以及doc 文件夹下的指导性文件
  • 本仓库旨在加深学生对数据库相关知识的理解与提高动手能力,请不要在未理解原理及实现过程的时候,复制同年或历年的代码、实验报告等内容
  • 实验过程中允许相互借鉴,但是抄袭行为不会被建议,也绝对不会被允许,请自重并尊重老师的辛勤付出与协作者的努力
  • 如果你还不会配置本实验的环境,或者你在配置过程中出现了某种问题,请确保你已经阅读下文的 环境配置 部分的内容
  • 如果你确定要对你遇到的问题进行提问,请在发起 issue 时根据 issue模板 的要求,详尽的阐述你所遇到的问题、所使用的CLion程序版本、所使用的编译器具体信息等,以便其他人更好的帮助你解决问题
  • 考虑到实验内容正在不断完善且本仓库内容非即时更新,若在实验时遇到老师或协作者在其他即时平台上发布的更改信息,请以你收到的官方信息为准
  • 为更好地同步本仓库的内容,建议学习 git 的相关知识,这并不难,但会对你有很大的帮助

环境配置

  • 你应该确保任何涉及到本实验的软件、编译器等路径均不包含中文字符
  • 如果你本身的网络条件欠佳,请下载 MinGW-w64 的离线安装版本,即非 Online Installer 的其他版本

本仓库规定参与者应使用如下软件:

软件 官网链接 备注
Git for windows Git-scm 用于版本控制同步仓库
CLion Jetbrains_CLion 学生免费
MinGW-w64 Sourceforge 请下载下方最新的*-posix-seh版本

视频指导

如果你没有配置过相似实验环境的基础,或在实验环境配置过程中出现了某种问题,你可以先参照下述视频内容

Bilibili

OneDrive

离线备份

如果你无法下载上述软件,或你无法找到下载链接,你可以在这里找到 2019年实验时,使用的版本文件备份

软件 备份地址
Git for windows OneDrive
CLion OneDrive
MinGW-w64 OneDrive
  • 上述备份软件确保可以顺利完成 2019年的仓库实验内容,对之后的仓库实验也应该可以完成,但不做保证

视频的离线下载地址:OneDrive

贡献与协作

  • 本实验仍在不断地完善与成长中,所以非常欢迎各位同学为本仓库修复各种可能的错误,或是提供各种指导性的说明文档等,包括但不限于添加实验代码的相关注释、说明文档、指导文档等指导性内容
  • 如果你乐意为本仓库做出贡献,你可以联系老师获得协作者身份
  • 假如你是本实验的协作者,请悉知并遵守如下几点:
    • 请保证每一次推送代码之前,务必先 pull 拉取仓库的所有改动,解决冲突合并后再提交
    • 请确保无论使用何种方式更改本实验仓库,不包含涉及到实验答案的任何内容,包括但不限于涉及实验内容直接或间接答案的代码或其他不宜与其他课程参与者共示的文件内容
    • 若你将要对仓库进行改动,请确保该次改动仅仅修改了错误相关的内容,且对其他实验结果没有不良影响
    • 建议协作者知晓 gitgithub 的操作流程,在操作之前进行备份,避免错误导致仓库状态异常无法修复

dongmendb's People

Contributors

fancykings avatar genghanqiang avatar kele1997 avatar maokwen avatar shixuanliu1124 avatar sunmaoxiang avatar whcmrshi avatar youngsamwei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

dongmendb's Issues

在 gcc10 下编译出错

使用 gcc10 编译时, Transaction.hFileManager.h 时报 std::string 未定义。添加 #include<string> 后可以编译通过。

编译器输出附如下:

.../DongmenDB-mastercpp/include/dongmendb/Transaction.h:31:9: error: ‘string’ was not declared in this scope
31 | map<string, MemoryBuffer*> *buffers;
| ^~~~~~
.../DongmenDB-mastercpp/include/dongmendb/Transaction.h:12:1: note: ‘std::string’ is defined in header ‘<string>’; did you forget to ‘#include <string>’?
11 | #include <map>
+++ |+#include <string>
12 |

这又是啥

D:\databases\DongmenDB-master\bin\exp_01_04_update_test.exe --gtest_color=no
com.jetbrains.cidr.execution.debugger.backend.gdb.GDBDriver$GDBCommandException: Error creating process D:\databases\DongmenDB-master\bin\exp_01_04_update_test.exe, (error 740).

运行出现这个

error: '::OpenThread' has not been declared
HANDLE thread = ::OpenThread(SYNCHRONIZE | THREAD_QUERY_INFORMATION,

运行不了这是怎么回事

mingw32-make.exe[3]: *** [googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.obj] Error 1
mingw32-make.exe[2]: *** [googletest/CMakeFiles/gtest.dir/all] Error 2
CMakeFiles\Makefile2:789: recipe for target 'src_experiment/exp_05_algebra_opt/CMakeFiles/Exp_05_02_ConditionPushdownTest.dir/rule' failed
mingw32-make.exe[1]: *** [src_experiment/exp_05_algebra_opt/CMakeFiles/Exp_05_02_ConditionPushdownTest.dir/rule] Error 2
mingw32-make.exe: *** [Exp_05_02_ConditionPushdownTest] Error 2
Makefile:299: recipe for target 'Exp_05_02_ConditionPushdownTest' failed

plan_execute_update 的测试的问题

exp_01_stmt_parser/exp_01_04_update_test.cpp 中,要求返回修改的记录条数:

    /*返回修改的记录条数*/
    int count  = 0;
    count = plan_execute_update(db, sqlStmtUpdate, db->tx);

src\shell\shell.c中,要求状态码:

    status = plan_execute_update(ctx->db, sqlStmtUpdate,
                                     ctx->db->tx);

    if (status == DONGMENDB_OK) {
        transaction_commit(ctx->db->tx);
        fprintf(stdout, "update  success!");
        return DONGMENDB_OK;
    } else {
        fprintf(stderr, "update  failed!");
        return DONGMENDB_ERROR_IO;
    }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.