cmu15445专题

CMU15445 (Fall 2023) Project2 - EXTENDIBLE HASH INDEX 思路分享

文章目录 Task 1 - Read/Write Page GuardsPageGuard函数实现移动构造函数移动赋值函数UpgradeRead/UpgradeWriteDrop析构函数BufferPoolManager函数实现FetchPageBasicFetchPageRead/FetchPageWriteNewPageGuarded BUG调试 Task2 - Hash Table P

cmu15445 2023fall project3 详细过程(上)QUERY EXECUTION

首先,虽然会粘代码,但代码不全。 其次,文章基本没有一个字是我自己写的,代码都是粘的同门的,文字都是粘的网上的,可以看看我下面的参考文章。 QUERY EXECUTION task1/task2 一、SQL语句执行流程1 总体2 例子 二、bustub 表结构1 图的解读2 结合代码解读 Task #1 - Access Method Executors1 SeqScan1.1 思路1.

【cmu15445c++入门】(13)C++的std::promise

一、说明  std::promise 是C++11并发编程中常用的一个类,常配合std::future使用。其作用是在一个线程t1中保存一个类型typename T的值,可供相绑定的std::future对象在另一线程t2中获取 二、代码 #include <chrono>#include <future>#include <iostream>#include <numeric>#i

CMU15445实验总结(Spring 2023)

CMU15445实验总结(Spring 2023) 背景 菜鸟博主是2024届毕业生,学历背景太差,导致23年秋招无果,准备奋战春招。此前有读过LevelDB源码的经历,对数据库的了解也仅限于LevelDB。奔着”有对比才能学的深“的理念,以及缓解自身就业焦虑的想法,于是乎在2024.2.16日开始CMU15445(关系性数据库)实验之旅。截止到2.26日:将P2做完了。 因为C++的基础还

【cmu15445c++入门】(7)C++ auto 关键字

一、auto关键字介绍 C++ auto 关键字是一个关键字,它告诉编译器通过其初始化表达式推断声明变量的类型。它可以提高开发人员的效率(开发人员不再需要输入冗长、不守规矩的类型名称)。它在 for-each 循环的上下文中也很有用。但是,使用 auto 会带来风险,因为开发人员可能不知道他们正在使用的类型,因此存在错误和非功能性代码的风险。所以要小心! 二、代码 // Includes s

【cmu15445c++入门】(5)C++ 包装类(管理资源的类)

一、背景 c++包装类 二、运行代码  // A C++ wrapper class is a class that manages a resource. A resource// could be memory, file sockets, or a network connection. Wrapper classes// often use the RAII (Resource

【cmu15445c++入门】(2)c++中的std::move() 左值引用右值引用

左值右值 要理解move语义,必须理解左值和右值的概念。左值的简化定义是左值是对象,指向内存中某个位置。右值是左值之外的任何。 std::move()  move语义,在C++中是一个有用的方法,它允许在对象之间高效和优化地转移数据所有权。move语义的主要目标之一是提高性能,因为移动对象比深度复制对象更快、更高效。 std::move 是将对象从一个左值移动到另一个左值的最常见方法。

【CMU15445】Fall 2019, Project 4: Logging Recovery 实验记录

目录 实验准备实验测试Task 1: LOG MANAGER 实验准备 官方说明:https://15445.courses.cs.cmu.edu/fall2019/project4/ 实验测试 Task 1: cd buildmake log_manager_test./test/log_manager_test Task 1: LOG MANAGER Log

【CMU15445】Fall 2019, Project 3: Query Execution 实验记录

目录 实验准备实验测试Task 1: CREATING A CATALOG TABLE1.1 Create Table1.2 Get Table Task 2: EXECUTORS2.1 什么是 executor2.2 什么是 Tuple2.3 实现 SeqScanExecutor2.4 实现 InsertExecutor2.5 实现 HashJoinExecutor2.6 实现 Aggre