From 8d6faaac221d011e7d503680cc9b0e6f65592361 Mon Sep 17 00:00:00 2001 From: IsaacBurns7 Date: Wed, 22 Apr 2026 21:43:43 +0000 Subject: [PATCH 01/17] vibecoded some viz. lowkey not the greatest but its not bad! --- CMakeFiles/CMakeDirectoryInformation.cmake | 16 - CMakeFiles/Makefile.cmake | 171 ---- CMakeLists.txt | 4 +- build/CMakeFiles/Makefile.cmake | 2 +- build/CMakeFiles/Makefile2 | 44 +- build/CMakeFiles/Storage.dir/DependInfo.cmake | 2 +- build/CMakeFiles/Storage.dir/build.make | 26 +- .../CMakeFiles/Storage.dir/cmake_clean.cmake | 4 +- .../Storage.dir/compiler_depend.make | 615 +------------ build/CMakeFiles/Storage.dir/link.txt | 2 +- .../CMakeFiles/Storage.dir/storage/main.cpp.o | Bin 0 -> 82584 bytes .../Storage.dir/storage/main.cpp.o.d | 227 +++++ build/CMakeFiles/TargetDirectories.txt | 2 +- .../storage_logic.dir/progress.make | 10 +- .../storage_tests.dir/progress.make | 10 +- .../storage_viz.dir/DependInfo.cmake | 23 + build/CMakeFiles/storage_viz.dir/build.make | 111 +++ .../storage_viz.dir/cmake_clean.cmake | 11 + .../compiler_depend.internal | 87 +- .../storage_viz.dir/compiler_depend.make | 856 ++++++++++++++++++ .../storage_viz.dir/compiler_depend.ts | 2 + build/CMakeFiles/storage_viz.dir/depend.make | 2 + build/CMakeFiles/storage_viz.dir/flags.make | 10 + build/CMakeFiles/storage_viz.dir/link.txt | 1 + .../CMakeFiles/storage_viz.dir/progress.make | 3 + .../storage_viz.dir/tests/storage_viz.cpp.o | Bin 0 -> 168016 bytes .../storage_viz.dir/tests/storage_viz.cpp.o.d | 240 +++++ build/Makefile | 70 +- build/Storage | Bin 70656 -> 92752 bytes build/Testing/Temporary/CTestCostData.txt | 31 +- build/Testing/Temporary/LastTest.log | 301 ++++-- .../CMakeFiles/gmock.dir/progress.make | 4 +- .../CMakeFiles/gmock_main.dir/progress.make | 4 +- .../CMakeFiles/gtest.dir/progress.make | 4 +- .../CMakeFiles/gtest_main.dir/progress.make | 4 +- build/storage_viz | Bin 0 -> 192896 bytes demo.db | Bin 0 -> 16384 bytes demo_records.db | Bin 0 -> 12288 bytes index/plan.md | 20 + plan.md | 2 +- storage/disk_manager.cpp | 1 - storage/prompt.txt | 4 + tests/storage_viz.cpp | 258 ++++++ 43 files changed, 2206 insertions(+), 978 deletions(-) delete mode 100644 CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 CMakeFiles/Makefile.cmake create mode 100644 build/CMakeFiles/Storage.dir/storage/main.cpp.o create mode 100644 build/CMakeFiles/Storage.dir/storage/main.cpp.o.d create mode 100644 build/CMakeFiles/storage_viz.dir/DependInfo.cmake create mode 100644 build/CMakeFiles/storage_viz.dir/build.make create mode 100644 build/CMakeFiles/storage_viz.dir/cmake_clean.cmake rename build/CMakeFiles/{Storage.dir => storage_viz.dir}/compiler_depend.internal (71%) create mode 100644 build/CMakeFiles/storage_viz.dir/compiler_depend.make create mode 100644 build/CMakeFiles/storage_viz.dir/compiler_depend.ts create mode 100644 build/CMakeFiles/storage_viz.dir/depend.make create mode 100644 build/CMakeFiles/storage_viz.dir/flags.make create mode 100644 build/CMakeFiles/storage_viz.dir/link.txt create mode 100644 build/CMakeFiles/storage_viz.dir/progress.make create mode 100644 build/CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o create mode 100644 build/CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o.d create mode 100755 build/storage_viz create mode 100644 demo.db create mode 100644 demo_records.db create mode 100644 index/plan.md create mode 100644 storage/prompt.txt create mode 100644 tests/storage_viz.cpp diff --git a/CMakeFiles/CMakeDirectoryInformation.cmake b/CMakeFiles/CMakeDirectoryInformation.cmake deleted file mode 100644 index 5d5c454..0000000 --- a/CMakeFiles/CMakeDirectoryInformation.cmake +++ /dev/null @@ -1,16 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# Relative path conversion top directories. -set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/isaac/database-internals") -set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/isaac/database-internals") - -# Force unix paths in dependencies. -set(CMAKE_FORCE_UNIX_PATHS 1) - - -# The C and CXX include file regular expressions for this directory. -set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/CMakeFiles/Makefile.cmake b/CMakeFiles/Makefile.cmake deleted file mode 100644 index 5c288d4..0000000 --- a/CMakeFiles/Makefile.cmake +++ /dev/null @@ -1,171 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -# The generator used is: -set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") - -# The top level Makefile was generated from the following files: -set(CMAKE_MAKEFILE_DEPENDS - "CMakeCache.txt" - "CMakeFiles/3.28.3/CMakeCCompiler.cmake" - "CMakeFiles/3.28.3/CMakeCXXCompiler.cmake" - "CMakeFiles/3.28.3/CMakeSystem.cmake" - "CMakeLists.txt" - "_deps/googletest-src/CMakeLists.txt" - "_deps/googletest-src/googlemock/CMakeLists.txt" - "_deps/googletest-src/googlemock/cmake/gmock.pc.in" - "_deps/googletest-src/googlemock/cmake/gmock_main.pc.in" - "_deps/googletest-src/googletest/CMakeLists.txt" - "_deps/googletest-src/googletest/cmake/Config.cmake.in" - "_deps/googletest-src/googletest/cmake/gtest.pc.in" - "_deps/googletest-src/googletest/cmake/gtest_main.pc.in" - "_deps/googletest-src/googletest/cmake/internal_utils.cmake" - "/usr/share/cmake-3.28/Modules/BasicConfigVersion-AnyNewerVersion.cmake.in" - "/usr/share/cmake-3.28/Modules/CMakeCCompiler.cmake.in" - "/usr/share/cmake-3.28/Modules/CMakeCCompilerABI.c" - "/usr/share/cmake-3.28/Modules/CMakeCInformation.cmake" - "/usr/share/cmake-3.28/Modules/CMakeCXXCompiler.cmake.in" - "/usr/share/cmake-3.28/Modules/CMakeCXXCompilerABI.cpp" - "/usr/share/cmake-3.28/Modules/CMakeCXXInformation.cmake" - "/usr/share/cmake-3.28/Modules/CMakeCommonLanguageInclude.cmake" - "/usr/share/cmake-3.28/Modules/CMakeCompilerIdDetection.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDependentOption.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCCompiler.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCXXCompiler.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompileFeatures.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerABI.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineCompilerId.cmake" - "/usr/share/cmake-3.28/Modules/CMakeDetermineSystem.cmake" - "/usr/share/cmake-3.28/Modules/CMakeFindBinUtils.cmake" - "/usr/share/cmake-3.28/Modules/CMakeGenericSystem.cmake" - "/usr/share/cmake-3.28/Modules/CMakeInitializeConfigs.cmake" - "/usr/share/cmake-3.28/Modules/CMakeLanguageInformation.cmake" - "/usr/share/cmake-3.28/Modules/CMakePackageConfigHelpers.cmake" - "/usr/share/cmake-3.28/Modules/CMakeParseImplicitIncludeInfo.cmake" - "/usr/share/cmake-3.28/Modules/CMakeParseImplicitLinkInfo.cmake" - "/usr/share/cmake-3.28/Modules/CMakeParseLibraryArchitecture.cmake" - "/usr/share/cmake-3.28/Modules/CMakeSystem.cmake.in" - "/usr/share/cmake-3.28/Modules/CMakeSystemSpecificInformation.cmake" - "/usr/share/cmake-3.28/Modules/CMakeSystemSpecificInitialize.cmake" - "/usr/share/cmake-3.28/Modules/CMakeTestCCompiler.cmake" - "/usr/share/cmake-3.28/Modules/CMakeTestCXXCompiler.cmake" - "/usr/share/cmake-3.28/Modules/CMakeTestCompilerCommon.cmake" - "/usr/share/cmake-3.28/Modules/CMakeUnixFindMake.cmake" - "/usr/share/cmake-3.28/Modules/CheckCSourceCompiles.cmake" - "/usr/share/cmake-3.28/Modules/CheckIncludeFile.cmake" - "/usr/share/cmake-3.28/Modules/CheckLibraryExists.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/ADSP-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/ARMCC-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/ARMClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/AppleClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Borland-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/CMakeCommonCompilerMacros.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Clang-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Cray-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/CrayClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/GHS-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/GNU-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/GNU-C.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/GNU-CXX.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/GNU-FindBinUtils.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/GNU.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/HP-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/IAR-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Intel-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/LCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/MSVC-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/NVHPC-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/OrangeC-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/PGI-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/PathScale-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/SCO-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/TI-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Tasking-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/Watcom-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/XL-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/zOS-C-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" - "/usr/share/cmake-3.28/Modules/ExternalProject/shared_internal_commands.cmake" - "/usr/share/cmake-3.28/Modules/FetchContent.cmake" - "/usr/share/cmake-3.28/Modules/FetchContent/CMakeLists.cmake.in" - "/usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake" - "/usr/share/cmake-3.28/Modules/FindPackageMessage.cmake" - "/usr/share/cmake-3.28/Modules/FindThreads.cmake" - "/usr/share/cmake-3.28/Modules/GNUInstallDirs.cmake" - "/usr/share/cmake-3.28/Modules/GoogleTest.cmake" - "/usr/share/cmake-3.28/Modules/Internal/CheckSourceCompiles.cmake" - "/usr/share/cmake-3.28/Modules/Internal/FeatureTesting.cmake" - "/usr/share/cmake-3.28/Modules/Platform/Linux-Determine-CXX.cmake" - "/usr/share/cmake-3.28/Modules/Platform/Linux-GNU-C.cmake" - "/usr/share/cmake-3.28/Modules/Platform/Linux-GNU-CXX.cmake" - "/usr/share/cmake-3.28/Modules/Platform/Linux-GNU.cmake" - "/usr/share/cmake-3.28/Modules/Platform/Linux-Initialize.cmake" - "/usr/share/cmake-3.28/Modules/Platform/Linux.cmake" - "/usr/share/cmake-3.28/Modules/Platform/UnixPaths.cmake" - "/usr/share/cmake-3.28/Modules/WriteBasicConfigVersionFile.cmake" - ) - -# The corresponding makefile is: -set(CMAKE_MAKEFILE_OUTPUTS - "Makefile" - "CMakeFiles/cmake.check_cache" - ) - -# Byproducts of CMake generate step: -set(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/3.28.3/CMakeSystem.cmake" - "CMakeFiles/3.28.3/CMakeCXXCompiler.cmake" - "CMakeFiles/3.28.3/CMakeCXXCompiler.cmake" - "_deps/googletest-subbuild/CMakeLists.txt" - "CMakeFiles/CMakeDirectoryInformation.cmake" - "CMakeFiles/3.28.3/CMakeCCompiler.cmake" - "CMakeFiles/3.28.3/CMakeCCompiler.cmake" - "_deps/googletest-build/CMakeFiles/CMakeDirectoryInformation.cmake" - "_deps/googletest-build/googletest/generated/gmock.pc" - "_deps/googletest-build/googletest/generated/gmock_main.pc" - "_deps/googletest-build/googlemock/CMakeFiles/CMakeDirectoryInformation.cmake" - "_deps/googletest-build/googletest/generated/GTestConfigVersion.cmake" - "_deps/googletest-build/googletest/generated/GTestConfig.cmake" - "_deps/googletest-build/googletest/generated/gtest.pc" - "_deps/googletest-build/googletest/generated/gtest_main.pc" - "_deps/googletest-build/googletest/CMakeFiles/CMakeDirectoryInformation.cmake" - ) - -# Dependency information for all targets: -set(CMAKE_DEPEND_INFO_FILES - "CMakeFiles/storage_logic.dir/DependInfo.cmake" - "CMakeFiles/Storage.dir/DependInfo.cmake" - "CMakeFiles/storage_tests.dir/DependInfo.cmake" - "_deps/googletest-build/googlemock/CMakeFiles/gmock.dir/DependInfo.cmake" - "_deps/googletest-build/googlemock/CMakeFiles/gmock_main.dir/DependInfo.cmake" - "_deps/googletest-build/googletest/CMakeFiles/gtest.dir/DependInfo.cmake" - "_deps/googletest-build/googletest/CMakeFiles/gtest_main.dir/DependInfo.cmake" - ) diff --git a/CMakeLists.txt b/CMakeLists.txt index 27fb746..a605fcd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,8 +33,8 @@ add_library(storage_logic target_include_directories(storage_logic PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) # --- 3. Main Executable --- -add_executable(Storage main.cpp) -target_link_libraries(Storage PRIVATE storage_logic) +add_executable(storage_viz tests/storage_viz.cpp) +target_link_libraries(storage_viz PRIVATE storage_logic) # --- 4. Testing Setup --- enable_testing() diff --git a/build/CMakeFiles/Makefile.cmake b/build/CMakeFiles/Makefile.cmake index adbebb7..d951371 100644 --- a/build/CMakeFiles/Makefile.cmake +++ b/build/CMakeFiles/Makefile.cmake @@ -80,7 +80,7 @@ set(CMAKE_MAKEFILE_PRODUCTS # Dependency information for all targets: set(CMAKE_DEPEND_INFO_FILES "CMakeFiles/storage_logic.dir/DependInfo.cmake" - "CMakeFiles/Storage.dir/DependInfo.cmake" + "CMakeFiles/storage_viz.dir/DependInfo.cmake" "CMakeFiles/storage_tests.dir/DependInfo.cmake" "_deps/googletest-build/googlemock/CMakeFiles/gmock.dir/DependInfo.cmake" "_deps/googletest-build/googlemock/CMakeFiles/gmock_main.dir/DependInfo.cmake" diff --git a/build/CMakeFiles/Makefile2 b/build/CMakeFiles/Makefile2 index a5483ae..7f123f9 100644 --- a/build/CMakeFiles/Makefile2 +++ b/build/CMakeFiles/Makefile2 @@ -64,7 +64,7 @@ CMAKE_BINARY_DIR = /home/isaac/database-internals/build # The main recursive "all" target. all: CMakeFiles/storage_logic.dir/all -all: CMakeFiles/Storage.dir/all +all: CMakeFiles/storage_viz.dir/all all: CMakeFiles/storage_tests.dir/all all: _deps/googletest-build/all .PHONY : all @@ -75,7 +75,7 @@ preinstall: _deps/googletest-build/preinstall # The main recursive "clean" target. clean: CMakeFiles/storage_logic.dir/clean -clean: CMakeFiles/Storage.dir/clean +clean: CMakeFiles/storage_viz.dir/clean clean: CMakeFiles/storage_tests.dir/clean clean: _deps/googletest-build/clean .PHONY : clean @@ -138,7 +138,7 @@ _deps/googletest-build/googletest/clean: _deps/googletest-build/googletest/CMake CMakeFiles/storage_logic.dir/all: $(MAKE) $(MAKESILENT) -f CMakeFiles/storage_logic.dir/build.make CMakeFiles/storage_logic.dir/depend $(MAKE) $(MAKESILENT) -f CMakeFiles/storage_logic.dir/build.make CMakeFiles/storage_logic.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/isaac/database-internals/build/CMakeFiles --progress-num=11,12,13,14,15 "Built target storage_logic" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/isaac/database-internals/build/CMakeFiles --progress-num=9,10,11,12,13 "Built target storage_logic" .PHONY : CMakeFiles/storage_logic.dir/all # Build rule for subdir invocation for target. @@ -158,30 +158,30 @@ CMakeFiles/storage_logic.dir/clean: .PHONY : CMakeFiles/storage_logic.dir/clean #============================================================================= -# Target rules for target CMakeFiles/Storage.dir +# Target rules for target CMakeFiles/storage_viz.dir # All Build rule for target. -CMakeFiles/Storage.dir/all: CMakeFiles/storage_logic.dir/all - $(MAKE) $(MAKESILENT) -f CMakeFiles/Storage.dir/build.make CMakeFiles/Storage.dir/depend - $(MAKE) $(MAKESILENT) -f CMakeFiles/Storage.dir/build.make CMakeFiles/Storage.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/isaac/database-internals/build/CMakeFiles --progress-num=1,2 "Built target Storage" -.PHONY : CMakeFiles/Storage.dir/all +CMakeFiles/storage_viz.dir/all: CMakeFiles/storage_logic.dir/all + $(MAKE) $(MAKESILENT) -f CMakeFiles/storage_viz.dir/build.make CMakeFiles/storage_viz.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/storage_viz.dir/build.make CMakeFiles/storage_viz.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/isaac/database-internals/build/CMakeFiles --progress-num=19,20 "Built target storage_viz" +.PHONY : CMakeFiles/storage_viz.dir/all # Build rule for subdir invocation for target. -CMakeFiles/Storage.dir/rule: cmake_check_build_system +CMakeFiles/storage_viz.dir/rule: cmake_check_build_system $(CMAKE_COMMAND) -E cmake_progress_start /home/isaac/database-internals/build/CMakeFiles 7 - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/Storage.dir/all + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/storage_viz.dir/all $(CMAKE_COMMAND) -E cmake_progress_start /home/isaac/database-internals/build/CMakeFiles 0 -.PHONY : CMakeFiles/Storage.dir/rule +.PHONY : CMakeFiles/storage_viz.dir/rule # Convenience name for target. -Storage: CMakeFiles/Storage.dir/rule -.PHONY : Storage +storage_viz: CMakeFiles/storage_viz.dir/rule +.PHONY : storage_viz # clean rule for target. -CMakeFiles/Storage.dir/clean: - $(MAKE) $(MAKESILENT) -f CMakeFiles/Storage.dir/build.make CMakeFiles/Storage.dir/clean -.PHONY : CMakeFiles/Storage.dir/clean +CMakeFiles/storage_viz.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/storage_viz.dir/build.make CMakeFiles/storage_viz.dir/clean +.PHONY : CMakeFiles/storage_viz.dir/clean #============================================================================= # Target rules for target CMakeFiles/storage_tests.dir @@ -192,7 +192,7 @@ CMakeFiles/storage_tests.dir/all: _deps/googletest-build/googletest/CMakeFiles/g CMakeFiles/storage_tests.dir/all: _deps/googletest-build/googletest/CMakeFiles/gtest_main.dir/all $(MAKE) $(MAKESILENT) -f CMakeFiles/storage_tests.dir/build.make CMakeFiles/storage_tests.dir/depend $(MAKE) $(MAKESILENT) -f CMakeFiles/storage_tests.dir/build.make CMakeFiles/storage_tests.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/isaac/database-internals/build/CMakeFiles --progress-num=16,17,18,19,20 "Built target storage_tests" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/isaac/database-internals/build/CMakeFiles --progress-num=14,15,16,17,18 "Built target storage_tests" .PHONY : CMakeFiles/storage_tests.dir/all # Build rule for subdir invocation for target. @@ -218,7 +218,7 @@ CMakeFiles/storage_tests.dir/clean: _deps/googletest-build/googlemock/CMakeFiles/gmock.dir/all: _deps/googletest-build/googletest/CMakeFiles/gtest.dir/all $(MAKE) $(MAKESILENT) -f _deps/googletest-build/googlemock/CMakeFiles/gmock.dir/build.make _deps/googletest-build/googlemock/CMakeFiles/gmock.dir/depend $(MAKE) $(MAKESILENT) -f _deps/googletest-build/googlemock/CMakeFiles/gmock.dir/build.make _deps/googletest-build/googlemock/CMakeFiles/gmock.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/isaac/database-internals/build/CMakeFiles --progress-num=3,4 "Built target gmock" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/isaac/database-internals/build/CMakeFiles --progress-num=1,2 "Built target gmock" .PHONY : _deps/googletest-build/googlemock/CMakeFiles/gmock.dir/all # Build rule for subdir invocation for target. @@ -245,7 +245,7 @@ _deps/googletest-build/googlemock/CMakeFiles/gmock_main.dir/all: _deps/googletes _deps/googletest-build/googlemock/CMakeFiles/gmock_main.dir/all: _deps/googletest-build/googletest/CMakeFiles/gtest.dir/all $(MAKE) $(MAKESILENT) -f _deps/googletest-build/googlemock/CMakeFiles/gmock_main.dir/build.make _deps/googletest-build/googlemock/CMakeFiles/gmock_main.dir/depend $(MAKE) $(MAKESILENT) -f _deps/googletest-build/googlemock/CMakeFiles/gmock_main.dir/build.make _deps/googletest-build/googlemock/CMakeFiles/gmock_main.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/isaac/database-internals/build/CMakeFiles --progress-num=5,6 "Built target gmock_main" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/isaac/database-internals/build/CMakeFiles --progress-num=3,4 "Built target gmock_main" .PHONY : _deps/googletest-build/googlemock/CMakeFiles/gmock_main.dir/all # Build rule for subdir invocation for target. @@ -271,7 +271,7 @@ _deps/googletest-build/googlemock/CMakeFiles/gmock_main.dir/clean: _deps/googletest-build/googletest/CMakeFiles/gtest.dir/all: $(MAKE) $(MAKESILENT) -f _deps/googletest-build/googletest/CMakeFiles/gtest.dir/build.make _deps/googletest-build/googletest/CMakeFiles/gtest.dir/depend $(MAKE) $(MAKESILENT) -f _deps/googletest-build/googletest/CMakeFiles/gtest.dir/build.make _deps/googletest-build/googletest/CMakeFiles/gtest.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/isaac/database-internals/build/CMakeFiles --progress-num=7,8 "Built target gtest" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/isaac/database-internals/build/CMakeFiles --progress-num=5,6 "Built target gtest" .PHONY : _deps/googletest-build/googletest/CMakeFiles/gtest.dir/all # Build rule for subdir invocation for target. @@ -297,7 +297,7 @@ _deps/googletest-build/googletest/CMakeFiles/gtest.dir/clean: _deps/googletest-build/googletest/CMakeFiles/gtest_main.dir/all: _deps/googletest-build/googletest/CMakeFiles/gtest.dir/all $(MAKE) $(MAKESILENT) -f _deps/googletest-build/googletest/CMakeFiles/gtest_main.dir/build.make _deps/googletest-build/googletest/CMakeFiles/gtest_main.dir/depend $(MAKE) $(MAKESILENT) -f _deps/googletest-build/googletest/CMakeFiles/gtest_main.dir/build.make _deps/googletest-build/googletest/CMakeFiles/gtest_main.dir/build - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/isaac/database-internals/build/CMakeFiles --progress-num=9,10 "Built target gtest_main" + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/isaac/database-internals/build/CMakeFiles --progress-num=7,8 "Built target gtest_main" .PHONY : _deps/googletest-build/googletest/CMakeFiles/gtest_main.dir/all # Build rule for subdir invocation for target. diff --git a/build/CMakeFiles/Storage.dir/DependInfo.cmake b/build/CMakeFiles/Storage.dir/DependInfo.cmake index 55c51d2..db14e86 100644 --- a/build/CMakeFiles/Storage.dir/DependInfo.cmake +++ b/build/CMakeFiles/Storage.dir/DependInfo.cmake @@ -8,7 +8,7 @@ set(CMAKE_DEPENDS_LANGUAGES # The set of dependency files which are needed: set(CMAKE_DEPENDS_DEPENDENCY_FILES - "/home/isaac/database-internals/main.cpp" "CMakeFiles/Storage.dir/main.cpp.o" "gcc" "CMakeFiles/Storage.dir/main.cpp.o.d" + "/home/isaac/database-internals/storage/main.cpp" "CMakeFiles/Storage.dir/storage/main.cpp.o" "gcc" "CMakeFiles/Storage.dir/storage/main.cpp.o.d" ) # Targets to which this target links which contain Fortran sources. diff --git a/build/CMakeFiles/Storage.dir/build.make b/build/CMakeFiles/Storage.dir/build.make index 30909af..697280f 100644 --- a/build/CMakeFiles/Storage.dir/build.make +++ b/build/CMakeFiles/Storage.dir/build.make @@ -69,28 +69,28 @@ include CMakeFiles/Storage.dir/progress.make # Include the compile flags for this target's objects. include CMakeFiles/Storage.dir/flags.make -CMakeFiles/Storage.dir/main.cpp.o: CMakeFiles/Storage.dir/flags.make -CMakeFiles/Storage.dir/main.cpp.o: /home/isaac/database-internals/main.cpp -CMakeFiles/Storage.dir/main.cpp.o: CMakeFiles/Storage.dir/compiler_depend.ts - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/isaac/database-internals/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/Storage.dir/main.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/Storage.dir/main.cpp.o -MF CMakeFiles/Storage.dir/main.cpp.o.d -o CMakeFiles/Storage.dir/main.cpp.o -c /home/isaac/database-internals/main.cpp +CMakeFiles/Storage.dir/storage/main.cpp.o: CMakeFiles/Storage.dir/flags.make +CMakeFiles/Storage.dir/storage/main.cpp.o: /home/isaac/database-internals/storage/main.cpp +CMakeFiles/Storage.dir/storage/main.cpp.o: CMakeFiles/Storage.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/isaac/database-internals/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/Storage.dir/storage/main.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/Storage.dir/storage/main.cpp.o -MF CMakeFiles/Storage.dir/storage/main.cpp.o.d -o CMakeFiles/Storage.dir/storage/main.cpp.o -c /home/isaac/database-internals/storage/main.cpp -CMakeFiles/Storage.dir/main.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/Storage.dir/main.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/isaac/database-internals/main.cpp > CMakeFiles/Storage.dir/main.cpp.i +CMakeFiles/Storage.dir/storage/main.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing CXX source to CMakeFiles/Storage.dir/storage/main.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/isaac/database-internals/storage/main.cpp > CMakeFiles/Storage.dir/storage/main.cpp.i -CMakeFiles/Storage.dir/main.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/Storage.dir/main.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/isaac/database-internals/main.cpp -o CMakeFiles/Storage.dir/main.cpp.s +CMakeFiles/Storage.dir/storage/main.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/Storage.dir/storage/main.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/isaac/database-internals/storage/main.cpp -o CMakeFiles/Storage.dir/storage/main.cpp.s # Object files for target Storage Storage_OBJECTS = \ -"CMakeFiles/Storage.dir/main.cpp.o" +"CMakeFiles/Storage.dir/storage/main.cpp.o" # External object files for target Storage Storage_EXTERNAL_OBJECTS = -Storage: CMakeFiles/Storage.dir/main.cpp.o +Storage: CMakeFiles/Storage.dir/storage/main.cpp.o Storage: CMakeFiles/Storage.dir/build.make Storage: libstorage_logic.a Storage: CMakeFiles/Storage.dir/link.txt diff --git a/build/CMakeFiles/Storage.dir/cmake_clean.cmake b/build/CMakeFiles/Storage.dir/cmake_clean.cmake index 397b6a2..7b4c5c2 100644 --- a/build/CMakeFiles/Storage.dir/cmake_clean.cmake +++ b/build/CMakeFiles/Storage.dir/cmake_clean.cmake @@ -1,6 +1,6 @@ file(REMOVE_RECURSE - "CMakeFiles/Storage.dir/main.cpp.o" - "CMakeFiles/Storage.dir/main.cpp.o.d" + "CMakeFiles/Storage.dir/storage/main.cpp.o" + "CMakeFiles/Storage.dir/storage/main.cpp.o.d" "Storage" "Storage.pdb" ) diff --git a/build/CMakeFiles/Storage.dir/compiler_depend.make b/build/CMakeFiles/Storage.dir/compiler_depend.make index be8ff4f..3f191d5 100644 --- a/build/CMakeFiles/Storage.dir/compiler_depend.make +++ b/build/CMakeFiles/Storage.dir/compiler_depend.make @@ -1,613 +1,2 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 3.28 - -CMakeFiles/Storage.dir/main.cpp.o: /home/isaac/database-internals/main.cpp \ - /home/isaac/database-internals/common/config.h \ - /home/isaac/database-internals/common/types.h \ - /home/isaac/database-internals/storage/page.h \ - /usr/include/aarch64-linux-gnu/asm/errno.h \ - /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ - /usr/include/aarch64-linux-gnu/bits/byteswap.h \ - /usr/include/aarch64-linux-gnu/bits/cpu-set.h \ - /usr/include/aarch64-linux-gnu/bits/endian.h \ - /usr/include/aarch64-linux-gnu/bits/endianness.h \ - /usr/include/aarch64-linux-gnu/bits/errno.h \ - /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ - /usr/include/aarch64-linux-gnu/bits/floatn.h \ - /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ - /usr/include/aarch64-linux-gnu/bits/locale.h \ - /usr/include/aarch64-linux-gnu/bits/long-double.h \ - /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ - /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ - /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ - /usr/include/aarch64-linux-gnu/bits/sched.h \ - /usr/include/aarch64-linux-gnu/bits/select.h \ - /usr/include/aarch64-linux-gnu/bits/setjmp.h \ - /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ - /usr/include/aarch64-linux-gnu/bits/stdint-least.h \ - /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ - /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ - /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ - /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ - /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ - /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ - /usr/include/aarch64-linux-gnu/bits/time.h \ - /usr/include/aarch64-linux-gnu/bits/time64.h \ - /usr/include/aarch64-linux-gnu/bits/timesize.h \ - /usr/include/aarch64-linux-gnu/bits/timex.h \ - /usr/include/aarch64-linux-gnu/bits/types.h \ - /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ - /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ - /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ - /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h \ - /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ - /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ - /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ - /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ - /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ - /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h \ - /usr/include/aarch64-linux-gnu/bits/types/error_t.h \ - /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ - /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ - /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ - /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ - /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ - /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ - /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ - /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ - /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ - /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ - /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ - /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ - /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ - /usr/include/aarch64-linux-gnu/bits/typesizes.h \ - /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ - /usr/include/aarch64-linux-gnu/bits/waitflags.h \ - /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ - /usr/include/aarch64-linux-gnu/bits/wchar.h \ - /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \ - /usr/include/aarch64-linux-gnu/bits/wordsize.h \ - /usr/include/aarch64-linux-gnu/c++/13/bits/atomic_word.h \ - /usr/include/aarch64-linux-gnu/c++/13/bits/c++allocator.h \ - /usr/include/aarch64-linux-gnu/c++/13/bits/c++config.h \ - /usr/include/aarch64-linux-gnu/c++/13/bits/c++locale.h \ - /usr/include/aarch64-linux-gnu/c++/13/bits/cpu_defines.h \ - /usr/include/aarch64-linux-gnu/c++/13/bits/ctype_base.h \ - /usr/include/aarch64-linux-gnu/c++/13/bits/ctype_inline.h \ - /usr/include/aarch64-linux-gnu/c++/13/bits/error_constants.h \ - /usr/include/aarch64-linux-gnu/c++/13/bits/gthr-default.h \ - /usr/include/aarch64-linux-gnu/c++/13/bits/gthr.h \ - /usr/include/aarch64-linux-gnu/c++/13/bits/os_defines.h \ - /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ - /usr/include/aarch64-linux-gnu/gnu/stubs.h \ - /usr/include/aarch64-linux-gnu/sys/cdefs.h \ - /usr/include/aarch64-linux-gnu/sys/select.h \ - /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ - /usr/include/aarch64-linux-gnu/sys/types.h \ - /usr/include/alloca.h \ - /usr/include/asm-generic/errno-base.h \ - /usr/include/asm-generic/errno.h \ - /usr/include/c++/13/backward/binders.h \ - /usr/include/c++/13/bit \ - /usr/include/c++/13/bits/alloc_traits.h \ - /usr/include/c++/13/bits/allocator.h \ - /usr/include/c++/13/bits/basic_ios.h \ - /usr/include/c++/13/bits/basic_ios.tcc \ - /usr/include/c++/13/bits/basic_string.h \ - /usr/include/c++/13/bits/basic_string.tcc \ - /usr/include/c++/13/bits/char_traits.h \ - /usr/include/c++/13/bits/charconv.h \ - /usr/include/c++/13/bits/concept_check.h \ - /usr/include/c++/13/bits/cpp_type_traits.h \ - /usr/include/c++/13/bits/cxxabi_forced.h \ - /usr/include/c++/13/bits/cxxabi_init_exception.h \ - /usr/include/c++/13/bits/exception.h \ - /usr/include/c++/13/bits/exception_defines.h \ - /usr/include/c++/13/bits/exception_ptr.h \ - /usr/include/c++/13/bits/functexcept.h \ - /usr/include/c++/13/bits/functional_hash.h \ - /usr/include/c++/13/bits/hash_bytes.h \ - /usr/include/c++/13/bits/invoke.h \ - /usr/include/c++/13/bits/ios_base.h \ - /usr/include/c++/13/bits/istream.tcc \ - /usr/include/c++/13/bits/iterator_concepts.h \ - /usr/include/c++/13/bits/locale_classes.h \ - /usr/include/c++/13/bits/locale_classes.tcc \ - /usr/include/c++/13/bits/locale_facets.h \ - /usr/include/c++/13/bits/locale_facets.tcc \ - /usr/include/c++/13/bits/localefwd.h \ - /usr/include/c++/13/bits/max_size_type.h \ - /usr/include/c++/13/bits/memory_resource.h \ - /usr/include/c++/13/bits/memoryfwd.h \ - /usr/include/c++/13/bits/move.h \ - /usr/include/c++/13/bits/nested_exception.h \ - /usr/include/c++/13/bits/new_allocator.h \ - /usr/include/c++/13/bits/ostream.tcc \ - /usr/include/c++/13/bits/ostream_insert.h \ - /usr/include/c++/13/bits/postypes.h \ - /usr/include/c++/13/bits/predefined_ops.h \ - /usr/include/c++/13/bits/ptr_traits.h \ - /usr/include/c++/13/bits/range_access.h \ - /usr/include/c++/13/bits/ranges_base.h \ - /usr/include/c++/13/bits/ranges_cmp.h \ - /usr/include/c++/13/bits/ranges_util.h \ - /usr/include/c++/13/bits/refwrap.h \ - /usr/include/c++/13/bits/requires_hosted.h \ - /usr/include/c++/13/bits/std_abs.h \ - /usr/include/c++/13/bits/stl_algobase.h \ - /usr/include/c++/13/bits/stl_construct.h \ - /usr/include/c++/13/bits/stl_function.h \ - /usr/include/c++/13/bits/stl_iterator.h \ - /usr/include/c++/13/bits/stl_iterator_base_funcs.h \ - /usr/include/c++/13/bits/stl_iterator_base_types.h \ - /usr/include/c++/13/bits/stl_pair.h \ - /usr/include/c++/13/bits/streambuf.tcc \ - /usr/include/c++/13/bits/streambuf_iterator.h \ - /usr/include/c++/13/bits/string_view.tcc \ - /usr/include/c++/13/bits/stringfwd.h \ - /usr/include/c++/13/bits/uses_allocator.h \ - /usr/include/c++/13/bits/uses_allocator_args.h \ - /usr/include/c++/13/bits/utility.h \ - /usr/include/c++/13/cctype \ - /usr/include/c++/13/cerrno \ - /usr/include/c++/13/clocale \ - /usr/include/c++/13/compare \ - /usr/include/c++/13/concepts \ - /usr/include/c++/13/cstddef \ - /usr/include/c++/13/cstdint \ - /usr/include/c++/13/cstdio \ - /usr/include/c++/13/cstdlib \ - /usr/include/c++/13/cwchar \ - /usr/include/c++/13/cwctype \ - /usr/include/c++/13/debug/assertions.h \ - /usr/include/c++/13/debug/debug.h \ - /usr/include/c++/13/exception \ - /usr/include/c++/13/ext/alloc_traits.h \ - /usr/include/c++/13/ext/atomicity.h \ - /usr/include/c++/13/ext/numeric_traits.h \ - /usr/include/c++/13/ext/string_conversions.h \ - /usr/include/c++/13/ext/type_traits.h \ - /usr/include/c++/13/initializer_list \ - /usr/include/c++/13/ios \ - /usr/include/c++/13/iosfwd \ - /usr/include/c++/13/iostream \ - /usr/include/c++/13/istream \ - /usr/include/c++/13/limits \ - /usr/include/c++/13/new \ - /usr/include/c++/13/numbers \ - /usr/include/c++/13/ostream \ - /usr/include/c++/13/pstl/pstl_config.h \ - /usr/include/c++/13/stdexcept \ - /usr/include/c++/13/streambuf \ - /usr/include/c++/13/string \ - /usr/include/c++/13/string_view \ - /usr/include/c++/13/system_error \ - /usr/include/c++/13/tuple \ - /usr/include/c++/13/type_traits \ - /usr/include/c++/13/typeinfo \ - /usr/include/ctype.h \ - /usr/include/endian.h \ - /usr/include/errno.h \ - /usr/include/features-time64.h \ - /usr/include/features.h \ - /usr/include/linux/errno.h \ - /usr/include/locale.h \ - /usr/include/pthread.h \ - /usr/include/sched.h \ - /usr/include/stdc-predef.h \ - /usr/include/stdint.h \ - /usr/include/stdio.h \ - /usr/include/stdlib.h \ - /usr/include/time.h \ - /usr/include/wchar.h \ - /usr/include/wctype.h \ - /usr/lib/gcc/aarch64-linux-gnu/13/include/stdarg.h \ - /usr/lib/gcc/aarch64-linux-gnu/13/include/stddef.h \ - /usr/lib/gcc/aarch64-linux-gnu/13/include/stdint.h - - -/usr/include/stdlib.h: - -/usr/include/stdio.h: - -/usr/include/stdc-predef.h: - -/usr/include/pthread.h: - -/usr/include/locale.h: - -/usr/include/c++/13/string: - -/usr/include/c++/13/stdexcept: - -/usr/include/c++/13/pstl/pstl_config.h: - -/usr/include/c++/13/limits: - -/usr/include/c++/13/iostream: - -/usr/include/c++/13/ext/type_traits.h: - -/usr/include/c++/13/ext/string_conversions.h: - -/usr/include/c++/13/debug/debug.h: - -/usr/include/c++/13/debug/assertions.h: - -/usr/include/c++/13/cwctype: - -/usr/include/c++/13/cstdlib: - -/usr/include/c++/13/cstdint: - -/usr/include/c++/13/concepts: - -/usr/include/c++/13/compare: - -/usr/include/c++/13/clocale: - -/usr/include/c++/13/cerrno: - -/usr/include/c++/13/ext/atomicity.h: - -/usr/include/c++/13/cctype: - -/usr/include/c++/13/bits/stringfwd.h: - -/usr/include/c++/13/bits/string_view.tcc: - -/usr/include/c++/13/ostream: - -/usr/include/c++/13/bits/streambuf_iterator.h: - -/usr/include/c++/13/bits/stl_iterator_base_types.h: - -/usr/include/c++/13/bits/utility.h: - -/usr/include/c++/13/bits/stl_function.h: - -/usr/include/c++/13/bits/stl_algobase.h: - -/usr/include/c++/13/bits/refwrap.h: - -/usr/include/c++/13/bits/ranges_base.h: - -/usr/include/aarch64-linux-gnu/bits/types/wint_t.h: - -/usr/include/aarch64-linux-gnu/bits/types/timer_t.h: - -/usr/include/aarch64-linux-gnu/bits/errno.h: - -/usr/include/aarch64-linux-gnu/bits/types/time_t.h: - -/usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h: - -/usr/include/c++/13/bits/char_traits.h: - -/usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h: - -/usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h: - -/usr/include/linux/errno.h: - -/usr/include/aarch64-linux-gnu/bits/types/error_t.h: - -/usr/include/c++/13/bits/hash_bytes.h: - -/usr/include/c++/13/type_traits: - -/usr/include/aarch64-linux-gnu/bits/types/clockid_t.h: - -/usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h: - -/usr/include/c++/13/new: - -/usr/include/c++/13/ext/alloc_traits.h: - -/usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h: - -/usr/lib/gcc/aarch64-linux-gnu/13/include/stddef.h: - -/usr/include/aarch64-linux-gnu/c++/13/bits/gthr.h: - -/usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h: - -/usr/include/aarch64-linux-gnu/bits/types/__FILE.h: - -/usr/include/c++/13/bits/cxxabi_forced.h: - -/usr/include/aarch64-linux-gnu/bits/types/struct_tm.h: - -/usr/include/aarch64-linux-gnu/bits/types/locale_t.h: - -/usr/include/c++/13/cstddef: - -/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h: - -/usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h: - -/usr/include/aarch64-linux-gnu/bits/floatn.h: - -/usr/include/aarch64-linux-gnu/bits/floatn-common.h: - -/usr/include/aarch64-linux-gnu/bits/types/__locale_t.h: - -/usr/include/c++/13/bits/uses_allocator.h: - -/usr/include/c++/13/bits/std_abs.h: - -/usr/include/c++/13/bits/postypes.h: - -/usr/include/c++/13/ios: - -/usr/include/aarch64-linux-gnu/bits/types/clock_t.h: - -/usr/include/c++/13/bits/allocator.h: - -/usr/include/c++/13/bits/locale_classes.tcc: - -/usr/include/c++/13/bits/basic_ios.tcc: - -/usr/include/c++/13/bits/nested_exception.h: - -/usr/include/aarch64-linux-gnu/bits/long-double.h: - -/usr/include/aarch64-linux-gnu/bits/libc-header-start.h: - -/usr/include/aarch64-linux-gnu/gnu/stubs.h: - -/usr/include/aarch64-linux-gnu/bits/stdint-intn.h: - -/usr/include/ctype.h: - -/usr/include/aarch64-linux-gnu/bits/endianness.h: - -/usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h: - -/usr/include/c++/13/numbers: - -/usr/include/c++/13/bits/ostream.tcc: - -/usr/include/aarch64-linux-gnu/bits/pthreadtypes.h: - -/usr/include/c++/13/bits/move.h: - -/usr/include/aarch64-linux-gnu/bits/cpu-set.h: - -/usr/include/c++/13/initializer_list: - -/usr/include/aarch64-linux-gnu/c++/13/bits/atomic_word.h: - -/usr/include/aarch64-linux-gnu/asm/errno.h: - -/usr/include/c++/13/bits/iterator_concepts.h: - -/usr/include/aarch64-linux-gnu/bits/endian.h: - -/usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h: - -/usr/include/aarch64-linux-gnu/bits/sched.h: - -/usr/lib/gcc/aarch64-linux-gnu/13/include/stdint.h: - -/usr/include/aarch64-linux-gnu/bits/struct_rwlock.h: - -/usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h: - -/usr/include/aarch64-linux-gnu/bits/byteswap.h: - -/usr/include/c++/13/istream: - -/home/isaac/database-internals/storage/page.h: - -/usr/include/sched.h: - -/home/isaac/database-internals/common/config.h: - -/usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h: - -/usr/include/aarch64-linux-gnu/bits/wctype-wchar.h: - -/usr/include/stdint.h: - -/usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h: - -/home/isaac/database-internals/common/types.h: - -/usr/include/aarch64-linux-gnu/c++/13/bits/cpu_defines.h: - -/usr/include/wctype.h: - -/usr/include/c++/13/exception: - -/usr/include/aarch64-linux-gnu/bits/stdint-least.h: - -/usr/include/aarch64-linux-gnu/bits/types/sigset_t.h: - -/usr/include/aarch64-linux-gnu/c++/13/bits/error_constants.h: - -/usr/include/c++/13/bits/ostream_insert.h: - -/usr/include/aarch64-linux-gnu/bits/stdint-uintn.h: - -/usr/include/c++/13/tuple: - -/usr/include/aarch64-linux-gnu/bits/stdio_lim.h: - -/usr/include/features.h: - -/usr/include/aarch64-linux-gnu/c++/13/bits/c++allocator.h: - -/usr/include/features-time64.h: - -/usr/include/c++/13/string_view: - -/usr/include/aarch64-linux-gnu/c++/13/bits/c++locale.h: - -/usr/include/c++/13/bits/uses_allocator_args.h: - -/usr/include/aarch64-linux-gnu/bits/timesize.h: - -/usr/include/aarch64-linux-gnu/bits/select.h: - -/usr/include/c++/13/bits/new_allocator.h: - -/usr/include/c++/13/ext/numeric_traits.h: - -/usr/include/aarch64-linux-gnu/bits/time.h: - -/usr/include/aarch64-linux-gnu/bits/stdlib-float.h: - -/usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h: - -/usr/include/aarch64-linux-gnu/bits/types.h: - -/usr/include/aarch64-linux-gnu/bits/setjmp.h: - -/usr/include/aarch64-linux-gnu/bits/struct_mutex.h: - -/usr/include/aarch64-linux-gnu/bits/types/FILE.h: - -/usr/include/aarch64-linux-gnu/bits/typesizes.h: - -/usr/include/c++/13/bits/ios_base.h: - -/usr/include/aarch64-linux-gnu/bits/uintn-identity.h: - -/usr/include/aarch64-linux-gnu/sys/cdefs.h: - -/usr/include/c++/13/iosfwd: - -/usr/include/c++/13/bits/ranges_cmp.h: - -/usr/include/c++/13/bits/predefined_ops.h: - -/usr/include/c++/13/bits/stl_construct.h: - -/usr/include/aarch64-linux-gnu/bits/waitflags.h: - -/usr/include/aarch64-linux-gnu/bits/wchar.h: - -/usr/include/aarch64-linux-gnu/bits/waitstatus.h: - -/usr/include/c++/13/bits/exception_defines.h: - -/usr/include/c++/13/bits/localefwd.h: - -/usr/include/c++/13/bits/ranges_util.h: - -/usr/include/asm-generic/errno-base.h: - -/usr/include/aarch64-linux-gnu/bits/wordsize.h: - -/usr/include/aarch64-linux-gnu/c++/13/bits/c++config.h: - -/usr/include/c++/13/bits/invoke.h: - -/usr/include/wchar.h: - -/usr/include/c++/13/bits/memory_resource.h: - -/usr/include/aarch64-linux-gnu/c++/13/bits/ctype_base.h: - -/usr/include/aarch64-linux-gnu/c++/13/bits/ctype_inline.h: - -/usr/include/c++/13/cwchar: - -/usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h: - -/home/isaac/database-internals/main.cpp: - -/usr/include/aarch64-linux-gnu/c++/13/bits/gthr-default.h: - -/usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h: - -/usr/include/aarch64-linux-gnu/sys/single_threaded.h: - -/usr/include/aarch64-linux-gnu/sys/types.h: - -/usr/include/aarch64-linux-gnu/bits/time64.h: - -/usr/include/alloca.h: - -/usr/include/c++/13/bits/stl_iterator_base_funcs.h: - -/usr/include/asm-generic/errno.h: - -/usr/include/c++/13/backward/binders.h: - -/usr/include/c++/13/bits/basic_string.tcc: - -/usr/include/c++/13/bit: - -/usr/include/c++/13/cstdio: - -/usr/include/c++/13/bits/stl_pair.h: - -/usr/include/c++/13/bits/charconv.h: - -/usr/include/c++/13/bits/basic_ios.h: - -/usr/include/aarch64-linux-gnu/sys/select.h: - -/usr/include/c++/13/bits/basic_string.h: - -/usr/include/c++/13/bits/alloc_traits.h: - -/usr/include/c++/13/bits/concept_check.h: - -/usr/include/c++/13/bits/cpp_type_traits.h: - -/usr/include/c++/13/typeinfo: - -/usr/include/aarch64-linux-gnu/bits/timex.h: - -/usr/include/c++/13/bits/cxxabi_init_exception.h: - -/usr/include/c++/13/streambuf: - -/usr/include/aarch64-linux-gnu/bits/locale.h: - -/usr/include/c++/13/bits/exception.h: - -/usr/include/c++/13/bits/istream.tcc: - -/usr/include/c++/13/bits/exception_ptr.h: - -/usr/include/c++/13/bits/stl_iterator.h: - -/usr/include/c++/13/bits/functexcept.h: - -/usr/lib/gcc/aarch64-linux-gnu/13/include/stdarg.h: - -/usr/include/errno.h: - -/usr/include/c++/13/bits/functional_hash.h: - -/usr/include/c++/13/bits/locale_classes.h: - -/usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h: - -/usr/include/c++/13/bits/locale_facets.h: - -/usr/include/c++/13/bits/requires_hosted.h: - -/usr/include/c++/13/bits/locale_facets.tcc: - -/usr/include/endian.h: - -/usr/include/c++/13/bits/streambuf.tcc: - -/usr/include/c++/13/bits/max_size_type.h: - -/usr/include/time.h: - -/usr/include/c++/13/bits/memoryfwd.h: - -/usr/include/c++/13/bits/ptr_traits.h: - -/usr/include/c++/13/system_error: - -/usr/include/aarch64-linux-gnu/c++/13/bits/os_defines.h: - -/usr/include/c++/13/bits/range_access.h: +# Empty compiler generated dependencies file for Storage. +# This may be replaced when dependencies are built. diff --git a/build/CMakeFiles/Storage.dir/link.txt b/build/CMakeFiles/Storage.dir/link.txt index aa66d09..3b85add 100644 --- a/build/CMakeFiles/Storage.dir/link.txt +++ b/build/CMakeFiles/Storage.dir/link.txt @@ -1 +1 @@ -/usr/bin/c++ CMakeFiles/Storage.dir/main.cpp.o -o Storage libstorage_logic.a +/usr/bin/c++ CMakeFiles/Storage.dir/storage/main.cpp.o -o Storage libstorage_logic.a diff --git a/build/CMakeFiles/Storage.dir/storage/main.cpp.o b/build/CMakeFiles/Storage.dir/storage/main.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..5f75eca0423d62729920ce447f5641e51486280b GIT binary patch literal 82584 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 CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.i + +CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling CXX source to assembly CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/isaac/database-internals/tests/storage_viz.cpp -o CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.s + +# Object files for target storage_viz +storage_viz_OBJECTS = \ +"CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o" + +# External object files for target storage_viz +storage_viz_EXTERNAL_OBJECTS = + +storage_viz: CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o +storage_viz: CMakeFiles/storage_viz.dir/build.make +storage_viz: libstorage_logic.a +storage_viz: CMakeFiles/storage_viz.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/isaac/database-internals/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX executable storage_viz" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/storage_viz.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/storage_viz.dir/build: storage_viz +.PHONY : CMakeFiles/storage_viz.dir/build + +CMakeFiles/storage_viz.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/storage_viz.dir/cmake_clean.cmake +.PHONY : CMakeFiles/storage_viz.dir/clean + +CMakeFiles/storage_viz.dir/depend: + cd /home/isaac/database-internals/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/isaac/database-internals /home/isaac/database-internals /home/isaac/database-internals/build /home/isaac/database-internals/build /home/isaac/database-internals/build/CMakeFiles/storage_viz.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : CMakeFiles/storage_viz.dir/depend + diff --git a/build/CMakeFiles/storage_viz.dir/cmake_clean.cmake b/build/CMakeFiles/storage_viz.dir/cmake_clean.cmake new file mode 100644 index 0000000..09993c2 --- /dev/null +++ b/build/CMakeFiles/storage_viz.dir/cmake_clean.cmake @@ -0,0 +1,11 @@ +file(REMOVE_RECURSE + "CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o" + "CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o.d" + "storage_viz" + "storage_viz.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/storage_viz.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build/CMakeFiles/Storage.dir/compiler_depend.internal b/build/CMakeFiles/storage_viz.dir/compiler_depend.internal similarity index 71% rename from build/CMakeFiles/Storage.dir/compiler_depend.internal rename to build/CMakeFiles/storage_viz.dir/compiler_depend.internal index 1017b38..ab15df3 100644 --- a/build/CMakeFiles/Storage.dir/compiler_depend.internal +++ b/build/CMakeFiles/storage_viz.dir/compiler_depend.internal @@ -1,29 +1,43 @@ # CMAKE generated file: DO NOT EDIT! # Generated by "Unix Makefiles" Generator, CMake Version 3.28 -CMakeFiles/Storage.dir/main.cpp.o - /home/isaac/database-internals/main.cpp +CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o + /home/isaac/database-internals/tests/storage_viz.cpp /home/isaac/database-internals/common/config.h /home/isaac/database-internals/common/types.h - /home/isaac/database-internals/storage/page.h + /home/isaac/database-internals/storage/disk_manager.h + /home/isaac/database-internals/storage/freelist_page.h + /usr/include/aarch64-linux-gnu/asm/bitsperlong.h /usr/include/aarch64-linux-gnu/asm/errno.h + /usr/include/aarch64-linux-gnu/asm/posix_types.h + /usr/include/aarch64-linux-gnu/asm/types.h /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h /usr/include/aarch64-linux-gnu/bits/byteswap.h + /usr/include/aarch64-linux-gnu/bits/confname.h /usr/include/aarch64-linux-gnu/bits/cpu-set.h /usr/include/aarch64-linux-gnu/bits/endian.h /usr/include/aarch64-linux-gnu/bits/endianness.h + /usr/include/aarch64-linux-gnu/bits/environments.h /usr/include/aarch64-linux-gnu/bits/errno.h + /usr/include/aarch64-linux-gnu/bits/fcntl-linux.h + /usr/include/aarch64-linux-gnu/bits/fcntl.h /usr/include/aarch64-linux-gnu/bits/floatn-common.h /usr/include/aarch64-linux-gnu/bits/floatn.h + /usr/include/aarch64-linux-gnu/bits/getopt_core.h + /usr/include/aarch64-linux-gnu/bits/getopt_posix.h /usr/include/aarch64-linux-gnu/bits/libc-header-start.h /usr/include/aarch64-linux-gnu/bits/locale.h /usr/include/aarch64-linux-gnu/bits/long-double.h + /usr/include/aarch64-linux-gnu/bits/posix_opt.h /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h /usr/include/aarch64-linux-gnu/bits/sched.h /usr/include/aarch64-linux-gnu/bits/select.h /usr/include/aarch64-linux-gnu/bits/setjmp.h + /usr/include/aarch64-linux-gnu/bits/stat.h + /usr/include/aarch64-linux-gnu/bits/statx-generic.h + /usr/include/aarch64-linux-gnu/bits/statx.h /usr/include/aarch64-linux-gnu/bits/stdint-intn.h /usr/include/aarch64-linux-gnu/bits/stdint-least.h /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h @@ -31,6 +45,7 @@ CMakeFiles/Storage.dir/main.cpp.o /usr/include/aarch64-linux-gnu/bits/stdlib-float.h /usr/include/aarch64-linux-gnu/bits/struct_mutex.h /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h + /usr/include/aarch64-linux-gnu/bits/struct_stat.h /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h /usr/include/aarch64-linux-gnu/bits/time.h /usr/include/aarch64-linux-gnu/bits/time64.h @@ -53,8 +68,11 @@ CMakeFiles/Storage.dir/main.cpp.o /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h + /usr/include/aarch64-linux-gnu/bits/types/struct_iovec.h /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h + /usr/include/aarch64-linux-gnu/bits/types/struct_statx.h + /usr/include/aarch64-linux-gnu/bits/types/struct_statx_timestamp.h /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h @@ -63,14 +81,17 @@ CMakeFiles/Storage.dir/main.cpp.o /usr/include/aarch64-linux-gnu/bits/types/wint_t.h /usr/include/aarch64-linux-gnu/bits/typesizes.h /usr/include/aarch64-linux-gnu/bits/uintn-identity.h + /usr/include/aarch64-linux-gnu/bits/unistd_ext.h /usr/include/aarch64-linux-gnu/bits/waitflags.h /usr/include/aarch64-linux-gnu/bits/waitstatus.h /usr/include/aarch64-linux-gnu/bits/wchar.h /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h /usr/include/aarch64-linux-gnu/bits/wordsize.h /usr/include/aarch64-linux-gnu/c++/13/bits/atomic_word.h + /usr/include/aarch64-linux-gnu/c++/13/bits/basic_file.h /usr/include/aarch64-linux-gnu/c++/13/bits/c++allocator.h /usr/include/aarch64-linux-gnu/c++/13/bits/c++config.h + /usr/include/aarch64-linux-gnu/c++/13/bits/c++io.h /usr/include/aarch64-linux-gnu/c++/13/bits/c++locale.h /usr/include/aarch64-linux-gnu/c++/13/bits/cpu_defines.h /usr/include/aarch64-linux-gnu/c++/13/bits/ctype_base.h @@ -78,19 +99,29 @@ CMakeFiles/Storage.dir/main.cpp.o /usr/include/aarch64-linux-gnu/c++/13/bits/error_constants.h /usr/include/aarch64-linux-gnu/c++/13/bits/gthr-default.h /usr/include/aarch64-linux-gnu/c++/13/bits/gthr.h + /usr/include/aarch64-linux-gnu/c++/13/bits/messages_members.h /usr/include/aarch64-linux-gnu/c++/13/bits/os_defines.h + /usr/include/aarch64-linux-gnu/c++/13/bits/time_members.h /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h /usr/include/aarch64-linux-gnu/gnu/stubs.h /usr/include/aarch64-linux-gnu/sys/cdefs.h /usr/include/aarch64-linux-gnu/sys/select.h /usr/include/aarch64-linux-gnu/sys/single_threaded.h + /usr/include/aarch64-linux-gnu/sys/stat.h /usr/include/aarch64-linux-gnu/sys/types.h /usr/include/alloca.h + /usr/include/asm-generic/bitsperlong.h /usr/include/asm-generic/errno-base.h /usr/include/asm-generic/errno.h + /usr/include/asm-generic/int-ll64.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/types.h + /usr/include/assert.h /usr/include/c++/13/backward/binders.h /usr/include/c++/13/bit + /usr/include/c++/13/bits/align.h /usr/include/c++/13/bits/alloc_traits.h + /usr/include/c++/13/bits/allocated_ptr.h /usr/include/c++/13/bits/allocator.h /usr/include/c++/13/bits/basic_ios.h /usr/include/c++/13/bits/basic_ios.tcc @@ -98,24 +129,38 @@ CMakeFiles/Storage.dir/main.cpp.o /usr/include/c++/13/bits/basic_string.tcc /usr/include/c++/13/bits/char_traits.h /usr/include/c++/13/bits/charconv.h + /usr/include/c++/13/bits/chrono.h + /usr/include/c++/13/bits/codecvt.h /usr/include/c++/13/bits/concept_check.h /usr/include/c++/13/bits/cpp_type_traits.h /usr/include/c++/13/bits/cxxabi_forced.h /usr/include/c++/13/bits/cxxabi_init_exception.h + /usr/include/c++/13/bits/enable_special_members.h + /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/bits/exception.h /usr/include/c++/13/bits/exception_defines.h /usr/include/c++/13/bits/exception_ptr.h + /usr/include/c++/13/bits/fs_dir.h + /usr/include/c++/13/bits/fs_fwd.h + /usr/include/c++/13/bits/fs_ops.h + /usr/include/c++/13/bits/fs_path.h + /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/bits/functexcept.h /usr/include/c++/13/bits/functional_hash.h /usr/include/c++/13/bits/hash_bytes.h + /usr/include/c++/13/bits/hashtable.h + /usr/include/c++/13/bits/hashtable_policy.h /usr/include/c++/13/bits/invoke.h /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/bits/iterator_concepts.h /usr/include/c++/13/bits/locale_classes.h /usr/include/c++/13/bits/locale_classes.tcc + /usr/include/c++/13/bits/locale_conv.h /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/bits/locale_facets.tcc + /usr/include/c++/13/bits/locale_facets_nonio.h + /usr/include/c++/13/bits/locale_facets_nonio.tcc /usr/include/c++/13/bits/localefwd.h /usr/include/c++/13/bits/max_size_type.h /usr/include/c++/13/bits/memory_resource.h @@ -123,61 +168,84 @@ CMakeFiles/Storage.dir/main.cpp.o /usr/include/c++/13/bits/move.h /usr/include/c++/13/bits/nested_exception.h /usr/include/c++/13/bits/new_allocator.h + /usr/include/c++/13/bits/node_handle.h /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/bits/ostream_insert.h + /usr/include/c++/13/bits/parse_numbers.h /usr/include/c++/13/bits/postypes.h /usr/include/c++/13/bits/predefined_ops.h /usr/include/c++/13/bits/ptr_traits.h + /usr/include/c++/13/bits/quoted_string.h /usr/include/c++/13/bits/range_access.h /usr/include/c++/13/bits/ranges_base.h /usr/include/c++/13/bits/ranges_cmp.h /usr/include/c++/13/bits/ranges_util.h /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/requires_hosted.h + /usr/include/c++/13/bits/shared_ptr.h + /usr/include/c++/13/bits/shared_ptr_base.h + /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/bits/stl_algobase.h + /usr/include/c++/13/bits/stl_bvector.h /usr/include/c++/13/bits/stl_construct.h /usr/include/c++/13/bits/stl_function.h /usr/include/c++/13/bits/stl_iterator.h /usr/include/c++/13/bits/stl_iterator_base_funcs.h /usr/include/c++/13/bits/stl_iterator_base_types.h /usr/include/c++/13/bits/stl_pair.h + /usr/include/c++/13/bits/stl_uninitialized.h + /usr/include/c++/13/bits/stl_vector.h /usr/include/c++/13/bits/streambuf.tcc /usr/include/c++/13/bits/streambuf_iterator.h /usr/include/c++/13/bits/string_view.tcc /usr/include/c++/13/bits/stringfwd.h + /usr/include/c++/13/bits/unique_ptr.h + /usr/include/c++/13/bits/unordered_set.h /usr/include/c++/13/bits/uses_allocator.h /usr/include/c++/13/bits/uses_allocator_args.h /usr/include/c++/13/bits/utility.h + /usr/include/c++/13/bits/vector.tcc + /usr/include/c++/13/cassert /usr/include/c++/13/cctype /usr/include/c++/13/cerrno /usr/include/c++/13/clocale + /usr/include/c++/13/codecvt /usr/include/c++/13/compare /usr/include/c++/13/concepts /usr/include/c++/13/cstddef /usr/include/c++/13/cstdint /usr/include/c++/13/cstdio /usr/include/c++/13/cstdlib + /usr/include/c++/13/ctime /usr/include/c++/13/cwchar /usr/include/c++/13/cwctype /usr/include/c++/13/debug/assertions.h /usr/include/c++/13/debug/debug.h /usr/include/c++/13/exception + /usr/include/c++/13/ext/aligned_buffer.h /usr/include/c++/13/ext/alloc_traits.h /usr/include/c++/13/ext/atomicity.h + /usr/include/c++/13/ext/concurrence.h /usr/include/c++/13/ext/numeric_traits.h /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/ext/type_traits.h + /usr/include/c++/13/filesystem + /usr/include/c++/13/fstream /usr/include/c++/13/initializer_list + /usr/include/c++/13/iomanip /usr/include/c++/13/ios /usr/include/c++/13/iosfwd /usr/include/c++/13/iostream /usr/include/c++/13/istream /usr/include/c++/13/limits + /usr/include/c++/13/locale /usr/include/c++/13/new /usr/include/c++/13/numbers /usr/include/c++/13/ostream /usr/include/c++/13/pstl/pstl_config.h + /usr/include/c++/13/ratio + /usr/include/c++/13/sstream /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf /usr/include/c++/13/string @@ -186,12 +254,22 @@ CMakeFiles/Storage.dir/main.cpp.o /usr/include/c++/13/tuple /usr/include/c++/13/type_traits /usr/include/c++/13/typeinfo + /usr/include/c++/13/unordered_set + /usr/include/c++/13/vector /usr/include/ctype.h /usr/include/endian.h /usr/include/errno.h + /usr/include/fcntl.h /usr/include/features-time64.h /usr/include/features.h + /usr/include/libintl.h + /usr/include/linux/close_range.h /usr/include/linux/errno.h + /usr/include/linux/falloc.h + /usr/include/linux/posix_types.h + /usr/include/linux/stat.h + /usr/include/linux/stddef.h + /usr/include/linux/types.h /usr/include/locale.h /usr/include/pthread.h /usr/include/sched.h @@ -199,7 +277,10 @@ CMakeFiles/Storage.dir/main.cpp.o /usr/include/stdint.h /usr/include/stdio.h /usr/include/stdlib.h + /usr/include/string.h + /usr/include/strings.h /usr/include/time.h + /usr/include/unistd.h /usr/include/wchar.h /usr/include/wctype.h /usr/lib/gcc/aarch64-linux-gnu/13/include/stdarg.h diff --git a/build/CMakeFiles/storage_viz.dir/compiler_depend.make b/build/CMakeFiles/storage_viz.dir/compiler_depend.make new file mode 100644 index 0000000..1815ec0 --- /dev/null +++ b/build/CMakeFiles/storage_viz.dir/compiler_depend.make @@ -0,0 +1,856 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.28 + +CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-internals/tests/storage_viz.cpp \ + /home/isaac/database-internals/common/config.h \ + /home/isaac/database-internals/common/types.h \ + /home/isaac/database-internals/storage/disk_manager.h \ + /home/isaac/database-internals/storage/freelist_page.h \ + /usr/include/aarch64-linux-gnu/asm/bitsperlong.h \ + /usr/include/aarch64-linux-gnu/asm/errno.h \ + /usr/include/aarch64-linux-gnu/asm/posix_types.h \ + /usr/include/aarch64-linux-gnu/asm/types.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/confname.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/aarch64-linux-gnu/bits/environments.h \ + /usr/include/aarch64-linux-gnu/bits/errno.h \ + /usr/include/aarch64-linux-gnu/bits/fcntl-linux.h \ + /usr/include/aarch64-linux-gnu/bits/fcntl.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/getopt_core.h \ + /usr/include/aarch64-linux-gnu/bits/getopt_posix.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/aarch64-linux-gnu/bits/locale.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/bits/posix_opt.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/stat.h \ + /usr/include/aarch64-linux-gnu/bits/statx-generic.h \ + /usr/include/aarch64-linux-gnu/bits/statx.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-least.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ + /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/aarch64-linux-gnu/bits/struct_stat.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/error_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_iovec.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_statx.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_statx_timestamp.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/bits/unistd_ext.h \ + /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/basic_file.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/c++allocator.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/c++io.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/c++locale.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/ctype_base.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/ctype_inline.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/error_constants.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/gthr-default.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/messages_members.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/os_defines.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/time_members.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/aarch64-linux-gnu/sys/stat.h \ + /usr/include/aarch64-linux-gnu/sys/types.h \ + /usr/include/alloca.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/int-ll64.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/types.h \ + /usr/include/assert.h \ + /usr/include/c++/13/backward/binders.h \ + /usr/include/c++/13/bit \ + /usr/include/c++/13/bits/align.h \ + /usr/include/c++/13/bits/alloc_traits.h \ + /usr/include/c++/13/bits/allocated_ptr.h \ + /usr/include/c++/13/bits/allocator.h \ + /usr/include/c++/13/bits/basic_ios.h \ + /usr/include/c++/13/bits/basic_ios.tcc \ + /usr/include/c++/13/bits/basic_string.h \ + /usr/include/c++/13/bits/basic_string.tcc \ + /usr/include/c++/13/bits/char_traits.h \ + /usr/include/c++/13/bits/charconv.h \ + /usr/include/c++/13/bits/chrono.h \ + /usr/include/c++/13/bits/codecvt.h \ + /usr/include/c++/13/bits/concept_check.h \ + /usr/include/c++/13/bits/cpp_type_traits.h \ + /usr/include/c++/13/bits/cxxabi_forced.h \ + /usr/include/c++/13/bits/cxxabi_init_exception.h \ + /usr/include/c++/13/bits/enable_special_members.h \ + /usr/include/c++/13/bits/erase_if.h \ + /usr/include/c++/13/bits/exception.h \ + /usr/include/c++/13/bits/exception_defines.h \ + /usr/include/c++/13/bits/exception_ptr.h \ + /usr/include/c++/13/bits/fs_dir.h \ + /usr/include/c++/13/bits/fs_fwd.h \ + /usr/include/c++/13/bits/fs_ops.h \ + /usr/include/c++/13/bits/fs_path.h \ + /usr/include/c++/13/bits/fstream.tcc \ + /usr/include/c++/13/bits/functexcept.h \ + /usr/include/c++/13/bits/functional_hash.h \ + /usr/include/c++/13/bits/hash_bytes.h \ + /usr/include/c++/13/bits/hashtable.h \ + /usr/include/c++/13/bits/hashtable_policy.h \ + /usr/include/c++/13/bits/invoke.h \ + /usr/include/c++/13/bits/ios_base.h \ + /usr/include/c++/13/bits/istream.tcc \ + /usr/include/c++/13/bits/iterator_concepts.h \ + /usr/include/c++/13/bits/locale_classes.h \ + /usr/include/c++/13/bits/locale_classes.tcc \ + /usr/include/c++/13/bits/locale_conv.h \ + /usr/include/c++/13/bits/locale_facets.h \ + /usr/include/c++/13/bits/locale_facets.tcc \ + /usr/include/c++/13/bits/locale_facets_nonio.h \ + /usr/include/c++/13/bits/locale_facets_nonio.tcc \ + /usr/include/c++/13/bits/localefwd.h \ + /usr/include/c++/13/bits/max_size_type.h \ + /usr/include/c++/13/bits/memory_resource.h \ + /usr/include/c++/13/bits/memoryfwd.h \ + /usr/include/c++/13/bits/move.h \ + /usr/include/c++/13/bits/nested_exception.h \ + /usr/include/c++/13/bits/new_allocator.h \ + /usr/include/c++/13/bits/node_handle.h \ + /usr/include/c++/13/bits/ostream.tcc \ + /usr/include/c++/13/bits/ostream_insert.h \ + /usr/include/c++/13/bits/parse_numbers.h \ + /usr/include/c++/13/bits/postypes.h \ + /usr/include/c++/13/bits/predefined_ops.h \ + /usr/include/c++/13/bits/ptr_traits.h \ + /usr/include/c++/13/bits/quoted_string.h \ + /usr/include/c++/13/bits/range_access.h \ + /usr/include/c++/13/bits/ranges_base.h \ + /usr/include/c++/13/bits/ranges_cmp.h \ + /usr/include/c++/13/bits/ranges_util.h \ + /usr/include/c++/13/bits/refwrap.h \ + /usr/include/c++/13/bits/requires_hosted.h \ + /usr/include/c++/13/bits/shared_ptr.h \ + /usr/include/c++/13/bits/shared_ptr_base.h \ + /usr/include/c++/13/bits/sstream.tcc \ + /usr/include/c++/13/bits/std_abs.h \ + /usr/include/c++/13/bits/stl_algobase.h \ + /usr/include/c++/13/bits/stl_bvector.h \ + /usr/include/c++/13/bits/stl_construct.h \ + /usr/include/c++/13/bits/stl_function.h \ + /usr/include/c++/13/bits/stl_iterator.h \ + /usr/include/c++/13/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/13/bits/stl_iterator_base_types.h \ + /usr/include/c++/13/bits/stl_pair.h \ + /usr/include/c++/13/bits/stl_uninitialized.h \ + /usr/include/c++/13/bits/stl_vector.h \ + /usr/include/c++/13/bits/streambuf.tcc \ + /usr/include/c++/13/bits/streambuf_iterator.h \ + /usr/include/c++/13/bits/string_view.tcc \ + /usr/include/c++/13/bits/stringfwd.h \ + /usr/include/c++/13/bits/unique_ptr.h \ + /usr/include/c++/13/bits/unordered_set.h \ + /usr/include/c++/13/bits/uses_allocator.h \ + /usr/include/c++/13/bits/uses_allocator_args.h \ + /usr/include/c++/13/bits/utility.h \ + /usr/include/c++/13/bits/vector.tcc \ + /usr/include/c++/13/cassert \ + /usr/include/c++/13/cctype \ + /usr/include/c++/13/cerrno \ + /usr/include/c++/13/clocale \ + /usr/include/c++/13/codecvt \ + /usr/include/c++/13/compare \ + /usr/include/c++/13/concepts \ + /usr/include/c++/13/cstddef \ + /usr/include/c++/13/cstdint \ + /usr/include/c++/13/cstdio \ + /usr/include/c++/13/cstdlib \ + /usr/include/c++/13/ctime \ + /usr/include/c++/13/cwchar \ + /usr/include/c++/13/cwctype \ + /usr/include/c++/13/debug/assertions.h \ + /usr/include/c++/13/debug/debug.h \ + /usr/include/c++/13/exception \ + /usr/include/c++/13/ext/aligned_buffer.h \ + /usr/include/c++/13/ext/alloc_traits.h \ + /usr/include/c++/13/ext/atomicity.h \ + /usr/include/c++/13/ext/concurrence.h \ + /usr/include/c++/13/ext/numeric_traits.h \ + /usr/include/c++/13/ext/string_conversions.h \ + /usr/include/c++/13/ext/type_traits.h \ + /usr/include/c++/13/filesystem \ + /usr/include/c++/13/fstream \ + /usr/include/c++/13/initializer_list \ + /usr/include/c++/13/iomanip \ + /usr/include/c++/13/ios \ + /usr/include/c++/13/iosfwd \ + /usr/include/c++/13/iostream \ + /usr/include/c++/13/istream \ + /usr/include/c++/13/limits \ + /usr/include/c++/13/locale \ + /usr/include/c++/13/new \ + /usr/include/c++/13/numbers \ + /usr/include/c++/13/ostream \ + /usr/include/c++/13/pstl/pstl_config.h \ + /usr/include/c++/13/ratio \ + /usr/include/c++/13/sstream \ + /usr/include/c++/13/stdexcept \ + /usr/include/c++/13/streambuf \ + /usr/include/c++/13/string \ + /usr/include/c++/13/string_view \ + /usr/include/c++/13/system_error \ + /usr/include/c++/13/tuple \ + /usr/include/c++/13/type_traits \ + /usr/include/c++/13/typeinfo \ + /usr/include/c++/13/unordered_set \ + /usr/include/c++/13/vector \ + /usr/include/ctype.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/fcntl.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/libintl.h \ + /usr/include/linux/close_range.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/falloc.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/stat.h \ + /usr/include/linux/stddef.h \ + /usr/include/linux/types.h \ + /usr/include/locale.h \ + /usr/include/pthread.h \ + /usr/include/sched.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/time.h \ + /usr/include/unistd.h \ + /usr/include/wchar.h \ + /usr/include/wctype.h \ + /usr/lib/gcc/aarch64-linux-gnu/13/include/stdarg.h \ + /usr/lib/gcc/aarch64-linux-gnu/13/include/stddef.h \ + /usr/lib/gcc/aarch64-linux-gnu/13/include/stdint.h + + +/usr/lib/gcc/aarch64-linux-gnu/13/include/stddef.h: + +/usr/include/unistd.h: + +/usr/include/string.h: + +/usr/include/stdlib.h: + +/usr/include/stdc-predef.h: + +/usr/include/wctype.h: + +/usr/include/sched.h: + +/usr/include/pthread.h: + +/usr/include/linux/types.h: + +/usr/include/linux/stddef.h: + +/usr/include/linux/falloc.h: + +/usr/include/linux/close_range.h: + +/usr/include/libintl.h: + +/usr/include/features.h: + +/usr/include/features-time64.h: + +/usr/include/fcntl.h: + +/usr/include/c++/13/bits/basic_string.h: + +/usr/include/c++/13/bits/basic_ios.h: + +/usr/include/c++/13/clocale: + +/usr/include/c++/13/bits/charconv.h: + +/usr/include/c++/13/bits/fs_path.h: + +/usr/include/c++/13/bits/stl_pair.h: + +/usr/include/c++/13/cstdio: + +/usr/include/c++/13/fstream: + +/usr/include/c++/13/bits/allocated_ptr.h: + +/usr/include/c++/13/bit: + +/usr/include/c++/13/bits/basic_string.tcc: + +/usr/include/asm-generic/posix_types.h: + +/usr/include/asm-generic/errno.h: + +/usr/include/c++/13/ext/atomicity.h: + +/usr/include/aarch64-linux-gnu/sys/types.h: + +/usr/include/aarch64-linux-gnu/sys/single_threaded.h: + +/usr/include/c++/13/backward/binders.h: + +/usr/include/aarch64-linux-gnu/c++/13/bits/time_members.h: + +/usr/include/aarch64-linux-gnu/asm/errno.h: + +/usr/include/aarch64-linux-gnu/c++/13/bits/atomic_word.h: + +/usr/include/c++/13/initializer_list: + +/usr/include/aarch64-linux-gnu/bits/fcntl-linux.h: + +/usr/include/aarch64-linux-gnu/bits/statx.h: + +/usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h: + +/usr/include/aarch64-linux-gnu/c++/13/bits/ctype_inline.h: + +/usr/include/aarch64-linux-gnu/c++/13/bits/ctype_base.h: + +/usr/include/aarch64-linux-gnu/c++/13/bits/c++io.h: + +/usr/include/aarch64-linux-gnu/c++/13/bits/c++config.h: + +/usr/include/aarch64-linux-gnu/c++/13/bits/basic_file.h: + +/usr/include/asm-generic/bitsperlong.h: + +/usr/include/asm-generic/types.h: + +/usr/include/aarch64-linux-gnu/bits/wordsize.h: + +/usr/include/c++/13/bits/stl_iterator_base_funcs.h: + +/usr/include/asm-generic/errno-base.h: + +/usr/include/c++/13/bits/ranges_util.h: + +/usr/include/aarch64-linux-gnu/bits/waitstatus.h: + +/usr/include/c++/13/bits/locale_facets_nonio.h: + +/usr/include/aarch64-linux-gnu/bits/wchar.h: + +/usr/include/c++/13/bits/shared_ptr.h: + +/usr/include/c++/13/bits/stl_construct.h: + +/usr/include/aarch64-linux-gnu/bits/unistd_ext.h: + +/usr/include/aarch64-linux-gnu/bits/byteswap.h: + +/usr/include/c++/13/bits/align.h: + +/usr/include/aarch64-linux-gnu/bits/uintn-identity.h: + +/usr/include/c++/13/bits/unique_ptr.h: + +/usr/include/aarch64-linux-gnu/bits/typesizes.h: + +/usr/include/c++/13/bits/char_traits.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h: + +/usr/include/c++/13/bits/hashtable_policy.h: + +/usr/include/aarch64-linux-gnu/gnu/stubs.h: + +/usr/include/aarch64-linux-gnu/bits/stdint-intn.h: + +/usr/include/aarch64-linux-gnu/c++/13/bits/os_defines.h: + +/usr/include/c++/13/bits/range_access.h: + +/usr/include/locale.h: + +/usr/include/aarch64-linux-gnu/bits/types/wint_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/time_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_tm.h: + +/usr/include/c++/13/cwchar: + +/usr/include/aarch64-linux-gnu/bits/types/timer_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_statx.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_iovec.h: + +/usr/include/aarch64-linux-gnu/c++/13/bits/gthr.h: + +/usr/include/c++/13/codecvt: + +/usr/include/c++/13/ctime: + +/usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h: + +/usr/include/time.h: + +/usr/include/aarch64-linux-gnu/bits/wctype-wchar.h: + +/usr/include/aarch64-linux-gnu/c++/13/bits/error_constants.h: + +/usr/include/aarch64-linux-gnu/bits/types/sigset_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/error_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h: + +/usr/include/aarch64-linux-gnu/bits/statx-generic.h: + +/usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h: + +/usr/include/c++/13/bits/locale_facets.h: + +/usr/include/aarch64-linux-gnu/bits/posix_opt.h: + +/usr/include/aarch64-linux-gnu/bits/fcntl.h: + +/usr/include/aarch64-linux-gnu/bits/stat.h: + +/usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h: + +/usr/include/c++/13/bits/basic_ios.tcc: + +/usr/include/aarch64-linux-gnu/bits/timex.h: + +/usr/include/c++/13/bits/cxxabi_init_exception.h: + +/usr/include/c++/13/typeinfo: + +/usr/include/c++/13/bits/alloc_traits.h: + +/usr/include/c++/13/bits/concept_check.h: + +/usr/include/aarch64-linux-gnu/bits/environments.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_statx_timestamp.h: + +/usr/include/c++/13/bits/invoke.h: + +/usr/include/aarch64-linux-gnu/bits/errno.h: + +/usr/include/c++/13/cctype: + +/usr/include/aarch64-linux-gnu/sys/stat.h: + +/home/isaac/database-internals/tests/storage_viz.cpp: + +/usr/include/c++/13/bits/localefwd.h: + +/home/isaac/database-internals/storage/disk_manager.h: + +/usr/include/c++/13/bits/hash_bytes.h: + +/usr/include/aarch64-linux-gnu/c++/13/bits/cpu_defines.h: + +/usr/include/aarch64-linux-gnu/bits/libc-header-start.h: + +/home/isaac/database-internals/common/config.h: + +/usr/include/alloca.h: + +/usr/include/aarch64-linux-gnu/bits/time64.h: + +/usr/include/aarch64-linux-gnu/bits/endianness.h: + +/usr/include/ctype.h: + +/home/isaac/database-internals/storage/freelist_page.h: + +/usr/include/c++/13/bits/unordered_set.h: + +/usr/include/aarch64-linux-gnu/bits/types/clockid_t.h: + +/usr/include/c++/13/type_traits: + +/usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h: + +/usr/include/c++/13/bits/vector.tcc: + +/usr/include/aarch64-linux-gnu/bits/getopt_posix.h: + +/usr/include/c++/13/ios: + +/usr/include/c++/13/bits/functexcept.h: + +/usr/include/aarch64-linux-gnu/bits/floatn.h: + +/usr/include/c++/13/bits/move.h: + +/usr/include/aarch64-linux-gnu/bits/locale.h: + +/usr/lib/gcc/aarch64-linux-gnu/13/include/stdarg.h: + +/usr/include/c++/13/bits/exception.h: + +/usr/include/aarch64-linux-gnu/bits/floatn-common.h: + +/usr/include/aarch64-linux-gnu/bits/types/__locale_t.h: + +/usr/include/aarch64-linux-gnu/bits/pthreadtypes.h: + +/usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h: + +/usr/include/aarch64-linux-gnu/bits/struct_rwlock.h: + +/usr/include/aarch64-linux-gnu/bits/sched.h: + +/usr/include/aarch64-linux-gnu/asm/bitsperlong.h: + +/usr/include/c++/13/bits/ios_base.h: + +/usr/include/aarch64-linux-gnu/bits/select.h: + +/usr/include/c++/13/bits/uses_allocator_args.h: + +/usr/include/aarch64-linux-gnu/bits/cpu-set.h: + +/usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h: + +/usr/include/aarch64-linux-gnu/c++/13/bits/messages_members.h: + +/usr/include/aarch64-linux-gnu/bits/stdint-least.h: + +/usr/include/c++/13/exception: + +/usr/include/c++/13/bits/ostream_insert.h: + +/usr/include/aarch64-linux-gnu/bits/timesize.h: + +/usr/include/c++/13/bits/allocator.h: + +/usr/include/c++/13/bits/stl_bvector.h: + +/usr/include/aarch64-linux-gnu/c++/13/bits/c++locale.h: + +/usr/include/aarch64-linux-gnu/c++/13/bits/c++allocator.h: + +/usr/include/aarch64-linux-gnu/bits/stdio_lim.h: + +/usr/include/aarch64-linux-gnu/bits/struct_mutex.h: + +/usr/include/c++/13/string_view: + +/usr/include/aarch64-linux-gnu/bits/time.h: + +/usr/include/c++/13/bits/stl_iterator.h: + +/usr/include/c++/13/ext/numeric_traits.h: + +/usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/FILE.h: + +/usr/include/aarch64-linux-gnu/bits/thread-shared-types.h: + +/usr/include/c++/13/cstddef: + +/usr/include/assert.h: + +/usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h: + +/usr/include/c++/13/ext/alloc_traits.h: + +/usr/include/c++/13/new: + +/usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h: + +/usr/include/c++/13/bits/chrono.h: + +/usr/include/c++/13/bits/codecvt.h: + +/usr/include/c++/13/bits/cxxabi_forced.h: + +/usr/include/c++/13/bits/enable_special_members.h: + +/usr/include/c++/13/bits/erase_if.h: + +/usr/include/c++/13/bits/exception_defines.h: + +/usr/include/aarch64-linux-gnu/bits/endian.h: + +/usr/include/c++/13/bits/exception_ptr.h: + +/usr/include/c++/13/bits/fs_dir.h: + +/usr/include/c++/13/sstream: + +/usr/include/aarch64-linux-gnu/bits/stdlib-float.h: + +/usr/include/c++/13/bits/fs_fwd.h: + +/usr/include/aarch64-linux-gnu/bits/types/__FILE.h: + +/usr/include/c++/13/bits/memoryfwd.h: + +/usr/include/c++/13/bits/fs_ops.h: + +/usr/include/c++/13/bits/locale_classes.h: + +/usr/include/c++/13/bits/fstream.tcc: + +/usr/include/c++/13/bits/functional_hash.h: + +/usr/include/errno.h: + +/usr/include/c++/13/bits/hashtable.h: + +/usr/include/c++/13/bits/locale_classes.tcc: + +/usr/include/c++/13/bits/istream.tcc: + +/usr/include/c++/13/bits/locale_conv.h: + +/usr/include/linux/stat.h: + +/usr/include/c++/13/bits/locale_facets.tcc: + +/usr/include/c++/13/bits/requires_hosted.h: + +/usr/include/aarch64-linux-gnu/c++/13/bits/gthr-default.h: + +/usr/include/c++/13/bits/locale_facets_nonio.tcc: + +/usr/include/c++/13/bits/max_size_type.h: + +/usr/include/c++/13/bits/streambuf.tcc: + +/usr/include/stdint.h: + +/usr/include/endian.h: + +/usr/include/c++/13/streambuf: + +/usr/include/c++/13/bits/memory_resource.h: + +/usr/include/c++/13/tuple: + +/usr/include/c++/13/bits/nested_exception.h: + +/usr/include/c++/13/bits/node_handle.h: + +/usr/include/aarch64-linux-gnu/sys/cdefs.h: + +/usr/include/c++/13/bits/ostream.tcc: + +/usr/include/c++/13/numbers: + +/usr/include/aarch64-linux-gnu/bits/struct_stat.h: + +/usr/include/c++/13/bits/postypes.h: + +/usr/include/aarch64-linux-gnu/asm/types.h: + +/usr/include/c++/13/bits/parse_numbers.h: + +/usr/include/aarch64-linux-gnu/bits/stdint-uintn.h: + +/usr/include/c++/13/bits/std_abs.h: + +/home/isaac/database-internals/common/types.h: + +/usr/include/c++/13/bits/uses_allocator.h: + +/usr/include/strings.h: + +/usr/include/c++/13/iomanip: + +/usr/include/c++/13/bits/predefined_ops.h: + +/usr/include/asm-generic/int-ll64.h: + +/usr/include/c++/13/bits/ranges_cmp.h: + +/usr/include/aarch64-linux-gnu/bits/types/locale_t.h: + +/usr/include/aarch64-linux-gnu/bits/types/clock_t.h: + +/usr/include/c++/13/iosfwd: + +/usr/include/linux/posix_types.h: + +/usr/include/c++/13/bits/ptr_traits.h: + +/usr/include/aarch64-linux-gnu/bits/confname.h: + +/usr/include/c++/13/bits/quoted_string.h: + +/usr/include/c++/13/bits/ranges_base.h: + +/usr/include/c++/13/bits/refwrap.h: + +/usr/include/wchar.h: + +/usr/include/c++/13/bits/shared_ptr_base.h: + +/usr/include/c++/13/bits/sstream.tcc: + +/usr/lib/gcc/aarch64-linux-gnu/13/include/stdint.h: + +/usr/include/c++/13/cwctype: + +/usr/include/c++/13/ratio: + +/usr/include/c++/13/bits/stl_algobase.h: + +/usr/include/c++/13/bits/stl_function.h: + +/usr/include/c++/13/bits/utility.h: + +/usr/include/stdio.h: + +/usr/include/c++/13/bits/stl_iterator_base_types.h: + +/usr/include/c++/13/bits/new_allocator.h: + +/usr/include/c++/13/bits/stl_uninitialized.h: + +/usr/include/aarch64-linux-gnu/sys/select.h: + +/usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h: + +/usr/include/c++/13/locale: + +/usr/include/c++/13/bits/stl_vector.h: + +/usr/include/c++/13/unordered_set: + +/usr/include/aarch64-linux-gnu/bits/types.h: + +/usr/include/c++/13/bits/streambuf_iterator.h: + +/usr/include/c++/13/ostream: + +/usr/include/c++/13/bits/string_view.tcc: + +/usr/include/c++/13/bits/iterator_concepts.h: + +/usr/include/c++/13/bits/stringfwd.h: + +/usr/include/c++/13/bits/cpp_type_traits.h: + +/usr/include/c++/13/cassert: + +/usr/include/c++/13/cerrno: + +/usr/include/c++/13/system_error: + +/usr/include/c++/13/compare: + +/usr/include/aarch64-linux-gnu/asm/posix_types.h: + +/usr/include/aarch64-linux-gnu/bits/setjmp.h: + +/usr/include/c++/13/filesystem: + +/usr/include/c++/13/concepts: + +/usr/include/c++/13/cstdint: + +/usr/include/c++/13/cstdlib: + +/usr/include/c++/13/debug/assertions.h: + +/usr/include/linux/errno.h: + +/usr/include/c++/13/debug/debug.h: + +/usr/include/c++/13/ext/aligned_buffer.h: + +/usr/include/aarch64-linux-gnu/bits/waitflags.h: + +/usr/include/c++/13/ext/concurrence.h: + +/usr/include/c++/13/ext/string_conversions.h: + +/usr/include/c++/13/ext/type_traits.h: + +/usr/include/c++/13/iostream: + +/usr/include/c++/13/istream: + +/usr/include/aarch64-linux-gnu/bits/getopt_core.h: + +/usr/include/c++/13/limits: + +/usr/include/c++/13/pstl/pstl_config.h: + +/usr/include/c++/13/stdexcept: + +/usr/include/c++/13/string: + +/usr/include/aarch64-linux-gnu/bits/long-double.h: + +/usr/include/c++/13/vector: diff --git a/build/CMakeFiles/storage_viz.dir/compiler_depend.ts b/build/CMakeFiles/storage_viz.dir/compiler_depend.ts new file mode 100644 index 0000000..73d0878 --- /dev/null +++ b/build/CMakeFiles/storage_viz.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for storage_viz. diff --git a/build/CMakeFiles/storage_viz.dir/depend.make b/build/CMakeFiles/storage_viz.dir/depend.make new file mode 100644 index 0000000..f0ff1c5 --- /dev/null +++ b/build/CMakeFiles/storage_viz.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for storage_viz. +# This may be replaced when dependencies are built. diff --git a/build/CMakeFiles/storage_viz.dir/flags.make b/build/CMakeFiles/storage_viz.dir/flags.make new file mode 100644 index 0000000..8e196b5 --- /dev/null +++ b/build/CMakeFiles/storage_viz.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.28 + +# compile CXX with /usr/bin/c++ +CXX_DEFINES = + +CXX_INCLUDES = -I/home/isaac/database-internals + +CXX_FLAGS = -std=gnu++20 + diff --git a/build/CMakeFiles/storage_viz.dir/link.txt b/build/CMakeFiles/storage_viz.dir/link.txt new file mode 100644 index 0000000..e010a33 --- /dev/null +++ b/build/CMakeFiles/storage_viz.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o -o storage_viz libstorage_logic.a diff --git a/build/CMakeFiles/storage_viz.dir/progress.make b/build/CMakeFiles/storage_viz.dir/progress.make new file mode 100644 index 0000000..48b3d8a --- /dev/null +++ b/build/CMakeFiles/storage_viz.dir/progress.make @@ -0,0 +1,3 @@ +CMAKE_PROGRESS_1 = 19 +CMAKE_PROGRESS_2 = 20 + diff --git a/build/CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o b/build/CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..7c531bc7394b2e6e36b119712021d4f0f34c81be GIT binary patch literal 168016 zcmeFa4}4ZfmH&V9r!8$MjV-pZrR@WyHf^y@AQY&$4JB!zP1`I)WnJ8dkUTV@AxV=5 z3I*F}QBhf!T2xkPMa31ADk^GGRNSKCSKLL5iYvN-qM~J8YEeO9`JFR!&V4@5%$@v$ zy88WnpI7PJyzjYZ&YU@OX71ekB#+e8-d|scl>4OoDV0By^^QkJEKUBi>W+Ij?bp@9625$<+)OxC*}E64wd5zs2nE87fM+|<;&#wA}TMI z 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 VodsV@{1&{~0LR1NA3x0a{THo{dF}uJ literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o.d b/build/CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o.d new file mode 100644 index 0000000..c067fbd --- /dev/null +++ b/build/CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o.d @@ -0,0 +1,240 @@ +CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: \ + /home/isaac/database-internals/tests/storage_viz.cpp \ + /usr/include/stdc-predef.h \ + /home/isaac/database-internals/storage/disk_manager.h \ + /home/isaac/database-internals/common/types.h \ + /usr/include/c++/13/cstdint \ + /usr/include/aarch64-linux-gnu/c++/13/bits/c++config.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/os_defines.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/aarch64-linux-gnu/bits/wordsize.h \ + /usr/include/aarch64-linux-gnu/bits/timesize.h \ + /usr/include/aarch64-linux-gnu/sys/cdefs.h \ + /usr/include/aarch64-linux-gnu/bits/long-double.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs.h \ + /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/cpu_defines.h \ + /usr/include/c++/13/pstl/pstl_config.h \ + /usr/lib/gcc/aarch64-linux-gnu/13/include/stdint.h /usr/include/stdint.h \ + /usr/include/aarch64-linux-gnu/bits/libc-header-start.h \ + /usr/include/aarch64-linux-gnu/bits/types.h \ + /usr/include/aarch64-linux-gnu/bits/typesizes.h \ + /usr/include/aarch64-linux-gnu/bits/time64.h \ + /usr/include/aarch64-linux-gnu/bits/wchar.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-intn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-uintn.h \ + /usr/include/aarch64-linux-gnu/bits/stdint-least.h \ + /usr/include/c++/13/limits \ + /home/isaac/database-internals/common/config.h \ + /home/isaac/database-internals/storage/freelist_page.h \ + /usr/include/c++/13/cstddef \ + /usr/lib/gcc/aarch64-linux-gnu/13/include/stddef.h \ + /usr/include/c++/13/cassert /usr/include/assert.h \ + /usr/include/c++/13/string /usr/include/c++/13/bits/requires_hosted.h \ + /usr/include/c++/13/bits/stringfwd.h \ + /usr/include/c++/13/bits/memoryfwd.h \ + /usr/include/c++/13/bits/char_traits.h \ + /usr/include/c++/13/bits/postypes.h /usr/include/c++/13/cwchar \ + /usr/include/wchar.h /usr/include/aarch64-linux-gnu/bits/floatn.h \ + /usr/include/aarch64-linux-gnu/bits/floatn-common.h \ + /usr/lib/gcc/aarch64-linux-gnu/13/include/stdarg.h \ + /usr/include/aarch64-linux-gnu/bits/types/wint_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/locale_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__locale_t.h \ + /usr/include/c++/13/type_traits /usr/include/c++/13/compare \ + /usr/include/c++/13/concepts /usr/include/c++/13/bits/stl_construct.h \ + /usr/include/c++/13/new /usr/include/c++/13/bits/exception.h \ + /usr/include/c++/13/bits/move.h \ + /usr/include/c++/13/bits/stl_iterator_base_types.h \ + /usr/include/c++/13/bits/iterator_concepts.h \ + /usr/include/c++/13/bits/ptr_traits.h \ + /usr/include/c++/13/bits/ranges_cmp.h \ + /usr/include/c++/13/bits/stl_iterator_base_funcs.h \ + /usr/include/c++/13/bits/concept_check.h \ + /usr/include/c++/13/debug/assertions.h \ + /usr/include/c++/13/bits/allocator.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/c++allocator.h \ + /usr/include/c++/13/bits/new_allocator.h \ + /usr/include/c++/13/bits/functexcept.h \ + /usr/include/c++/13/bits/exception_defines.h \ + /usr/include/c++/13/bits/cpp_type_traits.h \ + /usr/include/c++/13/bits/localefwd.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/c++locale.h \ + /usr/include/c++/13/clocale /usr/include/locale.h \ + /usr/include/aarch64-linux-gnu/bits/locale.h /usr/include/c++/13/iosfwd \ + /usr/include/c++/13/cctype /usr/include/ctype.h \ + /usr/include/aarch64-linux-gnu/bits/endian.h \ + /usr/include/aarch64-linux-gnu/bits/endianness.h \ + /usr/include/c++/13/bits/ostream_insert.h \ + /usr/include/c++/13/bits/cxxabi_forced.h \ + /usr/include/c++/13/bits/stl_iterator.h \ + /usr/include/c++/13/ext/type_traits.h \ + /usr/include/c++/13/bits/stl_function.h \ + /usr/include/c++/13/backward/binders.h \ + /usr/include/c++/13/ext/numeric_traits.h \ + /usr/include/c++/13/bits/stl_algobase.h \ + /usr/include/c++/13/bits/stl_pair.h /usr/include/c++/13/bits/utility.h \ + /usr/include/c++/13/debug/debug.h \ + /usr/include/c++/13/bits/predefined_ops.h /usr/include/c++/13/bit \ + /usr/include/c++/13/bits/refwrap.h /usr/include/c++/13/bits/invoke.h \ + /usr/include/c++/13/bits/range_access.h \ + /usr/include/c++/13/initializer_list \ + /usr/include/c++/13/bits/basic_string.h \ + /usr/include/c++/13/ext/alloc_traits.h \ + /usr/include/c++/13/bits/alloc_traits.h /usr/include/c++/13/string_view \ + /usr/include/c++/13/bits/functional_hash.h \ + /usr/include/c++/13/bits/hash_bytes.h \ + /usr/include/c++/13/bits/ranges_base.h \ + /usr/include/c++/13/bits/max_size_type.h /usr/include/c++/13/numbers \ + /usr/include/c++/13/bits/string_view.tcc \ + /usr/include/c++/13/ext/string_conversions.h /usr/include/c++/13/cstdlib \ + /usr/include/stdlib.h /usr/include/aarch64-linux-gnu/bits/waitflags.h \ + /usr/include/aarch64-linux-gnu/bits/waitstatus.h \ + /usr/include/aarch64-linux-gnu/sys/types.h \ + /usr/include/aarch64-linux-gnu/bits/types/clock_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/clockid_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/time_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/timer_t.h \ + /usr/include/endian.h /usr/include/aarch64-linux-gnu/bits/byteswap.h \ + /usr/include/aarch64-linux-gnu/bits/uintn-identity.h \ + /usr/include/aarch64-linux-gnu/sys/select.h \ + /usr/include/aarch64-linux-gnu/bits/select.h \ + /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timeval.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h \ + /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h \ + /usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h \ + /usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h \ + /usr/include/aarch64-linux-gnu/bits/struct_mutex.h \ + /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h \ + /usr/include/alloca.h /usr/include/aarch64-linux-gnu/bits/stdlib-float.h \ + /usr/include/c++/13/bits/std_abs.h /usr/include/c++/13/cstdio \ + /usr/include/stdio.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/__fpos64_t.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_FILE.h \ + /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h \ + /usr/include/aarch64-linux-gnu/bits/stdio_lim.h \ + /usr/include/c++/13/cerrno /usr/include/errno.h \ + /usr/include/aarch64-linux-gnu/bits/errno.h /usr/include/linux/errno.h \ + /usr/include/aarch64-linux-gnu/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/aarch64-linux-gnu/bits/types/error_t.h \ + /usr/include/c++/13/bits/charconv.h \ + /usr/include/c++/13/bits/basic_string.tcc \ + /usr/include/c++/13/bits/memory_resource.h \ + /usr/include/c++/13/bits/uses_allocator.h \ + /usr/include/c++/13/bits/uses_allocator_args.h /usr/include/c++/13/tuple \ + /usr/include/c++/13/bits/ranges_util.h /usr/include/c++/13/unordered_set \ + /usr/include/c++/13/bits/unordered_set.h \ + /usr/include/c++/13/bits/hashtable.h \ + /usr/include/c++/13/bits/hashtable_policy.h \ + /usr/include/c++/13/ext/aligned_buffer.h \ + /usr/include/c++/13/bits/enable_special_members.h \ + /usr/include/c++/13/bits/node_handle.h \ + /usr/include/c++/13/bits/erase_if.h /usr/include/c++/13/iostream \ + /usr/include/c++/13/ostream /usr/include/c++/13/ios \ + /usr/include/c++/13/exception /usr/include/c++/13/bits/exception_ptr.h \ + /usr/include/c++/13/bits/cxxabi_init_exception.h \ + /usr/include/c++/13/typeinfo /usr/include/c++/13/bits/nested_exception.h \ + /usr/include/c++/13/bits/ios_base.h /usr/include/c++/13/ext/atomicity.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/gthr.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/gthr-default.h \ + /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/aarch64-linux-gnu/bits/sched.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_sched_param.h \ + /usr/include/aarch64-linux-gnu/bits/cpu-set.h /usr/include/time.h \ + /usr/include/aarch64-linux-gnu/bits/time.h \ + /usr/include/aarch64-linux-gnu/bits/timex.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_tm.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h \ + /usr/include/aarch64-linux-gnu/bits/setjmp.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct___jmp_buf_tag.h \ + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/atomic_word.h \ + /usr/include/aarch64-linux-gnu/sys/single_threaded.h \ + /usr/include/c++/13/bits/locale_classes.h \ + /usr/include/c++/13/bits/locale_classes.tcc \ + /usr/include/c++/13/system_error \ + /usr/include/aarch64-linux-gnu/c++/13/bits/error_constants.h \ + /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf \ + /usr/include/c++/13/bits/streambuf.tcc \ + /usr/include/c++/13/bits/basic_ios.h \ + /usr/include/c++/13/bits/locale_facets.h /usr/include/c++/13/cwctype \ + /usr/include/wctype.h /usr/include/aarch64-linux-gnu/bits/wctype-wchar.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/ctype_base.h \ + /usr/include/c++/13/bits/streambuf_iterator.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/ctype_inline.h \ + /usr/include/c++/13/bits/locale_facets.tcc \ + /usr/include/c++/13/bits/basic_ios.tcc \ + /usr/include/c++/13/bits/ostream.tcc /usr/include/c++/13/istream \ + /usr/include/c++/13/bits/istream.tcc /usr/include/c++/13/fstream \ + /usr/include/c++/13/bits/codecvt.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/basic_file.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/c++io.h \ + /usr/include/c++/13/bits/fstream.tcc /usr/include/c++/13/filesystem \ + /usr/include/c++/13/bits/fs_fwd.h /usr/include/c++/13/bits/chrono.h \ + /usr/include/c++/13/ratio /usr/include/c++/13/ctime \ + /usr/include/c++/13/bits/parse_numbers.h \ + /usr/include/c++/13/bits/fs_path.h /usr/include/c++/13/locale \ + /usr/include/c++/13/bits/locale_facets_nonio.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/time_members.h \ + /usr/include/aarch64-linux-gnu/c++/13/bits/messages_members.h \ + /usr/include/libintl.h /usr/include/c++/13/bits/locale_facets_nonio.tcc \ + /usr/include/c++/13/bits/locale_conv.h /usr/include/c++/13/iomanip \ + /usr/include/c++/13/bits/quoted_string.h /usr/include/c++/13/sstream \ + /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/codecvt \ + /usr/include/c++/13/ext/concurrence.h \ + /usr/include/c++/13/bits/shared_ptr.h \ + /usr/include/c++/13/bits/shared_ptr_base.h \ + /usr/include/c++/13/bits/allocated_ptr.h \ + /usr/include/c++/13/bits/unique_ptr.h /usr/include/c++/13/bits/align.h \ + /usr/include/c++/13/bits/stl_uninitialized.h \ + /usr/include/c++/13/bits/fs_dir.h /usr/include/c++/13/bits/fs_ops.h \ + /usr/include/fcntl.h /usr/include/aarch64-linux-gnu/bits/fcntl.h \ + /usr/include/aarch64-linux-gnu/bits/fcntl-linux.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_iovec.h \ + /usr/include/linux/falloc.h /usr/include/aarch64-linux-gnu/bits/stat.h \ + /usr/include/aarch64-linux-gnu/bits/struct_stat.h /usr/include/unistd.h \ + /usr/include/aarch64-linux-gnu/bits/posix_opt.h \ + /usr/include/aarch64-linux-gnu/bits/environments.h \ + /usr/include/aarch64-linux-gnu/bits/confname.h \ + /usr/include/aarch64-linux-gnu/bits/getopt_posix.h \ + /usr/include/aarch64-linux-gnu/bits/getopt_core.h \ + /usr/include/aarch64-linux-gnu/bits/unistd_ext.h \ + /usr/include/linux/close_range.h \ + /usr/include/aarch64-linux-gnu/sys/stat.h \ + /usr/include/aarch64-linux-gnu/bits/statx.h /usr/include/linux/stat.h \ + /usr/include/linux/types.h /usr/include/aarch64-linux-gnu/asm/types.h \ + /usr/include/asm-generic/types.h /usr/include/asm-generic/int-ll64.h \ + /usr/include/aarch64-linux-gnu/asm/bitsperlong.h \ + /usr/include/asm-generic/bitsperlong.h /usr/include/linux/posix_types.h \ + /usr/include/linux/stddef.h \ + /usr/include/aarch64-linux-gnu/asm/posix_types.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/aarch64-linux-gnu/bits/statx-generic.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_statx_timestamp.h \ + /usr/include/aarch64-linux-gnu/bits/types/struct_statx.h \ + /usr/include/string.h /usr/include/strings.h \ + /home/isaac/database-internals/storage/slotted_page.h \ + /usr/include/c++/13/optional /usr/include/c++/13/span \ + /usr/include/c++/13/array /usr/include/c++/13/cstring \ + /usr/include/c++/13/vector /usr/include/c++/13/bits/stl_vector.h \ + /usr/include/c++/13/bits/stl_bvector.h \ + /usr/include/c++/13/bits/vector.tcc /usr/include/c++/13/algorithm \ + /usr/include/c++/13/bits/stl_algo.h \ + /usr/include/c++/13/bits/algorithmfwd.h \ + /usr/include/c++/13/bits/stl_heap.h \ + /usr/include/c++/13/bits/uniform_int_dist.h \ + /usr/include/c++/13/bits/stl_tempbuf.h \ + /usr/include/c++/13/bits/ranges_algo.h \ + /usr/include/c++/13/bits/ranges_algobase.h \ + /usr/include/c++/13/pstl/glue_algorithm_defs.h \ + /usr/include/c++/13/pstl/execution_defs.h \ + /home/isaac/database-internals/storage/page.h diff --git a/build/Makefile b/build/Makefile index 95449ec..426df9b 100644 --- a/build/Makefile +++ b/build/Makefile @@ -185,17 +185,17 @@ storage_logic/fast: .PHONY : storage_logic/fast #============================================================================= -# Target rules for targets named Storage +# Target rules for targets named storage_viz # Build rule for target. -Storage: cmake_check_build_system - $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 Storage -.PHONY : Storage +storage_viz: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 storage_viz +.PHONY : storage_viz # fast build rule for target. -Storage/fast: - $(MAKE) $(MAKESILENT) -f CMakeFiles/Storage.dir/build.make CMakeFiles/Storage.dir/build -.PHONY : Storage/fast +storage_viz/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/storage_viz.dir/build.make CMakeFiles/storage_viz.dir/build +.PHONY : storage_viz/fast #============================================================================= # Target rules for targets named storage_tests @@ -262,30 +262,6 @@ gtest_main/fast: $(MAKE) $(MAKESILENT) -f _deps/googletest-build/googletest/CMakeFiles/gtest_main.dir/build.make _deps/googletest-build/googletest/CMakeFiles/gtest_main.dir/build .PHONY : gtest_main/fast -main.o: main.cpp.o -.PHONY : main.o - -# target to build an object file -main.cpp.o: - $(MAKE) $(MAKESILENT) -f CMakeFiles/Storage.dir/build.make CMakeFiles/Storage.dir/main.cpp.o -.PHONY : main.cpp.o - -main.i: main.cpp.i -.PHONY : main.i - -# target to preprocess a source file -main.cpp.i: - $(MAKE) $(MAKESILENT) -f CMakeFiles/Storage.dir/build.make CMakeFiles/Storage.dir/main.cpp.i -.PHONY : main.cpp.i - -main.s: main.cpp.s -.PHONY : main.s - -# target to generate assembly for a file -main.cpp.s: - $(MAKE) $(MAKESILENT) -f CMakeFiles/Storage.dir/build.make CMakeFiles/Storage.dir/main.cpp.s -.PHONY : main.cpp.s - storage/disk_manager.o: storage/disk_manager.cpp.o .PHONY : storage/disk_manager.o @@ -478,6 +454,30 @@ tests/storage_test.cpp.s: $(MAKE) $(MAKESILENT) -f CMakeFiles/storage_tests.dir/build.make CMakeFiles/storage_tests.dir/tests/storage_test.cpp.s .PHONY : tests/storage_test.cpp.s +tests/storage_viz.o: tests/storage_viz.cpp.o +.PHONY : tests/storage_viz.o + +# target to build an object file +tests/storage_viz.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/storage_viz.dir/build.make CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o +.PHONY : tests/storage_viz.cpp.o + +tests/storage_viz.i: tests/storage_viz.cpp.i +.PHONY : tests/storage_viz.i + +# target to preprocess a source file +tests/storage_viz.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/storage_viz.dir/build.make CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.i +.PHONY : tests/storage_viz.cpp.i + +tests/storage_viz.s: tests/storage_viz.cpp.s +.PHONY : tests/storage_viz.s + +# target to generate assembly for a file +tests/storage_viz.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/storage_viz.dir/build.make CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.s +.PHONY : tests/storage_viz.cpp.s + # Help Target help: @echo "The following are some of the valid targets for this Makefile:" @@ -491,16 +491,13 @@ help: @echo "... list_install_components" @echo "... rebuild_cache" @echo "... test" - @echo "... Storage" @echo "... gmock" @echo "... gmock_main" @echo "... gtest" @echo "... gtest_main" @echo "... storage_logic" @echo "... storage_tests" - @echo "... main.o" - @echo "... main.i" - @echo "... main.s" + @echo "... storage_viz" @echo "... storage/disk_manager.o" @echo "... storage/disk_manager.i" @echo "... storage/disk_manager.s" @@ -525,6 +522,9 @@ help: @echo "... tests/storage_test.o" @echo "... tests/storage_test.i" @echo "... tests/storage_test.s" + @echo "... tests/storage_viz.o" + @echo "... tests/storage_viz.i" + @echo "... tests/storage_viz.s" .PHONY : help diff --git a/build/Storage b/build/Storage index 01ddb2860023bba78145c4873343d41bf002d72e..b1da7d37a55f90677100359e9259dce9c54720f3 100755 GIT binary patch literal 92752 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 hoaV=ks(ZpE)_?j3pUbk>ak30QX}ddLi4da84D z!Mayde%|Ar{<}@v@&4z}J^FF{g@e~;AN=d@)5q^kEaiFg95^5QaAAL0wy$%aj>r9< zwIs|kGhO45B+NCGLN_ePHbQ27jl@~fR@KnAE}}oYh|X(F(iJVdu4GiC_AQI(#t-Wr+&btR3V`qvb&yZ8u%VlrAnRj~=H?u*lr?0o8 zbN6nmHPx1CZ83h+YDu-W%~zXmlNHBluj^Pxs8E=@?M^TAsJgkB-r}Nt+||kv6`L>=t9*pQOj|dCIl!Z#^?M#Y`n) z&l*}6$3^|u8S{trmmYefefjqvU3aPdv6smI0>yS*>Y2&-vGMs>9&^i0%<*?V$B&ko znX72rJss)W(=l_KKhLS2nL`xkk5iYPd5-4)HeE?`Xy={|bNffj(lfIMUq1FC<>C2Q z8xn8*iPmJOU)QDkqEbc<^JxRM2k1IW+77a&y{Ua=@~OI~6CIDm```KV8!Jg6nLjVS%l$Nu@Hyq2kJB|p z@nM}^Q9u9$KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck) z1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`; zKmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck) z1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`; zKmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l z00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck)1V8`;KmY_l00ck) z1VG^bg~0fdV5MoXFiue?z4I z@1M*SS(=Ck9WsnLmI&IH2gaO~{wt(?O6)SR*NMGatQtvUCgy_qNgA_999D~!<(O-w zJs}fO{cK&(q3fCyzolYz{I$|nzmMmF_0j0Q^og_&OTIa2>%69P@iHp3cs%CBJlcW~AVaB%51Pt*MPon@0R*%lBH^QXAV+&0m&| z|CBmmVrH`f3^^xgtbv+(!i?6`>*mj4D2+*&%jVBtrGEMRIjz)}7~Q{0z24})SL#cR zp07&%3Zv(+QeS5Deyr4&8{Mx;eT6xsH&Uo0VOAQwk3%x8_eyiJ#=a&@gL$*2-e?;1 zz=skg%qpYLg^*17uQK{PsMJ>*Jy(_b)${jnrG5=Ht2Z)1cX2~aUGLI`Ec{fcGat?^ zC_yc_udB}qKM!NH0zE%T3FMg=Q_VTZ(`YtC_yl@2XMUd6nvdo`5!uHi`NwHo)%AH6 z_*b8kK(F5SrcWJrnW>MAt9gz`&O_U$=2>A*NAhfu`A7A3(M=?O!0j4(m{#ulfcWd@ z8a4fLKmCt|&O`7iU`&vw`W)`}{j2q-NN3La`ROO8e?gw=bN-Bs?JHD?(evT8i2iNS zUytaz-lIAo<>j*2IZ^);5&v;Nf1`=&oU0a}r~L_6Kd+wm^L#iLea`$w^waV^f%9?+ z_*6evPm_NG^+umF574np`cakV^KJ5P3_Vxp_l5LTbgq=YF8h5y|F!12$T|Or^Teyq zKfA3Drd;v=deT?LtMB(D>lL0s;~S(m(ESn}_s&K1qMv8sxySp;rI+=1_48*t={)}^ zw{J=QsP6hY?*dgqWxx1G=Xr3EJU<}4)_Q-ri2e%c$G|R?aJy%9cGs35&z~@{Z@^QX6Y~SbN=qYuTleJ!UxtuQX=%mh552 z%8d*Uk5NddWs#>>;W}))g;aLmK4ab2*ZkGq{(IW{db_M0?LFOAZ* z)Sq`VS;}RXJd4xJyR^1ZXQo`%th^S*UQ4rE zEL$17?C_W+yENu+^ZsDO-Mg*UR9mXG#n_o*$(x@B&$M@78||c?M4ADg!vQDlealQYWwn@N%=HWo-;~yzAvb+=)!hI*N_Pcai=NdY9GlC#0fQe;3gA zfBhWPwEa}!cYTdNDHXL-;>cew`JG?m^&9^^qHDbVzM%G$#H)$&`wn&RySm2f`<>d= z5~%Z6KeZ1~Kfn8HTi*lK?vQw%Kl|wXMK%Yh!b~+@-xt+RildIN@w)zpCB8%a^u1E; zo=`mhh7yhcF=@<1zrO4Hr&=9H()e@LI@=%86^_^URJD89DO4Ilb*?^6S2$kZXVoSn z8F;6sUVeBsh>H4aTkWglc4a7D-`~eSWBgf))q9gi)bHOD60Zka z&zFv?=iofW@c!xi_4m99d2=7)q@kkmYA;e>IDX+yVwJ!1Ru+v@^#iJ~rsM1P)CNE6 z!u_KDK~`-U^C4AP+qfY4HI3)@?{Lxhu+_5{_Djq7CuPF?d+S!ZbpCo@@_UueJsdw> aAB?ax(y8OBZ{s5IvE_m1ztmA|H2&YdUC;vn diff --git a/build/Testing/Temporary/CTestCostData.txt b/build/Testing/Temporary/CTestCostData.txt index 46debfe..9b6fdf4 100644 --- a/build/Testing/Temporary/CTestCostData.txt +++ b/build/Testing/Temporary/CTestCostData.txt @@ -1,20 +1,21 @@ -PageTest.BasicSetup 5 0.000284571 -PageTest.InitialState 5 0.000189161 -PageTest.DataBufferAccess 5 0.000188719 -PageTest.SettersAndGetters 5 0.000191003 -PageTest.ResetTest 5 0.000179106 +PageTest.BasicSetup 6 0.000227158 +PageTest.InitialState 6 0.000152881 +PageTest.DataBufferAccess 6 0.000159867 +PageTest.SettersAndGetters 6 0.000174922 +PageTest.ResetTest 6 0.000164332 DiskManagerTest.ReadWritePageTest 0 0 DiskManagerTest.PersistenceTest 0 0 DiskManagerTest.FreelistTest 0 0 DiskManagerTest.OutOfBoundsRead 0 0 -SlottedPageTest.InitializationTest 1 0.000899283 -SlottedPageTest.InsertAndGetTest 0 0 -SlottedPageTest.DeleteRecordTest 0 0 -SlottedPageTest.UpdateRecordTest 0 0 -SlottedPageTest.CompactionTest 0 0 -SlottedPageTest.PageFullTest 1 0.00352905 +SlottedPageTest.InitializationTest 2 0.000471746 +SlottedPageTest.InsertAndGetTest 1 0.000949824 +SlottedPageTest.DeleteRecordTest 1 0.000999783 +SlottedPageTest.UpdateRecordTest 1 0.00131274 +SlottedPageTest.CompactionTest 1 0.000929199 +SlottedPageTest.PageFullTest 2 0.000450204 +DiskManagerTest.ConstructorDestroysExistingFile 1 0.00249389 +DiskManagerTest.InitializesNewFileCorrectly 1 0.0276052 +DiskManagerTest.StrictAllocationAndWriteTest 1 0.0559273 +DiskManagerTest.DeallocateAndReallocate 1 0.0406872 +DiskManagerTest.ReadOutOfBounds 1 0.0106706 --- -SlottedPageTest.InsertAndGetTest -SlottedPageTest.DeleteRecordTest -SlottedPageTest.UpdateRecordTest -SlottedPageTest.CompactionTest diff --git a/build/Testing/Temporary/LastTest.log b/build/Testing/Temporary/LastTest.log index 337dc95..f4004c1 100644 --- a/build/Testing/Temporary/LastTest.log +++ b/build/Testing/Temporary/LastTest.log @@ -1,10 +1,10 @@ -Start testing: Apr 14 15:22 UTC +Start testing: Apr 22 21:38 UTC ---------------------------------------------------------- -1/11 Testing: PageTest.BasicSetup -1/11 Test: PageTest.BasicSetup +1/16 Testing: PageTest.BasicSetup +1/16 Test: PageTest.BasicSetup Command: "/home/isaac/database-internals/build/storage_tests" "--gtest_filter=PageTest.BasicSetup" "--gtest_also_run_disabled_tests" Directory: /home/isaac/database-internals/build -"PageTest.BasicSetup" start time: Apr 14 15:22 UTC +"PageTest.BasicSetup" start time: Apr 22 21:38 UTC Output: ---------------------------------------------------------- Running main() from /home/isaac/database-internals/build/_deps/googletest-src/googletest/src/gtest_main.cc @@ -23,15 +23,15 @@ Note: Google Test filter = PageTest.BasicSetup Test time = 0.00 sec ---------------------------------------------------------- Test Passed. -"PageTest.BasicSetup" end time: Apr 14 15:22 UTC +"PageTest.BasicSetup" end time: Apr 22 21:38 UTC "PageTest.BasicSetup" time elapsed: 00:00:00 ---------------------------------------------------------- -2/11 Testing: PageTest.InitialState -2/11 Test: PageTest.InitialState +2/16 Testing: PageTest.InitialState +2/16 Test: PageTest.InitialState Command: "/home/isaac/database-internals/build/storage_tests" "--gtest_filter=PageTest.InitialState" "--gtest_also_run_disabled_tests" Directory: /home/isaac/database-internals/build -"PageTest.InitialState" start time: Apr 14 15:22 UTC +"PageTest.InitialState" start time: Apr 22 21:38 UTC Output: ---------------------------------------------------------- Running main() from /home/isaac/database-internals/build/_deps/googletest-src/googletest/src/gtest_main.cc @@ -50,15 +50,15 @@ Note: Google Test filter = PageTest.InitialState Test time = 0.00 sec ---------------------------------------------------------- Test Passed. -"PageTest.InitialState" end time: Apr 14 15:22 UTC +"PageTest.InitialState" end time: Apr 22 21:38 UTC "PageTest.InitialState" time elapsed: 00:00:00 ---------------------------------------------------------- -3/11 Testing: PageTest.DataBufferAccess -3/11 Test: PageTest.DataBufferAccess +3/16 Testing: PageTest.DataBufferAccess +3/16 Test: PageTest.DataBufferAccess Command: "/home/isaac/database-internals/build/storage_tests" "--gtest_filter=PageTest.DataBufferAccess" "--gtest_also_run_disabled_tests" Directory: /home/isaac/database-internals/build -"PageTest.DataBufferAccess" start time: Apr 14 15:22 UTC +"PageTest.DataBufferAccess" start time: Apr 22 21:38 UTC Output: ---------------------------------------------------------- Running main() from /home/isaac/database-internals/build/_deps/googletest-src/googletest/src/gtest_main.cc @@ -77,15 +77,15 @@ Note: Google Test filter = PageTest.DataBufferAccess Test time = 0.00 sec ---------------------------------------------------------- Test Passed. -"PageTest.DataBufferAccess" end time: Apr 14 15:22 UTC +"PageTest.DataBufferAccess" end time: Apr 22 21:38 UTC "PageTest.DataBufferAccess" time elapsed: 00:00:00 ---------------------------------------------------------- -4/11 Testing: PageTest.SettersAndGetters -4/11 Test: PageTest.SettersAndGetters +4/16 Testing: PageTest.SettersAndGetters +4/16 Test: PageTest.SettersAndGetters Command: "/home/isaac/database-internals/build/storage_tests" "--gtest_filter=PageTest.SettersAndGetters" "--gtest_also_run_disabled_tests" Directory: /home/isaac/database-internals/build -"PageTest.SettersAndGetters" start time: Apr 14 15:22 UTC +"PageTest.SettersAndGetters" start time: Apr 22 21:38 UTC Output: ---------------------------------------------------------- Running main() from /home/isaac/database-internals/build/_deps/googletest-src/googletest/src/gtest_main.cc @@ -104,15 +104,15 @@ Note: Google Test filter = PageTest.SettersAndGetters Test time = 0.00 sec ---------------------------------------------------------- Test Passed. -"PageTest.SettersAndGetters" end time: Apr 14 15:22 UTC +"PageTest.SettersAndGetters" end time: Apr 22 21:38 UTC "PageTest.SettersAndGetters" time elapsed: 00:00:00 ---------------------------------------------------------- -5/11 Testing: PageTest.ResetTest -5/11 Test: PageTest.ResetTest +5/16 Testing: PageTest.ResetTest +5/16 Test: PageTest.ResetTest Command: "/home/isaac/database-internals/build/storage_tests" "--gtest_filter=PageTest.ResetTest" "--gtest_also_run_disabled_tests" Directory: /home/isaac/database-internals/build -"PageTest.ResetTest" start time: Apr 14 15:22 UTC +"PageTest.ResetTest" start time: Apr 22 21:38 UTC Output: ---------------------------------------------------------- Running main() from /home/isaac/database-internals/build/_deps/googletest-src/googletest/src/gtest_main.cc @@ -131,15 +131,15 @@ Note: Google Test filter = PageTest.ResetTest Test time = 0.00 sec ---------------------------------------------------------- Test Passed. -"PageTest.ResetTest" end time: Apr 14 15:22 UTC +"PageTest.ResetTest" end time: Apr 22 21:38 UTC "PageTest.ResetTest" time elapsed: 00:00:00 ---------------------------------------------------------- -6/11 Testing: SlottedPageTest.InitializationTest -6/11 Test: SlottedPageTest.InitializationTest +6/16 Testing: SlottedPageTest.InitializationTest +6/16 Test: SlottedPageTest.InitializationTest Command: "/home/isaac/database-internals/build/storage_tests" "--gtest_filter=SlottedPageTest.InitializationTest" "--gtest_also_run_disabled_tests" Directory: /home/isaac/database-internals/build -"SlottedPageTest.InitializationTest" start time: Apr 14 15:22 UTC +"SlottedPageTest.InitializationTest" start time: Apr 22 21:38 UTC Output: ---------------------------------------------------------- Running main() from /home/isaac/database-internals/build/_deps/googletest-src/googletest/src/gtest_main.cc @@ -158,15 +158,15 @@ Note: Google Test filter = SlottedPageTest.InitializationTest Test time = 0.00 sec ---------------------------------------------------------- Test Passed. -"SlottedPageTest.InitializationTest" end time: Apr 14 15:22 UTC +"SlottedPageTest.InitializationTest" end time: Apr 22 21:38 UTC "SlottedPageTest.InitializationTest" time elapsed: 00:00:00 ---------------------------------------------------------- -7/11 Testing: SlottedPageTest.InsertAndGetTest -7/11 Test: SlottedPageTest.InsertAndGetTest +7/16 Testing: SlottedPageTest.InsertAndGetTest +7/16 Test: SlottedPageTest.InsertAndGetTest Command: "/home/isaac/database-internals/build/storage_tests" "--gtest_filter=SlottedPageTest.InsertAndGetTest" "--gtest_also_run_disabled_tests" Directory: /home/isaac/database-internals/build -"SlottedPageTest.InsertAndGetTest" start time: Apr 14 15:22 UTC +"SlottedPageTest.InsertAndGetTest" start time: Apr 22 21:38 UTC Output: ---------------------------------------------------------- Running main() from /home/isaac/database-internals/build/_deps/googletest-src/googletest/src/gtest_main.cc @@ -175,20 +175,31 @@ Note: Google Test filter = SlottedPageTest.InsertAndGetTest [----------] Global test environment set-up. [----------] 1 test from SlottedPageTest [ RUN ] SlottedPageTest.InsertAndGetTest -storage_tests: /home/isaac/database-internals/storage/slotted_page.cpp:130: std::optional SlottedPage::insertRecord(const char*, uint16_t): Assertion `slot_ptr != nullptr' failed. +Attempting to fetch slot_ptr w/ id: 0 returning 0xc4b7a896a060 +Fetched slot as: 0xc4b7a896a060 with attributes... (offset=4080,size=16 +Fetched slot as: 0xc4b7a896a060 with attributes... (offset=4080,size=16 +Attempting to fetch slot_ptr w/ id: 1 returning 0xc4b7a896a064 +Fetched slot as: 0xc4b7a896a060 with attributes... (offset=4080,size=16 +Fetched slot as: 0xc4b7a896a064 with attributes... (offset=4057,size=23 +[ OK ] SlottedPageTest.InsertAndGetTest (0 ms) +[----------] 1 test from SlottedPageTest (0 ms total) + +[----------] Global test environment tear-down +[==========] 1 test from 1 test suite ran. (0 ms total) +[ PASSED ] 1 test. -Test time = 1.13 sec +Test time = 0.00 sec ---------------------------------------------------------- -Test Failed. -"SlottedPageTest.InsertAndGetTest" end time: Apr 14 15:22 UTC -"SlottedPageTest.InsertAndGetTest" time elapsed: 00:00:01 +Test Passed. +"SlottedPageTest.InsertAndGetTest" end time: Apr 22 21:38 UTC +"SlottedPageTest.InsertAndGetTest" time elapsed: 00:00:00 ---------------------------------------------------------- -8/11 Testing: SlottedPageTest.DeleteRecordTest -8/11 Test: SlottedPageTest.DeleteRecordTest +8/16 Testing: SlottedPageTest.DeleteRecordTest +8/16 Test: SlottedPageTest.DeleteRecordTest Command: "/home/isaac/database-internals/build/storage_tests" "--gtest_filter=SlottedPageTest.DeleteRecordTest" "--gtest_also_run_disabled_tests" Directory: /home/isaac/database-internals/build -"SlottedPageTest.DeleteRecordTest" start time: Apr 14 15:22 UTC +"SlottedPageTest.DeleteRecordTest" start time: Apr 22 21:38 UTC Output: ---------------------------------------------------------- Running main() from /home/isaac/database-internals/build/_deps/googletest-src/googletest/src/gtest_main.cc @@ -197,20 +208,27 @@ Note: Google Test filter = SlottedPageTest.DeleteRecordTest [----------] Global test environment set-up. [----------] 1 test from SlottedPageTest [ RUN ] SlottedPageTest.DeleteRecordTest -storage_tests: /home/isaac/database-internals/storage/slotted_page.cpp:130: std::optional SlottedPage::insertRecord(const char*, uint16_t): Assertion `slot_ptr != nullptr' failed. +Attempting to fetch slot_ptr w/ id: 0 returning 0xc0b149ff7060 +Fetched slot as: 0xc0b149ff7060 with attributes... (offset=0,size=9 +[ OK ] SlottedPageTest.DeleteRecordTest (0 ms) +[----------] 1 test from SlottedPageTest (0 ms total) + +[----------] Global test environment tear-down +[==========] 1 test from 1 test suite ran. (0 ms total) +[ PASSED ] 1 test. -Test time = 1.12 sec +Test time = 0.00 sec ---------------------------------------------------------- -Test Failed. -"SlottedPageTest.DeleteRecordTest" end time: Apr 14 15:22 UTC -"SlottedPageTest.DeleteRecordTest" time elapsed: 00:00:01 +Test Passed. +"SlottedPageTest.DeleteRecordTest" end time: Apr 22 21:38 UTC +"SlottedPageTest.DeleteRecordTest" time elapsed: 00:00:00 ---------------------------------------------------------- -9/11 Testing: SlottedPageTest.UpdateRecordTest -9/11 Test: SlottedPageTest.UpdateRecordTest +9/16 Testing: SlottedPageTest.UpdateRecordTest +9/16 Test: SlottedPageTest.UpdateRecordTest Command: "/home/isaac/database-internals/build/storage_tests" "--gtest_filter=SlottedPageTest.UpdateRecordTest" "--gtest_also_run_disabled_tests" Directory: /home/isaac/database-internals/build -"SlottedPageTest.UpdateRecordTest" start time: Apr 14 15:22 UTC +"SlottedPageTest.UpdateRecordTest" start time: Apr 22 21:38 UTC Output: ---------------------------------------------------------- Running main() from /home/isaac/database-internals/build/_deps/googletest-src/googletest/src/gtest_main.cc @@ -219,20 +237,27 @@ Note: Google Test filter = SlottedPageTest.UpdateRecordTest [----------] Global test environment set-up. [----------] 1 test from SlottedPageTest [ RUN ] SlottedPageTest.UpdateRecordTest -storage_tests: /home/isaac/database-internals/storage/slotted_page.cpp:130: std::optional SlottedPage::insertRecord(const char*, uint16_t): Assertion `slot_ptr != nullptr' failed. +Attempting to fetch slot_ptr w/ id: 0 returning 0xadab84d8c060 +Fetched slot as: 0xadab84d8c060 with attributes... (offset=4088,size=8 +[ OK ] SlottedPageTest.UpdateRecordTest (0 ms) +[----------] 1 test from SlottedPageTest (0 ms total) + +[----------] Global test environment tear-down +[==========] 1 test from 1 test suite ran. (0 ms total) +[ PASSED ] 1 test. -Test time = 1.13 sec +Test time = 0.00 sec ---------------------------------------------------------- -Test Failed. -"SlottedPageTest.UpdateRecordTest" end time: Apr 14 15:22 UTC -"SlottedPageTest.UpdateRecordTest" time elapsed: 00:00:01 +Test Passed. +"SlottedPageTest.UpdateRecordTest" end time: Apr 22 21:38 UTC +"SlottedPageTest.UpdateRecordTest" time elapsed: 00:00:00 ---------------------------------------------------------- -10/11 Testing: SlottedPageTest.CompactionTest -10/11 Test: SlottedPageTest.CompactionTest +10/16 Testing: SlottedPageTest.CompactionTest +10/16 Test: SlottedPageTest.CompactionTest Command: "/home/isaac/database-internals/build/storage_tests" "--gtest_filter=SlottedPageTest.CompactionTest" "--gtest_also_run_disabled_tests" Directory: /home/isaac/database-internals/build -"SlottedPageTest.CompactionTest" start time: Apr 14 15:22 UTC +"SlottedPageTest.CompactionTest" start time: Apr 22 21:38 UTC Output: ---------------------------------------------------------- Running main() from /home/isaac/database-internals/build/_deps/googletest-src/googletest/src/gtest_main.cc @@ -241,20 +266,36 @@ Note: Google Test filter = SlottedPageTest.CompactionTest [----------] Global test environment set-up. [----------] 1 test from SlottedPageTest [ RUN ] SlottedPageTest.CompactionTest -storage_tests: /home/isaac/database-internals/storage/slotted_page.cpp:130: std::optional SlottedPage::insertRecord(const char*, uint16_t): Assertion `slot_ptr != nullptr' failed. +Attempting to fetch slot_ptr w/ id: 0 returning 0xabca10e20060 +Fetched slot as: 0xabca10e20060 with attributes... (offset=4085,size=11 +Fetched slot as: 0xabca10e20060 with attributes... (offset=4085,size=11 +Attempting to fetch slot_ptr w/ id: 1 returning 0xabca10e20064 +Fetched slot as: 0xabca10e20060 with attributes... (offset=4085,size=11 +Fetched slot as: 0xabca10e20064 with attributes... (offset=4062,size=23 +Fetched slot as: 0xabca10e20060 with attributes... (offset=4085,size=11 +Fetched slot as: 0xabca10e20064 with attributes... (offset=4062,size=23 +Attempting to fetch slot_ptr w/ id: 2 returning 0xabca10e20068 +Fetched slot as: 0xabca10e20060 with attributes... (offset=4085,size=11 +Fetched slot as: 0xabca10e20068 with attributes... (offset=4074,size=11 +[ OK ] SlottedPageTest.CompactionTest (0 ms) +[----------] 1 test from SlottedPageTest (0 ms total) + +[----------] Global test environment tear-down +[==========] 1 test from 1 test suite ran. (0 ms total) +[ PASSED ] 1 test. -Test time = 1.12 sec +Test time = 0.00 sec ---------------------------------------------------------- -Test Failed. -"SlottedPageTest.CompactionTest" end time: Apr 14 15:22 UTC -"SlottedPageTest.CompactionTest" time elapsed: 00:00:01 +Test Passed. +"SlottedPageTest.CompactionTest" end time: Apr 22 21:38 UTC +"SlottedPageTest.CompactionTest" time elapsed: 00:00:00 ---------------------------------------------------------- -11/11 Testing: SlottedPageTest.PageFullTest -11/11 Test: SlottedPageTest.PageFullTest +11/16 Testing: SlottedPageTest.PageFullTest +11/16 Test: SlottedPageTest.PageFullTest Command: "/home/isaac/database-internals/build/storage_tests" "--gtest_filter=SlottedPageTest.PageFullTest" "--gtest_also_run_disabled_tests" Directory: /home/isaac/database-internals/build -"SlottedPageTest.PageFullTest" start time: Apr 14 15:22 UTC +"SlottedPageTest.PageFullTest" start time: Apr 22 21:38 UTC Output: ---------------------------------------------------------- Running main() from /home/isaac/database-internals/build/_deps/googletest-src/googletest/src/gtest_main.cc @@ -273,8 +314,144 @@ Note: Google Test filter = SlottedPageTest.PageFullTest Test time = 0.00 sec ---------------------------------------------------------- Test Passed. -"SlottedPageTest.PageFullTest" end time: Apr 14 15:22 UTC +"SlottedPageTest.PageFullTest" end time: Apr 22 21:38 UTC "SlottedPageTest.PageFullTest" time elapsed: 00:00:00 ---------------------------------------------------------- -End testing: Apr 14 15:22 UTC +12/16 Testing: DiskManagerTest.ConstructorDestroysExistingFile +12/16 Test: DiskManagerTest.ConstructorDestroysExistingFile +Command: "/home/isaac/database-internals/build/storage_tests" "--gtest_filter=DiskManagerTest.ConstructorDestroysExistingFile" "--gtest_also_run_disabled_tests" +Directory: /home/isaac/database-internals/build +"DiskManagerTest.ConstructorDestroysExistingFile" start time: Apr 22 21:38 UTC +Output: +---------------------------------------------------------- +Running main() from /home/isaac/database-internals/build/_deps/googletest-src/googletest/src/gtest_main.cc +Note: Google Test filter = DiskManagerTest.ConstructorDestroysExistingFile +[==========] Running 1 test from 1 test suite. +[----------] Global test environment set-up. +[----------] 1 test from DiskManagerTest +[ RUN ] DiskManagerTest.ConstructorDestroysExistingFile +[EXPECTED ERROR CAUGHT]: File is too small to be a valid database! +[ OK ] DiskManagerTest.ConstructorDestroysExistingFile (1 ms) +[----------] 1 test from DiskManagerTest (1 ms total) + +[----------] Global test environment tear-down +[==========] 1 test from 1 test suite ran. (1 ms total) +[ PASSED ] 1 test. + +Test time = 0.00 sec +---------------------------------------------------------- +Test Passed. +"DiskManagerTest.ConstructorDestroysExistingFile" end time: Apr 22 21:38 UTC +"DiskManagerTest.ConstructorDestroysExistingFile" time elapsed: 00:00:00 +---------------------------------------------------------- + +13/16 Testing: DiskManagerTest.InitializesNewFileCorrectly +13/16 Test: DiskManagerTest.InitializesNewFileCorrectly +Command: "/home/isaac/database-internals/build/storage_tests" "--gtest_filter=DiskManagerTest.InitializesNewFileCorrectly" "--gtest_also_run_disabled_tests" +Directory: /home/isaac/database-internals/build +"DiskManagerTest.InitializesNewFileCorrectly" start time: Apr 22 21:38 UTC +Output: +---------------------------------------------------------- +Running main() from /home/isaac/database-internals/build/_deps/googletest-src/googletest/src/gtest_main.cc +Note: Google Test filter = DiskManagerTest.InitializesNewFileCorrectly +[==========] Running 1 test from 1 test suite. +[----------] Global test environment set-up. +[----------] 1 test from DiskManagerTest +[ RUN ] DiskManagerTest.InitializesNewFileCorrectly +[ OK ] DiskManagerTest.InitializesNewFileCorrectly (26 ms) +[----------] 1 test from DiskManagerTest (26 ms total) + +[----------] Global test environment tear-down +[==========] 1 test from 1 test suite ran. (26 ms total) +[ PASSED ] 1 test. + +Test time = 0.03 sec +---------------------------------------------------------- +Test Passed. +"DiskManagerTest.InitializesNewFileCorrectly" end time: Apr 22 21:38 UTC +"DiskManagerTest.InitializesNewFileCorrectly" time elapsed: 00:00:00 +---------------------------------------------------------- + +14/16 Testing: DiskManagerTest.StrictAllocationAndWriteTest +14/16 Test: DiskManagerTest.StrictAllocationAndWriteTest +Command: "/home/isaac/database-internals/build/storage_tests" "--gtest_filter=DiskManagerTest.StrictAllocationAndWriteTest" "--gtest_also_run_disabled_tests" +Directory: /home/isaac/database-internals/build +"DiskManagerTest.StrictAllocationAndWriteTest" start time: Apr 22 21:38 UTC +Output: +---------------------------------------------------------- +Running main() from /home/isaac/database-internals/build/_deps/googletest-src/googletest/src/gtest_main.cc +Note: Google Test filter = DiskManagerTest.StrictAllocationAndWriteTest +[==========] Running 1 test from 1 test suite. +[----------] Global test environment set-up. +[----------] 1 test from DiskManagerTest +[ RUN ] DiskManagerTest.StrictAllocationAndWriteTest +[ OK ] DiskManagerTest.StrictAllocationAndWriteTest (54 ms) +[----------] 1 test from DiskManagerTest (54 ms total) + +[----------] Global test environment tear-down +[==========] 1 test from 1 test suite ran. (54 ms total) +[ PASSED ] 1 test. + +Test time = 0.06 sec +---------------------------------------------------------- +Test Passed. +"DiskManagerTest.StrictAllocationAndWriteTest" end time: Apr 22 21:38 UTC +"DiskManagerTest.StrictAllocationAndWriteTest" time elapsed: 00:00:00 +---------------------------------------------------------- + +15/16 Testing: DiskManagerTest.DeallocateAndReallocate +15/16 Test: DiskManagerTest.DeallocateAndReallocate +Command: "/home/isaac/database-internals/build/storage_tests" "--gtest_filter=DiskManagerTest.DeallocateAndReallocate" "--gtest_also_run_disabled_tests" +Directory: /home/isaac/database-internals/build +"DiskManagerTest.DeallocateAndReallocate" start time: Apr 22 21:38 UTC +Output: +---------------------------------------------------------- +Running main() from /home/isaac/database-internals/build/_deps/googletest-src/googletest/src/gtest_main.cc +Note: Google Test filter = DiskManagerTest.DeallocateAndReallocate +[==========] Running 1 test from 1 test suite. +[----------] Global test environment set-up. +[----------] 1 test from DiskManagerTest +[ RUN ] DiskManagerTest.DeallocateAndReallocate +[ OK ] DiskManagerTest.DeallocateAndReallocate (39 ms) +[----------] 1 test from DiskManagerTest (39 ms total) + +[----------] Global test environment tear-down +[==========] 1 test from 1 test suite ran. (39 ms total) +[ PASSED ] 1 test. + +Test time = 0.04 sec +---------------------------------------------------------- +Test Passed. +"DiskManagerTest.DeallocateAndReallocate" end time: Apr 22 21:38 UTC +"DiskManagerTest.DeallocateAndReallocate" time elapsed: 00:00:00 +---------------------------------------------------------- + +16/16 Testing: DiskManagerTest.ReadOutOfBounds +16/16 Test: DiskManagerTest.ReadOutOfBounds +Command: "/home/isaac/database-internals/build/storage_tests" "--gtest_filter=DiskManagerTest.ReadOutOfBounds" "--gtest_also_run_disabled_tests" +Directory: /home/isaac/database-internals/build +"DiskManagerTest.ReadOutOfBounds" start time: Apr 22 21:38 UTC +Output: +---------------------------------------------------------- +Running main() from /home/isaac/database-internals/build/_deps/googletest-src/googletest/src/gtest_main.cc +Note: Google Test filter = DiskManagerTest.ReadOutOfBounds +[==========] Running 1 test from 1 test suite. +[----------] Global test environment set-up. +[----------] 1 test from DiskManagerTest +[ RUN ] DiskManagerTest.ReadOutOfBounds +[ OK ] DiskManagerTest.ReadOutOfBounds (8 ms) +[----------] 1 test from DiskManagerTest (8 ms total) + +[----------] Global test environment tear-down +[==========] 1 test from 1 test suite ran. (8 ms total) +[ PASSED ] 1 test. + +Test time = 0.01 sec +---------------------------------------------------------- +Test Passed. +"DiskManagerTest.ReadOutOfBounds" end time: Apr 22 21:38 UTC +"DiskManagerTest.ReadOutOfBounds" time elapsed: 00:00:00 +---------------------------------------------------------- + +End testing: Apr 22 21:38 UTC diff --git a/build/_deps/googletest-build/googlemock/CMakeFiles/gmock.dir/progress.make b/build/_deps/googletest-build/googlemock/CMakeFiles/gmock.dir/progress.make index 8c8fb6f..abadeb0 100644 --- a/build/_deps/googletest-build/googlemock/CMakeFiles/gmock.dir/progress.make +++ b/build/_deps/googletest-build/googlemock/CMakeFiles/gmock.dir/progress.make @@ -1,3 +1,3 @@ -CMAKE_PROGRESS_1 = 3 -CMAKE_PROGRESS_2 = 4 +CMAKE_PROGRESS_1 = 1 +CMAKE_PROGRESS_2 = 2 diff --git a/build/_deps/googletest-build/googlemock/CMakeFiles/gmock_main.dir/progress.make b/build/_deps/googletest-build/googlemock/CMakeFiles/gmock_main.dir/progress.make index 3a86673..8c8fb6f 100644 --- a/build/_deps/googletest-build/googlemock/CMakeFiles/gmock_main.dir/progress.make +++ b/build/_deps/googletest-build/googlemock/CMakeFiles/gmock_main.dir/progress.make @@ -1,3 +1,3 @@ -CMAKE_PROGRESS_1 = 5 -CMAKE_PROGRESS_2 = 6 +CMAKE_PROGRESS_1 = 3 +CMAKE_PROGRESS_2 = 4 diff --git a/build/_deps/googletest-build/googletest/CMakeFiles/gtest.dir/progress.make b/build/_deps/googletest-build/googletest/CMakeFiles/gtest.dir/progress.make index 72bb7dd..3a86673 100644 --- a/build/_deps/googletest-build/googletest/CMakeFiles/gtest.dir/progress.make +++ b/build/_deps/googletest-build/googletest/CMakeFiles/gtest.dir/progress.make @@ -1,3 +1,3 @@ -CMAKE_PROGRESS_1 = 7 -CMAKE_PROGRESS_2 = 8 +CMAKE_PROGRESS_1 = 5 +CMAKE_PROGRESS_2 = 6 diff --git a/build/_deps/googletest-build/googletest/CMakeFiles/gtest_main.dir/progress.make b/build/_deps/googletest-build/googletest/CMakeFiles/gtest_main.dir/progress.make index b700c2c..72bb7dd 100644 --- a/build/_deps/googletest-build/googletest/CMakeFiles/gtest_main.dir/progress.make +++ b/build/_deps/googletest-build/googletest/CMakeFiles/gtest_main.dir/progress.make @@ -1,3 +1,3 @@ -CMAKE_PROGRESS_1 = 9 -CMAKE_PROGRESS_2 = 10 +CMAKE_PROGRESS_1 = 7 +CMAKE_PROGRESS_2 = 8 diff --git a/build/storage_viz b/build/storage_viz new file mode 100755 index 0000000000000000000000000000000000000000..e63c6083bbfd9931bda2b1dddf0ac38f5f2eac9e GIT binary patch literal 192896 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 OpTAWK$`AQ|TK^xk%ZT^@ literal 0 HcmV?d00001 diff --git a/demo.db b/demo.db new file mode 100644 index 0000000000000000000000000000000000000000..d9089a19b515d7c3753fc3b6445825903106130a GIT binary patch literal 16384 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 Bbddl6 literal 0 HcmV?d00001 diff --git a/demo_records.db b/demo_records.db new file mode 100644 index 0000000000000000000000000000000000000000..252073d7186f5de3838614186d973265ab02c3c0 GIT binary patch literal 12288 zcmeI1J!n%=6vuDWY8^s4s61Q5pdI2MMyL>>l?+u;9G>7%5TVh&iXYTa#VRO9?NHD` zG(!-SR74yEqe)8cDRC`Bk0hdt=+r8v(sdT*k`=#WQw93OenW4;gI zi)4c0*$xe^m@zIZkNtL?6WNWXo|B9#Ex5BD{NjTtG(XI>dNNa1Etu{YR7TEDE8%B zY{Ku?qBIYEJ>5Y2@pIqSksSxWuEn(9;iUyL=K@Mo&gc9uHuvXs^BkOiiTCsFW0SWN zbvWLwj^7I2QL5lRG8%bL=cub?#>5wqpMFL2lwoI%+%W#!<@}V+PsQFEyWC6jy6D5g z^~&JUHcb6gk^0rmZ$bsc@qDpS%1feNdWh<^U7>lx(0c3R^=Faad6e>t*q27MQ_Yk#q*dSaqKU_f9f>(OPG`Wisw#}KMcDO^`o#~d#I0fa~;=;w{7Oh^<30#@1T0j zhy8l|2LGdfr}f$7d(B7R-v&q43i|)9W)RQHJb8{d>SwJ!+|M6DE+HTUgn$qb0zyCt z{MQ8ZbC-Vat6gM+`VG|_ZNL%{JY>}$^S_$zRc5Q~-3jrY@1cZPP5CTF#2nYco zAOwVf5D)@?k-*me#6E9Jf1>Zu=Hp)H0n1GECG>wV18c^Y)y`<%|5N!{{XeI?|JRa{ kdm$hMgn$qb0zyCt2mv7=1cZPP5CZ=s0qcd|GX3}eA4=c!O#lD@ literal 0 HcmV?d00001 diff --git a/index/plan.md b/index/plan.md new file mode 100644 index 0000000..736eb2c --- /dev/null +++ b/index/plan.md @@ -0,0 +1,20 @@ +class BPlusTree { +public: + explicit BPlusTree(DiskManager* disk_manager); + + void insert(KeyType key, ValueType value); + bool remove(KeyType key); + std::optional get(KeyType key); + + // range scan — returns all values where key is in [start, end] + std::vector scan(KeyType start, KeyType end); + +private: + page_id_t root_page_id_; + DiskManager* disk_manager_; + + // internal helpers + page_id_t findLeaf(KeyType key); + void splitChild(page_id_t parent_id, int child_index); + void mergeOrRedistribute(page_id_t node_id); // called on underflow after delete +} diff --git a/plan.md b/plan.md index 3d0d0d8..119a468 100644 --- a/plan.md +++ b/plan.md @@ -37,7 +37,7 @@ private: page_id_t findLeaf(KeyType key); void splitChild(page_id_t parent_id, int child_index); void mergeOrRedistribute(page_id_t node_id); // called on underflow after delete -}; +} The split and merge logic is where you'll spend most of your time. scan is important to implement here because it validates that your leaf-level sibling pointers are correct — a common place for bugs to hide. At this point you have a functional persistent key-value store. Slow, but correct. That correctness is what you verify before moving on. diff --git a/storage/disk_manager.cpp b/storage/disk_manager.cpp index 50eb3d7..d13a97c 100644 --- a/storage/disk_manager.cpp +++ b/storage/disk_manager.cpp @@ -143,7 +143,6 @@ void DiskManager::readPage(page_id_t page_id, char* data){ * - current implementation, look back and verify this is a good idea * * CURRENTLY USES MANUAL BUFFER, REFACTOR WHEN BUFFERPOOL IS CREATED - * broken_comment(); */ page_id_t DiskManager::allocatePage(){ if(global_metadata_.freelist_head == INVALID_PAGE_ID){ diff --git a/storage/prompt.txt b/storage/prompt.txt new file mode 100644 index 0000000..0101777 --- /dev/null +++ b/storage/prompt.txt @@ -0,0 +1,4 @@ +Hello Claude, I would like to show off my disk manager and slotted page implementation. To that end, can you please make a main.cpp file in this storage directory that creates a master page, and then + allocates a few pages, and deallocates a few pages, showing off the memory footprint and the internals of the freelist and master page. The slottedpages themselves will be shown off in a different + section. Please also make sure that main.cpp only runs one function - page_allocation(), so that I can extend it later to also show off other things. Please print out memory footprint and internals in + a human readable format to the terminal. diff --git a/tests/storage_viz.cpp b/tests/storage_viz.cpp new file mode 100644 index 0000000..08f07c8 --- /dev/null +++ b/tests/storage_viz.cpp @@ -0,0 +1,258 @@ +#include "storage/disk_manager.h" +#include "storage/slotted_page.h" +#include "storage/page.h" +#include +#include +#include + +using std::cout; +using std::endl; +using std::setw; +using std::left; +using std::right; + +void print_separator(int width = 80) { + cout << std::string(width, '=') << endl; +} + +void print_subsection(const std::string& title) { + cout << "\n" << std::string(title.length(), '-') << endl; + cout << title << endl; + cout << std::string(title.length(), '-') << endl; +} + +void print_memory_stats(DiskManager& dm) { + page_id_t total_pages = dm.getPageCount(); + size_t total_bytes = (size_t)total_pages * PAGE_SIZE; + double total_mb = total_bytes / (1024.0 * 1024.0); + + cout << std::fixed << std::setprecision(2); + cout << " Total Pages Allocated: " << total_pages << endl; + cout << " Total Memory: " << total_mb << " MB (" << total_bytes << " bytes)" << endl; + cout << " Page Size: " << PAGE_SIZE << " bytes" << endl; +} + +void page_allocation() { + cout << "\n"; + print_separator(); + cout << "PAGE ALLOCATION DEMO - Disk Manager & Free List Management" << endl; + print_separator(); + + // Create/open database + const std::string db_path = "demo.db"; + cout << "\nInitializing DiskManager with file: " << db_path << endl; + + DiskManager dm(db_path); + + print_subsection("Initial State (Master Page Only)"); + print_memory_stats(dm); + + // Allocate a few pages + print_subsection("Allocating 5 Pages"); + std::vector allocated_pages; + for (int i = 0; i < 5; ++i) { + page_id_t page_id = dm.allocatePage(); + allocated_pages.push_back(page_id); + cout << " Allocated page_id: " << page_id << endl; + } + cout << "\n After allocation:" << endl; + print_memory_stats(dm); + + // Deallocate some pages (demonstrates free list) + print_subsection("Deallocating 3 Pages (Creating Free List)"); + for (int i = 0; i < 3; ++i) { + page_id_t page_to_free = allocated_pages[i]; + cout << " Deallocating page_id: " << page_to_free << endl; + dm.deallocatePage(page_to_free); + } + cout << "\n After deallocation:" << endl; + print_memory_stats(dm); + cout << " Note: Free list now contains pages that can be reused" << endl; + + // Allocate more pages (will reuse from free list) + print_subsection("Allocating 2 More Pages (Reusing from Free List)"); + std::vector reused_pages; + for (int i = 0; i < 2; ++i) { + page_id_t page_id = dm.allocatePage(); + reused_pages.push_back(page_id); + cout << " Allocated page_id: " << page_id << " (reused from free list)" << endl; + } + cout << "\n After reallocation:" << endl; + print_memory_stats(dm); + + // Deallocate remaining pages + print_subsection("Deallocating All Remaining Pages"); + for (int i = 3; i < (int)allocated_pages.size(); ++i) { + page_id_t page_to_free = allocated_pages[i]; + cout << " Deallocating page_id: " << page_to_free << endl; + dm.deallocatePage(page_to_free); + } + for (page_id_t page_id : reused_pages) { + cout << " Deallocating page_id: " << page_id << endl; + dm.deallocatePage(page_id); + } + cout << "\n After final deallocation:" << endl; + print_memory_stats(dm); + cout << " Note: All pages are now in the free list, ready for reuse" << endl; + + print_subsection("Summary"); + cout << " ✓ Master page created and persisted" << endl; + cout << " ✓ Pages allocated sequentially" << endl; + cout << " ✓ Free list chain created on first deallocation" << endl; + cout << " ✓ Pages successfully recycled from free list" << endl; + cout << " ✓ Memory footprint tracked throughout lifecycle" << endl; + + print_separator(); + cout << "\n"; +} + +void record_viz() { + cout << "\n"; + print_separator(); + cout << "RECORD OPERATIONS DEMO - Insert & Delete through SlottedPage" << endl; + print_separator(); + + const std::string db_path = "demo_records.db"; + cout << "\nInitializing DiskManager with file: " << db_path << endl; + + DiskManager dm(db_path); + + // Allocate a page and initialize it as a leaf page + print_subsection("Allocating and Initializing a Page"); + page_id_t page_id = dm.allocatePage(); + cout << " Allocated page_id: " << page_id << endl; + + // Create a buffer for the page + char page_data[PAGE_SIZE]; + SlottedPage slotted_page(page_data); + slotted_page.init(page_id, LEAF_PAGE); + cout << " Initialized as LEAF_PAGE" << endl; + + // Display initial state + cout << "\n Initial page state:" << endl; + cout << " Slot count: " << slotted_page.getSlotCount() << endl; + cout << " Free space: " << slotted_page.getFreeSpace() << " bytes" << endl; + cout << " Total free space: " << slotted_page.getTotalFreeSpace() << " bytes" << endl; + + // Insert some records + print_subsection("Inserting 5 Records"); + std::vector inserted_slots; + std::vector records = { + "Alice", + "Bob", + "Charlie", + "Diana", + "Eve" + }; + + for (int i = 0; i < (int)records.size(); ++i) { + const std::string& record = records[i]; + auto slot_id = slotted_page.insertRecord(record.c_str(), record.length()); + if (slot_id.has_value()) { + inserted_slots.push_back(slot_id.value()); + cout << " Inserted '" << record << "' at slot_id: " << slot_id.value() << endl; + } else { + cout << " Failed to insert '" << record << "' (not enough space)" << endl; + } + } + + cout << "\n After insertions:" << endl; + cout << " Slot count: " << slotted_page.getSlotCount() << endl; + cout << " Free space: " << slotted_page.getFreeSpace() << " bytes" << endl; + cout << " Total free space: " << slotted_page.getTotalFreeSpace() << " bytes" << endl; + + // Retrieve and display records + print_subsection("Retrieving Records"); + for (slot_id_t slot_id : inserted_slots) { + auto record_span = slotted_page.getRecord(slot_id); + if (!record_span.empty()) { + cout << " Slot " << slot_id << ": "; + cout.write(record_span.data(), record_span.size()); + cout << " (" << record_span.size() << " bytes)" << endl; + } + } + + // Delete some records + print_subsection("Deleting 3 Records"); + for (int i = 0; i < 3; ++i) { + slot_id_t slot_to_delete = inserted_slots[i]; + bool deleted = slotted_page.deleteRecord(slot_to_delete); + if (deleted) { + cout << " Deleted record at slot_id: " << slot_to_delete << endl; + } else { + cout << " Failed to delete record at slot_id: " << slot_to_delete << endl; + } + } + + cout << "\n After deletions:" << endl; + cout << " Slot count: " << slotted_page.getSlotCount() << endl; + cout << " Free space: " << slotted_page.getFreeSpace() << " bytes" << endl; + cout << " Total free space (including deleted): " << slotted_page.getTotalFreeSpace() << " bytes" << endl; + + // Insert new records to fill the gaps + print_subsection("Inserting 2 New Records (to demonstrate space reuse)"); + std::vector new_records = { + "Frank", + "Grace" + }; + + for (const auto& record : new_records) { + auto slot_id = slotted_page.insertRecord(record.c_str(), record.length()); + if (slot_id.has_value()) { + cout << " Inserted '" << record << "' at slot_id: " << slot_id.value() << endl; + } else { + cout << " Failed to insert '" << record << "'" << endl; + } + } + + cout << "\n After new insertions:" << endl; + cout << " Slot count: " << slotted_page.getSlotCount() << endl; + cout << " Free space: " << slotted_page.getFreeSpace() << " bytes" << endl; + cout << " Total free space: " << slotted_page.getTotalFreeSpace() << " bytes" << endl; + + // Compact the page + print_subsection("Compacting Page (Defragmentation)"); + slotted_page.compactify(); + cout << " Page compacted" << endl; + + cout << "\n After compaction:" << endl; + cout << " Free space: " << slotted_page.getFreeSpace() << " bytes" << endl; + cout << " Total free space: " << slotted_page.getTotalFreeSpace() << " bytes" << endl; + + // Write page to disk and read it back + print_subsection("Persisting Page to Disk"); + dm.writePage(page_id, page_data); + cout << " Page written to disk" << endl; + + char read_buffer[PAGE_SIZE]; + dm.readPage(page_id, read_buffer); + cout << " Page read back from disk" << endl; + + SlottedPage restored_page(read_buffer); + cout << "\n Restored page state:" << endl; + cout << " Slot count: " << restored_page.getSlotCount() << endl; + cout << " Free space: " << restored_page.getFreeSpace() << " bytes" << endl; + + print_subsection("Summary"); + cout << " ✓ Page allocated and initialized" << endl; + cout << " ✓ Records inserted into page" << endl; + cout << " ✓ Records retrieved successfully" << endl; + cout << " ✓ Records deleted (creating fragmentation)" << endl; + cout << " ✓ New records inserted to reuse slots" << endl; + cout << " ✓ Page defragmented via compactify()" << endl; + cout << " ✓ Page persisted and restored from disk" << endl; + + print_separator(); + cout << "\n"; +} + +int main() { + try { + page_allocation(); + record_viz(); + } catch (const std::exception& e) { + std::cerr << "Error: " << e.what() << endl; + return 1; + } + return 0; +} From 979c1ea39a0b1dba26b947c00d18ad14bff7c842 Mon Sep 17 00:00:00 2001 From: IsaacBurns7 Date: Thu, 7 May 2026 06:39:13 +0000 Subject: [PATCH 02/17] b_plus_tree.h planning, cleanup in storage --- .../storage_viz.dir/compiler_depend.internal | 16 ++ .../storage_viz.dir/compiler_depend.make | 242 +++++++++++------- .../storage_viz.dir/tests/storage_viz.cpp.o | Bin 168016 -> 169112 bytes build/Testing/Temporary/CTestCostData.txt | 32 +-- build/Testing/Temporary/LastTest.log | 128 ++++----- build/storage_viz | Bin 192896 -> 193072 bytes demo.db | Bin 16384 -> 16384 bytes demo_records.db | Bin 12288 -> 24576 bytes index/b_plus_tree.cpp | 0 index/b_plus_tree.h | 27 ++ storage/DiskManager.cpp | 1 - storage/DiskManager.h | 37 --- storage/disk_manager2.h | 16 -- storage/manifest.md | 4 - storage/prompt.txt | 4 - tests/storage_viz.cpp | 5 +- 16 files changed, 270 insertions(+), 242 deletions(-) create mode 100644 index/b_plus_tree.cpp create mode 100644 index/b_plus_tree.h delete mode 100644 storage/DiskManager.cpp delete mode 100644 storage/DiskManager.h delete mode 100644 storage/disk_manager2.h delete mode 100644 storage/manifest.md delete mode 100644 storage/prompt.txt diff --git a/build/CMakeFiles/storage_viz.dir/compiler_depend.internal b/build/CMakeFiles/storage_viz.dir/compiler_depend.internal index ab15df3..f768b14 100644 --- a/build/CMakeFiles/storage_viz.dir/compiler_depend.internal +++ b/build/CMakeFiles/storage_viz.dir/compiler_depend.internal @@ -7,6 +7,8 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o /home/isaac/database-internals/common/types.h /home/isaac/database-internals/storage/disk_manager.h /home/isaac/database-internals/storage/freelist_page.h + /home/isaac/database-internals/storage/page.h + /home/isaac/database-internals/storage/slotted_page.h /usr/include/aarch64-linux-gnu/asm/bitsperlong.h /usr/include/aarch64-linux-gnu/asm/errno.h /usr/include/aarch64-linux-gnu/asm/posix_types.h @@ -117,8 +119,11 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o /usr/include/asm-generic/posix_types.h /usr/include/asm-generic/types.h /usr/include/assert.h + /usr/include/c++/13/algorithm + /usr/include/c++/13/array /usr/include/c++/13/backward/binders.h /usr/include/c++/13/bit + /usr/include/c++/13/bits/algorithmfwd.h /usr/include/c++/13/bits/align.h /usr/include/c++/13/bits/alloc_traits.h /usr/include/c++/13/bits/allocated_ptr.h @@ -177,6 +182,8 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o /usr/include/c++/13/bits/ptr_traits.h /usr/include/c++/13/bits/quoted_string.h /usr/include/c++/13/bits/range_access.h + /usr/include/c++/13/bits/ranges_algo.h + /usr/include/c++/13/bits/ranges_algobase.h /usr/include/c++/13/bits/ranges_base.h /usr/include/c++/13/bits/ranges_cmp.h /usr/include/c++/13/bits/ranges_util.h @@ -186,20 +193,24 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o /usr/include/c++/13/bits/shared_ptr_base.h /usr/include/c++/13/bits/sstream.tcc /usr/include/c++/13/bits/std_abs.h + /usr/include/c++/13/bits/stl_algo.h /usr/include/c++/13/bits/stl_algobase.h /usr/include/c++/13/bits/stl_bvector.h /usr/include/c++/13/bits/stl_construct.h /usr/include/c++/13/bits/stl_function.h + /usr/include/c++/13/bits/stl_heap.h /usr/include/c++/13/bits/stl_iterator.h /usr/include/c++/13/bits/stl_iterator_base_funcs.h /usr/include/c++/13/bits/stl_iterator_base_types.h /usr/include/c++/13/bits/stl_pair.h + /usr/include/c++/13/bits/stl_tempbuf.h /usr/include/c++/13/bits/stl_uninitialized.h /usr/include/c++/13/bits/stl_vector.h /usr/include/c++/13/bits/streambuf.tcc /usr/include/c++/13/bits/streambuf_iterator.h /usr/include/c++/13/bits/string_view.tcc /usr/include/c++/13/bits/stringfwd.h + /usr/include/c++/13/bits/uniform_int_dist.h /usr/include/c++/13/bits/unique_ptr.h /usr/include/c++/13/bits/unordered_set.h /usr/include/c++/13/bits/uses_allocator.h @@ -217,6 +228,7 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o /usr/include/c++/13/cstdint /usr/include/c++/13/cstdio /usr/include/c++/13/cstdlib + /usr/include/c++/13/cstring /usr/include/c++/13/ctime /usr/include/c++/13/cwchar /usr/include/c++/13/cwctype @@ -242,9 +254,13 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o /usr/include/c++/13/locale /usr/include/c++/13/new /usr/include/c++/13/numbers + /usr/include/c++/13/optional /usr/include/c++/13/ostream + /usr/include/c++/13/pstl/execution_defs.h + /usr/include/c++/13/pstl/glue_algorithm_defs.h /usr/include/c++/13/pstl/pstl_config.h /usr/include/c++/13/ratio + /usr/include/c++/13/span /usr/include/c++/13/sstream /usr/include/c++/13/stdexcept /usr/include/c++/13/streambuf diff --git a/build/CMakeFiles/storage_viz.dir/compiler_depend.make b/build/CMakeFiles/storage_viz.dir/compiler_depend.make index 1815ec0..3795945 100644 --- a/build/CMakeFiles/storage_viz.dir/compiler_depend.make +++ b/build/CMakeFiles/storage_viz.dir/compiler_depend.make @@ -6,6 +6,8 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-interna /home/isaac/database-internals/common/types.h \ /home/isaac/database-internals/storage/disk_manager.h \ /home/isaac/database-internals/storage/freelist_page.h \ + /home/isaac/database-internals/storage/page.h \ + /home/isaac/database-internals/storage/slotted_page.h \ /usr/include/aarch64-linux-gnu/asm/bitsperlong.h \ /usr/include/aarch64-linux-gnu/asm/errno.h \ /usr/include/aarch64-linux-gnu/asm/posix_types.h \ @@ -116,8 +118,11 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-interna /usr/include/asm-generic/posix_types.h \ /usr/include/asm-generic/types.h \ /usr/include/assert.h \ + /usr/include/c++/13/algorithm \ + /usr/include/c++/13/array \ /usr/include/c++/13/backward/binders.h \ /usr/include/c++/13/bit \ + /usr/include/c++/13/bits/algorithmfwd.h \ /usr/include/c++/13/bits/align.h \ /usr/include/c++/13/bits/alloc_traits.h \ /usr/include/c++/13/bits/allocated_ptr.h \ @@ -176,6 +181,8 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-interna /usr/include/c++/13/bits/ptr_traits.h \ /usr/include/c++/13/bits/quoted_string.h \ /usr/include/c++/13/bits/range_access.h \ + /usr/include/c++/13/bits/ranges_algo.h \ + /usr/include/c++/13/bits/ranges_algobase.h \ /usr/include/c++/13/bits/ranges_base.h \ /usr/include/c++/13/bits/ranges_cmp.h \ /usr/include/c++/13/bits/ranges_util.h \ @@ -185,20 +192,24 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-interna /usr/include/c++/13/bits/shared_ptr_base.h \ /usr/include/c++/13/bits/sstream.tcc \ /usr/include/c++/13/bits/std_abs.h \ + /usr/include/c++/13/bits/stl_algo.h \ /usr/include/c++/13/bits/stl_algobase.h \ /usr/include/c++/13/bits/stl_bvector.h \ /usr/include/c++/13/bits/stl_construct.h \ /usr/include/c++/13/bits/stl_function.h \ + /usr/include/c++/13/bits/stl_heap.h \ /usr/include/c++/13/bits/stl_iterator.h \ /usr/include/c++/13/bits/stl_iterator_base_funcs.h \ /usr/include/c++/13/bits/stl_iterator_base_types.h \ /usr/include/c++/13/bits/stl_pair.h \ + /usr/include/c++/13/bits/stl_tempbuf.h \ /usr/include/c++/13/bits/stl_uninitialized.h \ /usr/include/c++/13/bits/stl_vector.h \ /usr/include/c++/13/bits/streambuf.tcc \ /usr/include/c++/13/bits/streambuf_iterator.h \ /usr/include/c++/13/bits/string_view.tcc \ /usr/include/c++/13/bits/stringfwd.h \ + /usr/include/c++/13/bits/uniform_int_dist.h \ /usr/include/c++/13/bits/unique_ptr.h \ /usr/include/c++/13/bits/unordered_set.h \ /usr/include/c++/13/bits/uses_allocator.h \ @@ -216,6 +227,7 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-interna /usr/include/c++/13/cstdint \ /usr/include/c++/13/cstdio \ /usr/include/c++/13/cstdlib \ + /usr/include/c++/13/cstring \ /usr/include/c++/13/ctime \ /usr/include/c++/13/cwchar \ /usr/include/c++/13/cwctype \ @@ -241,9 +253,13 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-interna /usr/include/c++/13/locale \ /usr/include/c++/13/new \ /usr/include/c++/13/numbers \ + /usr/include/c++/13/optional \ /usr/include/c++/13/ostream \ + /usr/include/c++/13/pstl/execution_defs.h \ + /usr/include/c++/13/pstl/glue_algorithm_defs.h \ /usr/include/c++/13/pstl/pstl_config.h \ /usr/include/c++/13/ratio \ + /usr/include/c++/13/span \ /usr/include/c++/13/sstream \ /usr/include/c++/13/stdexcept \ /usr/include/c++/13/streambuf \ @@ -319,21 +335,31 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-interna /usr/include/fcntl.h: -/usr/include/c++/13/bits/basic_string.h: +/usr/include/errno.h: -/usr/include/c++/13/bits/basic_ios.h: +/usr/include/stdint.h: -/usr/include/c++/13/clocale: +/usr/include/endian.h: -/usr/include/c++/13/bits/charconv.h: +/usr/include/ctype.h: -/usr/include/c++/13/bits/fs_path.h: +/usr/include/c++/13/unordered_set: -/usr/include/c++/13/bits/stl_pair.h: +/usr/include/c++/13/typeinfo: -/usr/include/c++/13/cstdio: +/usr/include/c++/13/type_traits: -/usr/include/c++/13/fstream: +/usr/include/c++/13/string: + +/usr/include/c++/13/stdexcept: + +/usr/include/c++/13/sstream: + +/usr/include/c++/13/span: + +/usr/include/c++/13/ratio: + +/usr/include/c++/13/clocale: /usr/include/c++/13/bits/allocated_ptr.h: @@ -341,6 +367,8 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-interna /usr/include/c++/13/bits/basic_string.tcc: +/usr/include/c++/13/algorithm: + /usr/include/asm-generic/posix_types.h: /usr/include/asm-generic/errno.h: @@ -381,8 +409,6 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-interna /usr/include/asm-generic/types.h: -/usr/include/aarch64-linux-gnu/bits/wordsize.h: - /usr/include/c++/13/bits/stl_iterator_base_funcs.h: /usr/include/asm-generic/errno-base.h: @@ -405,18 +431,10 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-interna /usr/include/c++/13/bits/align.h: -/usr/include/aarch64-linux-gnu/bits/uintn-identity.h: - /usr/include/c++/13/bits/unique_ptr.h: /usr/include/aarch64-linux-gnu/bits/typesizes.h: -/usr/include/c++/13/bits/char_traits.h: - -/usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h: - -/usr/include/c++/13/bits/hashtable_policy.h: - /usr/include/aarch64-linux-gnu/gnu/stubs.h: /usr/include/aarch64-linux-gnu/bits/stdint-intn.h: @@ -461,106 +479,132 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-interna /usr/include/aarch64-linux-gnu/bits/types/sigset_t.h: +/usr/include/c++/13/array: + /usr/include/aarch64-linux-gnu/bits/types/error_t.h: /usr/include/aarch64-linux-gnu/bits/types/cookie_io_functions_t.h: /usr/include/aarch64-linux-gnu/bits/statx-generic.h: -/usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h: +/usr/include/aarch64-linux-gnu/bits/types/clockid_t.h: -/usr/include/c++/13/bits/locale_facets.h: +/usr/include/c++/13/bits/stl_bvector.h: -/usr/include/aarch64-linux-gnu/bits/posix_opt.h: +/usr/include/aarch64-linux-gnu/bits/getopt_posix.h: + +/usr/include/c++/13/ios: /usr/include/aarch64-linux-gnu/bits/fcntl.h: +/usr/include/aarch64-linux-gnu/bits/posix_opt.h: + /usr/include/aarch64-linux-gnu/bits/stat.h: /usr/include/aarch64-linux-gnu/bits/types/__mbstate_t.h: -/usr/include/c++/13/bits/basic_ios.tcc: +/usr/include/c++/13/cctype: + +/usr/include/aarch64-linux-gnu/sys/stat.h: + +/usr/include/c++/13/bits/ranges_algobase.h: + +/home/isaac/database-internals/tests/storage_viz.cpp: + +/usr/include/c++/13/bits/localefwd.h: + +/home/isaac/database-internals/storage/disk_manager.h: + +/usr/include/c++/13/bits/hash_bytes.h: /usr/include/aarch64-linux-gnu/bits/timex.h: /usr/include/c++/13/bits/cxxabi_init_exception.h: -/usr/include/c++/13/typeinfo: +/usr/include/aarch64-linux-gnu/bits/types/struct_timespec.h: -/usr/include/c++/13/bits/alloc_traits.h: +/usr/include/c++/13/bits/char_traits.h: -/usr/include/c++/13/bits/concept_check.h: +/usr/include/c++/13/bits/hashtable_policy.h: -/usr/include/aarch64-linux-gnu/bits/environments.h: +/usr/include/aarch64-linux-gnu/bits/uintn-identity.h: -/usr/include/aarch64-linux-gnu/bits/types/struct_statx_timestamp.h: +/home/isaac/database-internals/storage/slotted_page.h: -/usr/include/c++/13/bits/invoke.h: +/usr/include/c++/13/bits/basic_string.h: -/usr/include/aarch64-linux-gnu/bits/errno.h: +/usr/include/aarch64-linux-gnu/c++/13/bits/messages_members.h: -/usr/include/c++/13/cctype: +/usr/include/aarch64-linux-gnu/bits/stdint-least.h: -/usr/include/aarch64-linux-gnu/sys/stat.h: +/usr/include/c++/13/exception: -/home/isaac/database-internals/tests/storage_viz.cpp: +/usr/include/aarch64-linux-gnu/bits/floatn.h: -/usr/include/c++/13/bits/localefwd.h: +/usr/include/c++/13/bits/move.h: -/home/isaac/database-internals/storage/disk_manager.h: +/usr/include/aarch64-linux-gnu/bits/locale.h: -/usr/include/c++/13/bits/hash_bytes.h: +/usr/lib/gcc/aarch64-linux-gnu/13/include/stdarg.h: -/usr/include/aarch64-linux-gnu/c++/13/bits/cpu_defines.h: +/usr/include/c++/13/bits/exception.h: -/usr/include/aarch64-linux-gnu/bits/libc-header-start.h: +/usr/include/aarch64-linux-gnu/bits/floatn-common.h: -/home/isaac/database-internals/common/config.h: +/usr/include/aarch64-linux-gnu/bits/types/__locale_t.h: -/usr/include/alloca.h: +/usr/include/aarch64-linux-gnu/c++/13/bits/cpu_defines.h: -/usr/include/aarch64-linux-gnu/bits/time64.h: +/usr/include/c++/13/bits/alloc_traits.h: -/usr/include/aarch64-linux-gnu/bits/endianness.h: +/usr/include/c++/13/bits/concept_check.h: -/usr/include/ctype.h: +/usr/include/aarch64-linux-gnu/bits/environments.h: -/home/isaac/database-internals/storage/freelist_page.h: +/usr/include/aarch64-linux-gnu/bits/types/struct_statx_timestamp.h: -/usr/include/c++/13/bits/unordered_set.h: +/usr/include/aarch64-linux-gnu/bits/errno.h: -/usr/include/aarch64-linux-gnu/bits/types/clockid_t.h: +/usr/include/c++/13/bits/basic_ios.h: -/usr/include/c++/13/type_traits: +/home/isaac/database-internals/storage/page.h: -/usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h: +/usr/include/c++/13/istream: -/usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h: +/usr/include/alloca.h: -/usr/include/c++/13/bits/vector.tcc: +/usr/include/aarch64-linux-gnu/bits/time64.h: -/usr/include/aarch64-linux-gnu/bits/getopt_posix.h: +/home/isaac/database-internals/common/config.h: -/usr/include/c++/13/ios: +/usr/include/aarch64-linux-gnu/bits/endianness.h: -/usr/include/c++/13/bits/functexcept.h: +/usr/include/c++/13/vector: -/usr/include/aarch64-linux-gnu/bits/floatn.h: +/usr/include/aarch64-linux-gnu/bits/long-double.h: -/usr/include/c++/13/bits/move.h: +/usr/include/aarch64-linux-gnu/bits/libc-header-start.h: -/usr/include/aarch64-linux-gnu/bits/locale.h: +/home/isaac/database-internals/storage/freelist_page.h: -/usr/lib/gcc/aarch64-linux-gnu/13/include/stdarg.h: +/usr/include/c++/13/bits/unordered_set.h: -/usr/include/c++/13/bits/exception.h: +/usr/include/aarch64-linux-gnu/bits/atomic_wide_counter.h: -/usr/include/aarch64-linux-gnu/bits/floatn-common.h: +/usr/include/aarch64-linux-gnu/bits/types/struct_itimerspec.h: -/usr/include/aarch64-linux-gnu/bits/types/__locale_t.h: +/usr/include/c++/13/bits/functexcept.h: + +/usr/include/aarch64-linux-gnu/bits/pthreadtypes-arch.h: + +/usr/include/c++/13/bits/locale_facets.h: /usr/include/aarch64-linux-gnu/bits/pthreadtypes.h: +/usr/include/c++/13/cstring: + +/usr/include/c++/13/bits/algorithmfwd.h: + /usr/include/aarch64-linux-gnu/bits/pthread_stack_min-dynamic.h: /usr/include/aarch64-linux-gnu/bits/struct_rwlock.h: @@ -573,25 +617,21 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-interna /usr/include/aarch64-linux-gnu/bits/select.h: +/usr/include/c++/13/bits/allocator.h: + +/usr/include/aarch64-linux-gnu/bits/timesize.h: + /usr/include/c++/13/bits/uses_allocator_args.h: /usr/include/aarch64-linux-gnu/bits/cpu-set.h: /usr/include/aarch64-linux-gnu/bits/types/mbstate_t.h: -/usr/include/aarch64-linux-gnu/c++/13/bits/messages_members.h: - -/usr/include/aarch64-linux-gnu/bits/stdint-least.h: - -/usr/include/c++/13/exception: - /usr/include/c++/13/bits/ostream_insert.h: -/usr/include/aarch64-linux-gnu/bits/timesize.h: +/usr/include/c++/13/bits/invoke.h: -/usr/include/c++/13/bits/allocator.h: - -/usr/include/c++/13/bits/stl_bvector.h: +/usr/include/c++/13/bits/ranges_algo.h: /usr/include/aarch64-linux-gnu/c++/13/bits/c++locale.h: @@ -615,6 +655,8 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-interna /usr/include/aarch64-linux-gnu/bits/thread-shared-types.h: +/usr/include/c++/13/bits/stl_algo.h: + /usr/include/c++/13/cstddef: /usr/include/assert.h: @@ -625,8 +667,24 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-interna /usr/include/c++/13/new: +/usr/include/c++/13/bits/charconv.h: + +/usr/include/c++/13/bits/fs_path.h: + +/usr/include/c++/13/bits/stl_pair.h: + +/usr/include/c++/13/cstdio: + +/usr/include/c++/13/fstream: + /usr/include/aarch64-linux-gnu/bits/types/__sigset_t.h: +/usr/include/c++/13/bits/basic_ios.tcc: + +/usr/include/aarch64-linux-gnu/bits/wordsize.h: + +/usr/include/c++/13/pstl/execution_defs.h: + /usr/include/c++/13/bits/chrono.h: /usr/include/c++/13/bits/codecvt.h: @@ -643,9 +701,11 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-interna /usr/include/c++/13/bits/exception_ptr.h: -/usr/include/c++/13/bits/fs_dir.h: +/usr/include/c++/13/bits/vector.tcc: -/usr/include/c++/13/sstream: +/usr/include/c++/13/optional: + +/usr/include/c++/13/bits/fs_dir.h: /usr/include/aarch64-linux-gnu/bits/stdlib-float.h: @@ -663,12 +723,8 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-interna /usr/include/c++/13/bits/functional_hash.h: -/usr/include/errno.h: - /usr/include/c++/13/bits/hashtable.h: -/usr/include/c++/13/bits/locale_classes.tcc: - /usr/include/c++/13/bits/istream.tcc: /usr/include/c++/13/bits/locale_conv.h: @@ -687,10 +743,6 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-interna /usr/include/c++/13/bits/streambuf.tcc: -/usr/include/stdint.h: - -/usr/include/endian.h: - /usr/include/c++/13/streambuf: /usr/include/c++/13/bits/memory_resource.h: @@ -761,32 +813,32 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-interna /usr/include/c++/13/cwctype: -/usr/include/c++/13/ratio: - /usr/include/c++/13/bits/stl_algobase.h: /usr/include/c++/13/bits/stl_function.h: /usr/include/c++/13/bits/utility.h: +/usr/include/c++/13/bits/stl_heap.h: + /usr/include/stdio.h: /usr/include/c++/13/bits/stl_iterator_base_types.h: +/usr/include/c++/13/bits/stl_tempbuf.h: + /usr/include/c++/13/bits/new_allocator.h: /usr/include/c++/13/bits/stl_uninitialized.h: -/usr/include/aarch64-linux-gnu/sys/select.h: - /usr/include/aarch64-linux-gnu/gnu/stubs-lp64.h: +/usr/include/aarch64-linux-gnu/sys/select.h: + /usr/include/c++/13/locale: /usr/include/c++/13/bits/stl_vector.h: -/usr/include/c++/13/unordered_set: - /usr/include/aarch64-linux-gnu/bits/types.h: /usr/include/c++/13/bits/streambuf_iterator.h: @@ -799,6 +851,10 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-interna /usr/include/c++/13/bits/stringfwd.h: +/usr/include/c++/13/bits/locale_classes.tcc: + +/usr/include/c++/13/bits/uniform_int_dist.h: + /usr/include/c++/13/bits/cpp_type_traits.h: /usr/include/c++/13/cassert: @@ -809,10 +865,10 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-interna /usr/include/c++/13/compare: -/usr/include/aarch64-linux-gnu/asm/posix_types.h: - /usr/include/aarch64-linux-gnu/bits/setjmp.h: +/usr/include/aarch64-linux-gnu/asm/posix_types.h: + /usr/include/c++/13/filesystem: /usr/include/c++/13/concepts: @@ -833,24 +889,16 @@ CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o: /home/isaac/database-interna /usr/include/c++/13/ext/concurrence.h: +/usr/include/c++/13/pstl/glue_algorithm_defs.h: + /usr/include/c++/13/ext/string_conversions.h: /usr/include/c++/13/ext/type_traits.h: /usr/include/c++/13/iostream: -/usr/include/c++/13/istream: - /usr/include/aarch64-linux-gnu/bits/getopt_core.h: /usr/include/c++/13/limits: /usr/include/c++/13/pstl/pstl_config.h: - -/usr/include/c++/13/stdexcept: - -/usr/include/c++/13/string: - -/usr/include/aarch64-linux-gnu/bits/long-double.h: - -/usr/include/c++/13/vector: diff --git a/build/CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o b/build/CMakeFiles/storage_viz.dir/tests/storage_viz.cpp.o index 7c531bc7394b2e6e36b119712021d4f0f34c81be..8a02036a66be1075e091539eb29fee9f5255d2a7 100644 GIT binary patch literal 169112 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