{"id":15780676,"url":"https://github.com/ghulamghousdev/clock-replacement-algorithm","last_synced_at":"2025-03-31T16:35:48.886Z","repository":{"id":124979500,"uuid":"215618906","full_name":"ghulamghousdev/Clock-Replacement-Algorithm","owner":"ghulamghousdev","description":"Implementation of Buffer Pool Manager and Clock Replacer","archived":false,"fork":false,"pushed_at":"2020-08-08T09:17:43.000Z","size":352,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-11T19:17:14.339Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ghulamghousdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-16T18:38:51.000Z","updated_at":"2021-07-27T11:47:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"cab6c333-9c46-4444-ad35-787cb4cada3d","html_url":"https://github.com/ghulamghousdev/Clock-Replacement-Algorithm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ghulamghousdev%2FClock-Replacement-Algorithm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ghulamghousdev%2FClock-Replacement-Algorithm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ghulamghousdev%2FClock-Replacement-Algorithm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ghulamghousdev%2FClock-Replacement-Algorithm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ghulamghousdev","download_url":"https://codeload.github.com/ghulamghousdev/Clock-Replacement-Algorithm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246498685,"owners_count":20787361,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-04T19:00:31.048Z","updated_at":"2025-03-31T16:35:48.847Z","avatar_url":"https://github.com/ghulamghousdev.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"logo/bustub.svg\" alt=\"BusTub Logo\" height=\"200\"\u003e\n\n-----------------\n\n[![Build Status](https://travis-ci.org/cmu-db/bustub.svg?branch=master)](https://travis-ci.org/cmu-db/bustub)\n[![CircleCI](https://circleci.com/gh/cmu-db/bustub/tree/master.svg?style=svg)](https://circleci.com/gh/cmu-db/bustub/tree/master)\n\nBusTub is a relational database management system built at [Carnegie Mellon University](https://db.cs.cmu.edu) for the [Introduction to Database Systems](https://15445.courses.cs.cmu.edu) (15-445/645) course. This system was developed for educational purposes and should not be used in production environments.\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\n## Cloning this repo\n\nTo create a private BusTub,\n\n1. Go to `github.com/new` to create a new github repo. Pick a name, e.g. `private-bustub`, and **make sure it is private**.\n2. On your development machine, clone the public BusTub, i.e. `git clone --depth 1 git@github.com:cmu-db/bustub.git`.\n3. We will [mirror](https://git-scm.com/docs/git-push#Documentation/git-push.txt---mirror) the public BusTub repo into your own private BusTub repo. Suppose your GitHub name is `student` and your repo name is `private-bustub`. Then `cd bustub` followed by `git push --mirror git@github.com:student/private-bustub.git`. This copies everything in the public BusTub repo into your own private repo. You can now `cd ..` and `rm -rf bustub`.\n4. Clone your own private repo, `git clone git@github.com:student/private-bustub.git`.\n5. Add the public BusTub as a remote. `git remote add public git@github.com:cmu-db/bustub.git`\n6. You can pull in changes from the public BusTub with `git pull public master`.\n\nWe suggest working on your projects in separate branches. If you don't understand how Git branches work, [learn how](https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging). If you don't 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\n### Linux / Mac\nTo ensure that you have the proper packages installed on your machine, run `sudo build_support/packages.sh`. Then run\n\n```\nmkdir build\ncd build\ncmake ..\nmake\n```\nDebug mode:\n\n```\ncmake -DCMAKE_BUILD_TYPE=Debug ..\nmake\n```\nDebug build enables [AddressSanitizer](https://github.com/google/sanitizers), which can generate false positives for overflow on STL containers. If you encounter this, define the environment variable `ASAN_OPTIONS=detect_container_overflow=0`.\n\n### Windows\nIf you are using a rather new version of Windows 10, you can use the Windows Subsystem for Linux (WSL) to develop, build, and test Bustub. All you need is to [Install WSL](https://docs.microsoft.com/en-us/windows/wsl/install-win10). You can just choose \"Ubuntu\" (no specific version) in Microsoft Store. Then, enter WSL and follow the above instructions.\n\nIf you are using CLion, it also [works with WSL](https://blog.jetbrains.com/clion/2018/01/clion-and-linux-toolchain-on-windows-are-now-friends).\n\n\n## Testing\n```\ncd build\nmake check-tests\n```\n\n\n## TODO\n* update: when size exceed that page, table heap returns false and delete/insert tuple (rid will change and need to delete/insert from index)\n* delete empty page from table heap when delete tuple\n* implement delete table, with empty page bitmap in disk manager (how to persistent?)\n* index: unique/dup key, variable key\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fghulamghousdev%2Fclock-replacement-algorithm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fghulamghousdev%2Fclock-replacement-algorithm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fghulamghousdev%2Fclock-replacement-algorithm/lists"}