Git Product home page Git Product logo

rust-practice's Introduction

Rust-Practice

some tiny learning projects in Rust, awesome!

  • mini-bitcask-rs
  • expr-eval
  • mvcc(multi version concurrency control)

重磅更新,Rust 手写数据库!

我使用 Rust 写了一个数据库系统教程,从零实现一个完整的 SQL 数据库系统,将会由浅到深、由易到难,循序渐进的带着大家去实现,从第一行代码开始,均有完整的代码实现演示。

通过此项目,你可以:

  • 入门并巩固 Rust 基础,课程内容几乎涵盖了 Rust 大多数常用基础,例如数据类型,match 表达式匹配,函数,闭包,结构体,泛型,Trait,所有权,借用,生命周期,错误处理,智能指针等等
  • 增加 Rust 项目经验的同学,如果学习了一些 Rust 的基础知识,但是苦于没有项目经验,想要进一步巩固自己的知识,自己写一个数据库是一个很合适的实战项目。

教程地址:https://w02agegxg3.feishu.cn/docx/OxwGdeM30oss7vxEG5AcUn4unEc

rust-practice's People

Contributors

roseduan 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

rust-practice's Issues

mvcc 有没有这个问题

比如开启事务 t1, t2,(t1 先开启,t2 后开启)

t2 set a b

t1 set a b 等待锁

t2 commit

t1 set a b 这时应该成功执行 (看代码逻辑,好像不能成功,原因是 write 方法中,没有判断 version 是否已经提交过)

an error occurred while running case test_merge

win10 系统 rust版本是1.77.2 运行test_merge这个用例报错 Error: Os { code: 5, kind: PermissionDenied, message: "拒绝访问。" }
主要这个函数std::fs::rename(new_log.path, self.log.path.clone())导致没权限,但是我单独测试这个函数却没问题,不知道啥原因

an error occurred while running case test_merge

win10 系统 rust版本是1.77.2 运行test_merge这个用例报错 Error: Os { code: 5, kind: PermissionDenied, message: "拒绝访问。" }
主要这个函数std::fs::rename(new_log.path, self.log.path.clone())导致没权限,但是我单独测试这个函数却没问题,不知道啥原因

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.