diff --git a/tests/benchmark/CMakeLists.txt b/tests/benchmark/CMakeLists.txt index c608e6742..28f10e1bc 100644 --- a/tests/benchmark/CMakeLists.txt +++ b/tests/benchmark/CMakeLists.txt @@ -31,7 +31,7 @@ add_benchmark(data_structures/concurrent/map_concurrent.cpp) target_link_libraries(${test_prefix}map_concurrent mg-single-node kvstore_dummy_lib) add_benchmark(data_structures/ring_buffer.cpp) -target_link_libraries(${test_prefix}ring_buffer mg-single-node kvstore_dummy_lib) +target_link_libraries(${test_prefix}ring_buffer mg-single-node-v2 mg-auth kvstore_dummy_lib) add_benchmark(query/eval.cpp) target_link_libraries(${test_prefix}eval mg-single-node-v2 mg-auth kvstore_dummy_lib) diff --git a/tests/concurrent/CMakeLists.txt b/tests/concurrent/CMakeLists.txt index 403f9e5eb..036b79a7f 100644 --- a/tests/concurrent/CMakeLists.txt +++ b/tests/concurrent/CMakeLists.txt @@ -30,16 +30,16 @@ add_concurrent_test(dynamic_bitset_set_n.cpp) target_link_libraries(${test_prefix}dynamic_bitset_set_n mg-single-node kvstore_dummy_lib) add_concurrent_test(network_read_hang.cpp) -target_link_libraries(${test_prefix}network_read_hang mg-single-node kvstore_dummy_lib) +target_link_libraries(${test_prefix}network_read_hang mg-communication) add_concurrent_test(network_server.cpp) -target_link_libraries(${test_prefix}network_server mg-single-node kvstore_dummy_lib) +target_link_libraries(${test_prefix}network_server mg-communication) add_concurrent_test(network_session_leak.cpp) -target_link_libraries(${test_prefix}network_session_leak mg-single-node kvstore_dummy_lib) +target_link_libraries(${test_prefix}network_session_leak mg-communication) add_concurrent_test(push_queue.cpp) -target_link_libraries(${test_prefix}push_queue mg-single-node kvstore_dummy_lib) +target_link_libraries(${test_prefix}push_queue glog gflags Threads::Threads) add_concurrent_test(stack.cpp) target_link_libraries(${test_prefix}stack mg-utils) @@ -92,5 +92,5 @@ target_link_libraries(${test_prefix}sl_set mg-single-node kvstore_dummy_lib) add_concurrent_test(sl_simulation.cpp) target_link_libraries(${test_prefix}sl_simulation mg-single-node kvstore_dummy_lib) -add_concurrent_test(spinlock.cpp) -target_link_libraries(${test_prefix}spinlock mg-single-node kvstore_dummy_lib) +add_concurrent_test(spin_lock.cpp) +target_link_libraries(${test_prefix}spin_lock mg-utils) diff --git a/tests/concurrent/network_common.hpp b/tests/concurrent/network_common.hpp index 74dd742ac..22aaef30c 100644 --- a/tests/concurrent/network_common.hpp +++ b/tests/concurrent/network_common.hpp @@ -11,7 +11,6 @@ #include #include "communication/server.hpp" -#include "database/single_node/graph_db_accessor.hpp" static constexpr const int SIZE = 60000; static constexpr const int REPLY = 10; diff --git a/tests/concurrent/network_read_hang.cpp b/tests/concurrent/network_read_hang.cpp index c98220ddd..3d08af148 100644 --- a/tests/concurrent/network_read_hang.cpp +++ b/tests/concurrent/network_read_hang.cpp @@ -13,7 +13,6 @@ #include #include "communication/server.hpp" -#include "database/single_node/graph_db_accessor.hpp" static constexpr const char interface[] = "127.0.0.1"; diff --git a/tests/concurrent/spinlock.cpp b/tests/concurrent/spin_lock.cpp similarity index 95% rename from tests/concurrent/spinlock.cpp rename to tests/concurrent/spin_lock.cpp index 2dd1077a0..e2166dbfc 100644 --- a/tests/concurrent/spinlock.cpp +++ b/tests/concurrent/spin_lock.cpp @@ -6,7 +6,7 @@ #include "glog/logging.h" -#include "utils/thread/sync.hpp" +#include "utils/spin_lock.hpp" int x = 0; utils::SpinLock lock; diff --git a/tests/manual/CMakeLists.txt b/tests/manual/CMakeLists.txt index 18bbe36ba..e15408932 100644 --- a/tests/manual/CMakeLists.txt +++ b/tests/manual/CMakeLists.txt @@ -41,16 +41,16 @@ add_manual_test(kvstore_console.cpp) target_link_libraries(${test_prefix}kvstore_console kvstore_lib gflags glog) add_manual_test(query_hash.cpp) -target_link_libraries(${test_prefix}query_hash mg-single-node kvstore_dummy_lib) +target_link_libraries(${test_prefix}query_hash mg-single-node-v2 mg-auth kvstore_dummy_lib) add_manual_test(query_planner.cpp interactive_planning.cpp) -target_link_libraries(${test_prefix}query_planner mg-single-node kvstore_dummy_lib) +target_link_libraries(${test_prefix}query_planner mg-single-node-v2 mg-auth kvstore_dummy_lib) if (READLINE_FOUND) target_link_libraries(${test_prefix}query_planner readline) endif() add_manual_test(expression_pretty_printer.cpp) -target_link_libraries(${test_prefix}expression_pretty_printer mg-single-node kvstore_dummy_lib) +target_link_libraries(${test_prefix}expression_pretty_printer mg-single-node-v2 mg-auth kvstore_dummy_lib) add_manual_test(single_query.cpp) target_link_libraries(${test_prefix}single_query mg-single-node-v2 mg-auth kvstore_dummy_lib) @@ -62,7 +62,7 @@ add_manual_test(snapshot_explorer.cpp) target_link_libraries(${test_prefix}snapshot_explorer mg-single-node kvstore_dummy_lib) add_manual_test(stripped_timing.cpp) -target_link_libraries(${test_prefix}stripped_timing mg-single-node kvstore_dummy_lib) +target_link_libraries(${test_prefix}stripped_timing mg-single-node-v2 mg-auth kvstore_dummy_lib) add_manual_test(ssl_client.cpp) target_link_libraries(${test_prefix}ssl_client mg-communication) diff --git a/tests/manual/interactive_planning.cpp b/tests/manual/interactive_planning.cpp index 06cad3802..8de29ea51 100644 --- a/tests/manual/interactive_planning.cpp +++ b/tests/manual/interactive_planning.cpp @@ -8,8 +8,8 @@ #include #include -#include "database/graph_db_accessor.hpp" #include "query/context.hpp" +#include "query/db_accessor.hpp" #include "query/frontend/ast/cypher_main_visitor.hpp" #include "query/frontend/opencypher/parser.hpp" #include "query/frontend/semantic/symbol_generator.hpp" @@ -129,18 +129,22 @@ class Timer { // Dummy DbAccessor which forwards user input for various vertex counts. class InteractiveDbAccessor { public: - InteractiveDbAccessor(database::GraphDbAccessor *dba, int64_t vertices_count, + InteractiveDbAccessor(query::DbAccessor *dba, int64_t vertices_count, Timer &timer) : dba_(dba), vertices_count_(vertices_count), timer_(timer) {} - auto NameToLabel(const std::string &name) { return dba_->Label(name); } - auto NameToProperty(const std::string &name) { return dba_->Property(name); } - auto NameToEdgeType(const std::string &name) { return dba_->EdgeType(name); } + auto NameToLabel(const std::string &name) { return dba_->NameToLabel(name); } + auto NameToProperty(const std::string &name) { + return dba_->NameToProperty(name); + } + auto NameToEdgeType(const std::string &name) { + return dba_->NameToEdgeType(name); + } int64_t VerticesCount() { return vertices_count_; } int64_t VerticesCount(storage::Label label_id) { - auto label = dba_->LabelName(label_id); + auto label = dba_->LabelToName(label_id); if (label_vertex_count_.find(label) == label_vertex_count_.end()) { label_vertex_count_[label] = ReadVertexCount("label '" + label + "'"); } @@ -149,8 +153,8 @@ class InteractiveDbAccessor { int64_t VerticesCount(storage::Label label_id, storage::Property property_id) { - auto label = dba_->LabelName(label_id); - auto property = dba_->PropertyName(property_id); + auto label = dba_->LabelToName(label_id); + auto property = dba_->PropertyToName(property_id); auto key = std::make_pair(label, property); if (label_property_vertex_count_.find(key) == label_property_vertex_count_.end()) { @@ -162,8 +166,8 @@ class InteractiveDbAccessor { int64_t VerticesCount(storage::Label label_id, storage::Property property_id, const PropertyValue &value) { - auto label = dba_->LabelName(label_id); - auto property = dba_->PropertyName(property_id); + auto label = dba_->LabelToName(label_id); + auto property = dba_->PropertyToName(property_id); auto label_prop = std::make_pair(label, property); if (label_property_index_.find(label_prop) == label_property_index_.end()) { return 0; @@ -183,8 +187,8 @@ class InteractiveDbAccessor { storage::Label label_id, storage::Property property_id, const std::optional> lower, const std::optional> upper) { - auto label = dba_->LabelName(label_id); - auto property = dba_->PropertyName(property_id); + auto label = dba_->LabelToName(label_id); + auto property = dba_->PropertyToName(property_id); std::stringstream range_string; if (lower) { range_string << (lower->IsInclusive() ? "[" : "(") << lower->value() @@ -203,8 +207,8 @@ class InteractiveDbAccessor { bool LabelPropertyIndexExists(storage::Label label_id, storage::Property property_id) { - auto label = dba_->LabelName(label_id); - auto property = dba_->PropertyName(property_id); + auto label = dba_->LabelToName(label_id); + auto property = dba_->PropertyToName(property_id); auto key = std::make_pair(label, property); if (label_property_index_.find(key) == label_property_index_.end()) { bool resp = timer_.WithPause([&label, &property]() { @@ -317,7 +321,7 @@ class InteractiveDbAccessor { private: typedef std::pair LabelPropertyKey; - database::GraphDbAccessor *dba_; + query::DbAccessor *dba_; int64_t vertices_count_; Timer &timer_; std::map label_vertex_count_; @@ -367,8 +371,7 @@ DEFCOMMAND(Top) { for (int64_t i = 0; i < n_plans; ++i) { std::cout << "---- Plan #" << i << " ---- " << std::endl; std::cout << "cost: " << plans[i].cost << std::endl; - query::DbAccessor query_dba(&dba); - query::plan::PrettyPrint(query_dba, plans[i].final_plan.get()); + query::plan::PrettyPrint(dba, plans[i].final_plan.get()); std::cout << std::endl; } } @@ -381,8 +384,7 @@ DEFCOMMAND(Show) { const auto &plan = plans[plan_ix].final_plan; auto cost = plans[plan_ix].cost; std::cout << "Plan cost: " << cost << std::endl; - query::DbAccessor query_dba(&dba); - query::plan::PrettyPrint(query_dba, plan.get()); + query::plan::PrettyPrint(dba, plan.get()); } DEFCOMMAND(ShowUnoptimized) { @@ -391,8 +393,7 @@ DEFCOMMAND(ShowUnoptimized) { ss >> plan_ix; if (ss.fail() || !ss.eof() || plan_ix >= plans.size()) return; const auto &plan = plans[plan_ix].unoptimized_plan; - query::DbAccessor query_dba(&dba); - query::plan::PrettyPrint(query_dba, plan.get()); + query::plan::PrettyPrint(dba, plan.get()); } DEFCOMMAND(Help); @@ -421,7 +422,7 @@ DEFCOMMAND(Help) { } } -void ExaminePlans(database::GraphDbAccessor &dba, +void ExaminePlans(query::DbAccessor *dba, const query::SymbolTable &symbol_table, std::vector &plans, const query::AstStorage &ast) { @@ -444,7 +445,7 @@ void ExaminePlans(database::GraphDbAccessor &dba, << " arguments" << std::endl; continue; } - command.function(dba, symbol_table, plans, args, ast); + command.function(*dba, symbol_table, plans, args, ast); } } @@ -491,7 +492,7 @@ auto MakeLogicalPlans(query::CypherQuery *query, query::AstStorage &ast, return interactive_plans; } -void RunInteractivePlanning(database::GraphDbAccessor *dba) { +void RunInteractivePlanning(query::DbAccessor *dba) { std::string in_db_filename(utils::Trim(FLAGS_load_mock_db_file)); if (!in_db_filename.empty() && !std::filesystem::exists(in_db_filename)) { std::cerr << "File '" << in_db_filename << "' does not exist!" << std::endl; @@ -526,7 +527,7 @@ void RunInteractivePlanning(database::GraphDbAccessor *dba) { << std::chrono::duration(planning_time).count() << "ms" << std::endl; std::cout << "Generated " << plans.size() << " plans" << std::endl; - ExaminePlans(*dba, symbol_table, plans, ast); + ExaminePlans(dba, symbol_table, plans, ast); } catch (const utils::BasicException &e) { std::cout << "Error: " << e.what() << std::endl; } diff --git a/tests/manual/interactive_planning.hpp b/tests/manual/interactive_planning.hpp index 2577eac4b..76b159e44 100644 --- a/tests/manual/interactive_planning.hpp +++ b/tests/manual/interactive_planning.hpp @@ -6,6 +6,7 @@ #include #include +#include "query/db_accessor.hpp" #include "query/frontend/semantic/symbol_table.hpp" #include "query/plan/operator.hpp" @@ -30,7 +31,7 @@ typedef std::vector PlansWithCost; struct Command { typedef std::vector Args; // Function of this command - std::function function; // Number of arguments the function works with. @@ -40,11 +41,11 @@ struct Command { }; #define DEFCOMMAND(Name) \ - void Name##Command(database::GraphDbAccessor &dba, \ + void Name##Command(query::DbAccessor &dba, \ const query::SymbolTable &symbol_table, \ PlansWithCost &plans, const Command::Args &args, \ const query::AstStorage &ast_storage) void AddCommand(const std::string &name, const Command &command); -void RunInteractivePlanning(database::GraphDbAccessor *dba); +void RunInteractivePlanning(query::DbAccessor *dba); diff --git a/tests/manual/query_planner.cpp b/tests/manual/query_planner.cpp index 67bfe33df..af1cee317 100644 --- a/tests/manual/query_planner.cpp +++ b/tests/manual/query_planner.cpp @@ -3,8 +3,7 @@ #include #include -#include "database/single_node/graph_db.hpp" -#include "database/single_node/graph_db_accessor.hpp" +#include "storage/v2/storage.hpp" DECLARE_int32(min_log_level); @@ -12,8 +11,9 @@ int main(int argc, char *argv[]) { gflags::ParseCommandLineFlags(&argc, &argv, true); FLAGS_min_log_level = google::ERROR; google::InitGoogleLogging(argv[0]); - database::GraphDb db; - auto dba = db.Access(); + storage::Storage db; + auto storage_dba = db.Access(); + query::DbAccessor dba(&storage_dba); RunInteractivePlanning(&dba); return 0; } diff --git a/tests/unit/CMakeLists.txt b/tests/unit/CMakeLists.txt index 4b8bff568..7dc370d9f 100644 --- a/tests/unit/CMakeLists.txt +++ b/tests/unit/CMakeLists.txt @@ -145,11 +145,11 @@ target_link_libraries(${test_prefix}query_plan mg-single-node-v2 mg-auth kvstore # Test query/procedure add_unit_test(query_procedure_mgp_type.cpp) -target_link_libraries(${test_prefix}query_procedure_mgp_type mg-single-node kvstore_dummy_lib) +target_link_libraries(${test_prefix}query_procedure_mgp_type mg-single-node-v2 mg-auth kvstore_dummy_lib) target_include_directories(${test_prefix}query_procedure_mgp_type PRIVATE ${CMAKE_SOURCE_DIR}/include) add_unit_test(query_procedure_mgp_module.cpp) -target_link_libraries(${test_prefix}query_procedure_mgp_module mg-single-node kvstore_dummy_lib) +target_link_libraries(${test_prefix}query_procedure_mgp_module mg-single-node-v2 mg-auth kvstore_dummy_lib) target_include_directories(${test_prefix}query_procedure_mgp_module PRIVATE ${CMAKE_SOURCE_DIR}/include) # END query/procedure