[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-10448":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":16,"starSnapshotCount":16,"syncStatus":32,"lastSyncTime":33,"discoverSource":34},10448,"bustub","cmu-db\u002Fbustub","cmu-db","The BusTub Relational Database Management System (Educational)","https:\u002F\u002F15445.courses.cs.cmu.edu",null,"C++",4997,2029,45,43,0,3,5,33,9,31.92,"MIT License",false,"master",true,[27,28],"database","dbms","2026-06-12 02:02:22","\u003Cimg src=\"logo\u002Fbustub-whiteborder.svg\" alt=\"BusTub Logo\" height=\"200\">\n\n-----------------\n\n[![Build Status](https:\u002F\u002Fgithub.com\u002Fcmu-db\u002Fbustub\u002Factions\u002Fworkflows\u002Fcmake.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fcmu-db\u002Fbustub\u002Factions\u002Fworkflows\u002Fcmake.yml)\n\nBusTub is a relational database management system built at [Carnegie Mellon University](https:\u002F\u002Fdb.cs.cmu.edu) for the [Introduction to Database Systems](https:\u002F\u002F15445.courses.cs.cmu.edu) (15-445\u002F645) course. This system was developed for educational purposes and should not be used in production environments.\n\nBusTub supports basic SQL and comes with an interactive shell. You can get it running after finishing all the course projects.\n\n\u003Cimg src=\"logo\u002Fsql.png\" alt=\"BusTub SQL\" width=\"400\">\n\n**WARNING: IF YOU ARE A STUDENT IN THE CLASS, DO NOT DIRECTLY FORK THIS REPO. DO NOT PUSH PROJECT SOLUTIONS PUBLICLY. THIS IS AN ACADEMIC INTEGRITY VIOLATION AND CAN LEAD TO GETTING YOUR DEGREE REVOKED, EVEN AFTER YOU GRADUATE.**\n\nWe make the autograder for each assignment available to non-CMU students on Gradescope after their due date for CMU students. In exchange for making this available to the public, we ask that you do not make your project implementations public on GitHub or other source code repositories. Please read the course FAQ on how to use the autograder on Gradescope. Run `python3 gradescope_sign.py` to sign an agreement before submitting to the autograder.\n\n**WARNING: IF YOU ARE A STUDENT OUTSIDE CMU, DO NOT MAKE YOUR SOLUTION PUBLICLY AVAILABLE, AND DO SUBMIT YOUR OWN WORK. OTHERWISE, YOU WILL BE BANNED FROM USING THE AUTOGRADER.** Thank you for creating a fair learning environment.\n\n## Cloning this Repository\n\nThe following instructions are adapted from the GitHub documentation on [duplicating a repository](https:\u002F\u002Fdocs.github.com\u002Fen\u002Fgithub\u002Fcreating-cloning-and-archiving-repositories\u002Fcreating-a-repository-on-github\u002Fduplicating-a-repository). The procedure below walks you through creating a private BusTub repository that you can use for development.\n\n1. [Create a new repository](https:\u002F\u002Fgithub.com\u002Fnew) under your account. Pick a name (e.g. `bustub-private`) and select **Private** for the repository visibility level.\n2. On your development machine, create a bare clone of the public BusTub repository:\n   ```console\n   $ git clone --bare https:\u002F\u002Fgithub.com\u002Fcmu-db\u002Fbustub.git bustub-public\n   ```\n3. Next, [mirror](https:\u002F\u002Fgit-scm.com\u002Fdocs\u002Fgit-push#Documentation\u002Fgit-push.txt---mirror) the public BusTub repository to your own private BusTub repository. Suppose your GitHub name is `student` and your repository name is `bustub-private`. The procedure for mirroring the repository is then:\n   ```console\n   $ cd bustub-public\n   \n   # If you pull \u002F push over HTTPS\n   $ git push https:\u002F\u002Fgithub.com\u002Fstudent\u002Fbustub-private.git master\n\n   # If you pull \u002F push over SSH\n   $ git push git@github.com:student\u002Fbustub-private.git master\n   ```\n   This copies everything in the public BusTub repository to your own private repository. You can now delete your local clone of the public repository:\n   ```console\n   $ cd ..\n   $ rm -rf bustub-public\n   ```\n4. Clone your private repository to your development machine:\n   ```console\n   # If you pull \u002F push over HTTPS\n   $ git clone https:\u002F\u002Fgithub.com\u002Fstudent\u002Fbustub-private.git\n\n   # If you pull \u002F push over SSH\n   $ git clone git@github.com:student\u002Fbustub-private.git\n   ```\n5. Add the public BusTub repository as a second remote. This allows you to retrieve changes from the CMU-DB repository and merge them with your solution throughout the semester:\n   ```console\n   $ git remote add public https:\u002F\u002Fgithub.com\u002Fcmu-db\u002Fbustub.git\n   ```\n   You can verify that the remote was added with the following command:\n   ```console\n   $ git remote -v\n   origin\thttps:\u002F\u002Fgithub.com\u002Fstudent\u002Fbustub-private.git (fetch)\n   origin\thttps:\u002F\u002Fgithub.com\u002Fstudent\u002Fbustub-private.git (push)\n   public\thttps:\u002F\u002Fgithub.com\u002Fcmu-db\u002Fbustub.git (fetch)\n   public\thttps:\u002F\u002Fgithub.com\u002Fcmu-db\u002Fbustub.git (push)\n   ```\n6. You can now pull in changes from the public BusTub repository as needed with:\n   ```console\n   $ git pull public master\n   ```\n7. **Disable GitHub Actions** from the project settings of your private repository; otherwise, you may run out of GitHub Actions quota.\n   ```\n   Settings > Actions > General > Actions permissions > Disable actions.\n   ```\n\nWe suggest working on your projects in separate branches. If you do not understand how Git branches work, [learn how](https:\u002F\u002Fgit-scm.com\u002Fbook\u002Fen\u002Fv2\u002FGit-Branching-Basic-Branching-and-Merging). If you fail to do this, you might lose all your work at some point in the semester, and nobody will be able to help you.\n\n## Build\n\nWe recommend developing BusTub on Ubuntu 24.04, or macOS (M1\u002FM2\u002FIntel). We do not support any other environments (i.e., do not open issues or come to office hours to debug them). We do not support WSL. The grading environment runs\nUbuntu 24.04.\n\n### Linux (Recommended) \u002F macOS (Development Only)\n\nTo ensure that you have the proper packages on your machine, run the following script to automatically install them:\n\n```console\n# Linux\n$ sudo build_support\u002Fpackages.sh\n# macOS\n$ build_support\u002Fpackages.sh\n```\n\nThen run the following commands to build the system:\n\n```console\n$ mkdir build\n$ cd build\n$ cmake ..\n$ make\n```\n\nIf you want to compile the system in debug mode, pass in the following flag to cmake:\nDebug mode:\n\n```console\n$ cmake -DCMAKE_BUILD_TYPE=Debug ..\n$ make -j`nproc`\n```\nThis enables [AddressSanitizer](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fsanitizers) by default.\n\nIf you want to use other sanitizers,\n\n```console\n$ cmake -DCMAKE_BUILD_TYPE=Debug -DBUSTUB_SANITIZER=thread ..\n$ make -j`nproc`\n```\n\nThere are some differences between macOS and Linux (i.e., mutex behavior) that might cause test cases\nto produce different results in different platforms. We recommend students to use a Linux VM for running\ntest cases and reproducing errors whenever possible.\n","BusTub是一个由卡内基梅隆大学为数据库系统入门课程设计的关系型数据库管理系统，主要用于教育目的。它支持基础的SQL语法，并提供了一个交互式的shell环境，使学生能够通过完成一系列课程项目来深入了解数据库的工作原理和技术细节。采用C++语言编写，具有良好的性能和可扩展性。该项目适合于学习数据库系统内部机制、SQL执行流程以及索引、事务等核心概念的教学场景，但不适用于生产环境部署。",2,"2026-06-11 03:28:38","top_topic"]