Add mg-query library and use it in unit tests
Reviewers: mferencevic, ipaljak Reviewed By: mferencevic Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D2611
This commit is contained in:
parent
3a0dda976a
commit
551c6c5ad6
@ -10,6 +10,7 @@ add_subdirectory(communication)
|
||||
add_subdirectory(auth)
|
||||
add_subdirectory(slk)
|
||||
add_subdirectory(storage/v2)
|
||||
add_subdirectory(query)
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Common LCP files
|
||||
|
51
src/query/CMakeLists.txt
Normal file
51
src/query/CMakeLists.txt
Normal file
@ -0,0 +1,51 @@
|
||||
define_add_lcp(add_lcp_query lcp_query_cpp_files generated_lcp_query_files)
|
||||
|
||||
add_lcp_query(frontend/ast/ast.lcp)
|
||||
add_lcp_query(frontend/semantic/symbol.lcp)
|
||||
add_lcp_query(plan/operator.lcp)
|
||||
|
||||
add_custom_target(generate_lcp_query DEPENDS ${generated_lcp_query_files})
|
||||
|
||||
set(mg_query_sources
|
||||
${CMAKE_SOURCE_DIR}/src/glue/auth.cpp # Needed for mg-auth
|
||||
${lcp_query_cpp_files}
|
||||
common.cpp
|
||||
dump.cpp
|
||||
frontend/ast/cypher_main_visitor.cpp
|
||||
frontend/ast/pretty_print.cpp
|
||||
frontend/parsing.cpp
|
||||
frontend/semantic/required_privileges.cpp
|
||||
frontend/semantic/symbol_generator.cpp
|
||||
frontend/stripped.cpp
|
||||
interpret/awesome_memgraph_functions.cpp
|
||||
interpreter.cpp
|
||||
plan/operator.cpp
|
||||
plan/preprocess.cpp
|
||||
plan/pretty_print.cpp
|
||||
plan/profile.cpp
|
||||
plan/rewrite/index_lookup.cpp
|
||||
plan/rule_based_planner.cpp
|
||||
plan/variable_start_planner.cpp
|
||||
procedure/mg_procedure_impl.cpp
|
||||
procedure/module.cpp
|
||||
typed_value.cpp)
|
||||
|
||||
add_library(mg-query STATIC ${mg_query_sources})
|
||||
add_dependencies(mg-query generate_lcp_query)
|
||||
add_dependencies(mg-query generate_opencypher_parser)
|
||||
target_compile_definitions(mg-query PUBLIC MG_SINGLE_NODE_V2)
|
||||
target_include_directories(mg-query PRIVATE ${CMAKE_SOURCE_DIR}/include)
|
||||
target_link_libraries(mg-query dl cppitertools antlr_opencypher_parser_lib)
|
||||
target_link_libraries(mg-query mg-storage-v2)
|
||||
# These are enterprise subsystems
|
||||
target_link_libraries(mg-query mg-auth kvstore_lib)
|
||||
|
||||
# Build another mg-query with kvstore_dummy_lib for mg-auth
|
||||
add_library(mg-query-with-kvstore-dummy STATIC ${mg_query_sources})
|
||||
add_dependencies(mg-query-with-kvstore-dummy generate_lcp_query)
|
||||
add_dependencies(mg-query-with-kvstore-dummy generate_opencypher_parser)
|
||||
target_compile_definitions(mg-query-with-kvstore-dummy PUBLIC MG_SINGLE_NODE_V2)
|
||||
target_include_directories(mg-query-with-kvstore-dummy PRIVATE ${CMAKE_SOURCE_DIR}/include)
|
||||
target_link_libraries(mg-query-with-kvstore-dummy dl cppitertools antlr_opencypher_parser_lib)
|
||||
target_link_libraries(mg-query-with-kvstore-dummy mg-storage-v2)
|
||||
target_link_libraries(mg-query-with-kvstore-dummy mg-auth kvstore_dummy_lib)
|
@ -18,8 +18,8 @@ function(add_unit_test test_cpp)
|
||||
add_dependencies(memgraph__unit ${target_name})
|
||||
endfunction(add_unit_test)
|
||||
|
||||
add_unit_test(bolt_encoder.cpp)
|
||||
target_link_libraries(${test_prefix}bolt_encoder mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
add_unit_test(bolt_encoder.cpp ${CMAKE_SOURCE_DIR}/src/glue/communication.cpp)
|
||||
target_link_libraries(${test_prefix}bolt_encoder mg-communication mg-query-with-kvstore-dummy)
|
||||
|
||||
add_unit_test(commit_log_v2.cpp)
|
||||
target_link_libraries(${test_prefix}commit_log_v2 glog gflags)
|
||||
@ -33,9 +33,6 @@ target_link_libraries(${test_prefix}concurrent_map_access mg-single-node kvstore
|
||||
add_unit_test(concurrent_map.cpp)
|
||||
target_link_libraries(${test_prefix}concurrent_map mg-single-node kvstore_dummy_lib)
|
||||
|
||||
add_unit_test(cypher_main_visitor.cpp)
|
||||
target_link_libraries(${test_prefix}cypher_main_visitor mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
|
||||
add_unit_test(database_key_index.cpp)
|
||||
target_link_libraries(${test_prefix}database_key_index mg-single-node kvstore_dummy_lib)
|
||||
|
||||
@ -51,9 +48,6 @@ target_link_libraries(${test_prefix}datastructure_union_find mg-single-node kvst
|
||||
add_unit_test(deferred_deleter.cpp)
|
||||
target_link_libraries(${test_prefix}deferred_deleter mg-single-node kvstore_dummy_lib)
|
||||
|
||||
add_unit_test(bfs_single_node.cpp)
|
||||
target_link_libraries(${test_prefix}bfs_single_node mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
|
||||
add_unit_test(durability.cpp)
|
||||
target_link_libraries(${test_prefix}durability mg-single-node kvstore_dummy_lib)
|
||||
|
||||
@ -72,9 +66,6 @@ target_link_libraries(${test_prefix}graph_db_accessor_index_api mg-single-node k
|
||||
add_unit_test(graph_db.cpp)
|
||||
target_link_libraries(${test_prefix}graph_db mg-single-node kvstore_dummy_lib)
|
||||
|
||||
add_unit_test(interpreter.cpp)
|
||||
target_link_libraries(${test_prefix}interpreter mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
|
||||
add_unit_test(kvstore.cpp)
|
||||
target_link_libraries(${test_prefix}kvstore kvstore_lib glog)
|
||||
|
||||
@ -102,65 +93,84 @@ target_link_libraries(${test_prefix}property_value_store kvstore_lib mg-single-n
|
||||
add_unit_test(replication_log.cpp)
|
||||
target_link_libraries(${test_prefix}replication_log mg-single-node-ha kvstore_lib glog)
|
||||
|
||||
# Test mg-query
|
||||
|
||||
add_unit_test(cypher_main_visitor.cpp)
|
||||
target_link_libraries(${test_prefix}cypher_main_visitor mg-query-with-kvstore-dummy)
|
||||
|
||||
add_unit_test(bfs_single_node.cpp)
|
||||
target_link_libraries(${test_prefix}bfs_single_node mg-query-with-kvstore-dummy)
|
||||
|
||||
add_unit_test(interpreter.cpp ${CMAKE_SOURCE_DIR}/src/glue/communication.cpp)
|
||||
target_link_libraries(${test_prefix}interpreter mg-communication mg-query-with-kvstore-dummy)
|
||||
|
||||
add_unit_test(query_cost_estimator.cpp)
|
||||
target_link_libraries(${test_prefix}query_cost_estimator mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
target_link_libraries(${test_prefix}query_cost_estimator mg-query-with-kvstore-dummy)
|
||||
|
||||
add_unit_test(query_expression_evaluator.cpp)
|
||||
target_link_libraries(${test_prefix}query_expression_evaluator mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
target_link_libraries(${test_prefix}query_expression_evaluator mg-query-with-kvstore-dummy)
|
||||
|
||||
add_unit_test(plan_pretty_print.cpp)
|
||||
target_link_libraries(${test_prefix}plan_pretty_print mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
target_link_libraries(${test_prefix}plan_pretty_print mg-query-with-kvstore-dummy)
|
||||
|
||||
add_unit_test(query_dump.cpp)
|
||||
target_link_libraries(${test_prefix}query_dump mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
add_unit_test(query_dump.cpp ${CMAKE_SOURCE_DIR}/src/glue/communication.cpp)
|
||||
target_link_libraries(${test_prefix}query_dump mg-communication mg-query-with-kvstore-dummy)
|
||||
|
||||
add_unit_test(query_pretty_print.cpp)
|
||||
target_link_libraries(${test_prefix}query_pretty_print mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
target_link_libraries(${test_prefix}query_pretty_print mg-query-with-kvstore-dummy)
|
||||
|
||||
add_unit_test(query_profile.cpp)
|
||||
target_link_libraries(${test_prefix}query_profile mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
target_link_libraries(${test_prefix}query_profile mg-query-with-kvstore-dummy)
|
||||
|
||||
add_unit_test(query_plan_accumulate_aggregate.cpp)
|
||||
target_link_libraries(${test_prefix}query_plan_accumulate_aggregate mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
target_link_libraries(${test_prefix}query_plan_accumulate_aggregate mg-query-with-kvstore-dummy)
|
||||
|
||||
add_unit_test(query_plan_bag_semantics.cpp)
|
||||
target_link_libraries(${test_prefix}query_plan_bag_semantics mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
target_link_libraries(${test_prefix}query_plan_bag_semantics mg-query-with-kvstore-dummy)
|
||||
|
||||
add_unit_test(query_plan_create_set_remove_delete.cpp)
|
||||
target_link_libraries(${test_prefix}query_plan_create_set_remove_delete mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
target_link_libraries(${test_prefix}query_plan_create_set_remove_delete mg-query-with-kvstore-dummy)
|
||||
|
||||
# Storage V2 in query execution
|
||||
add_unit_test(query_plan_v2_create_set_remove_delete.cpp)
|
||||
target_link_libraries(${test_prefix}query_plan_v2_create_set_remove_delete mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
target_link_libraries(${test_prefix}query_plan_v2_create_set_remove_delete mg-query-with-kvstore-dummy)
|
||||
# END Storage V2 in query execution
|
||||
|
||||
add_unit_test(query_plan_edge_cases.cpp)
|
||||
target_link_libraries(${test_prefix}query_plan_edge_cases mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
add_unit_test(query_plan_edge_cases.cpp ${CMAKE_SOURCE_DIR}/src/glue/communication.cpp)
|
||||
target_link_libraries(${test_prefix}query_plan_edge_cases mg-communication mg-query-with-kvstore-dummy)
|
||||
|
||||
add_unit_test(query_plan_match_filter_return.cpp)
|
||||
target_link_libraries(${test_prefix}query_plan_match_filter_return mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
target_link_libraries(${test_prefix}query_plan_match_filter_return mg-query-with-kvstore-dummy)
|
||||
|
||||
add_unit_test(query_plan.cpp)
|
||||
target_link_libraries(${test_prefix}query_plan mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
target_link_libraries(${test_prefix}query_plan mg-query-with-kvstore-dummy)
|
||||
|
||||
# Test query/procedure
|
||||
add_unit_test(query_procedure_mgp_type.cpp)
|
||||
target_link_libraries(${test_prefix}query_procedure_mgp_type mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
target_link_libraries(${test_prefix}query_procedure_mgp_type mg-query-with-kvstore-dummy)
|
||||
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-v2 mg-auth kvstore_dummy_lib)
|
||||
target_link_libraries(${test_prefix}query_procedure_mgp_module mg-query-with-kvstore-dummy)
|
||||
target_include_directories(${test_prefix}query_procedure_mgp_module PRIVATE ${CMAKE_SOURCE_DIR}/include)
|
||||
# END query/procedure
|
||||
|
||||
add_unit_test(query_required_privileges.cpp)
|
||||
target_link_libraries(${test_prefix}query_required_privileges mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
target_link_libraries(${test_prefix}query_required_privileges mg-query-with-kvstore-dummy)
|
||||
|
||||
add_unit_test(query_semantic.cpp)
|
||||
target_link_libraries(${test_prefix}query_semantic mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
target_link_libraries(${test_prefix}query_semantic mg-query-with-kvstore-dummy)
|
||||
|
||||
add_unit_test(query_variable_start_planner.cpp)
|
||||
target_link_libraries(${test_prefix}query_variable_start_planner mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
target_link_libraries(${test_prefix}query_variable_start_planner mg-query-with-kvstore-dummy)
|
||||
|
||||
add_unit_test(stripped.cpp)
|
||||
target_link_libraries(${test_prefix}stripped mg-query-with-kvstore-dummy)
|
||||
|
||||
add_unit_test(typed_value.cpp)
|
||||
target_link_libraries(${test_prefix}typed_value mg-query-with-kvstore-dummy)
|
||||
|
||||
# END mg-query
|
||||
|
||||
add_unit_test(queue.cpp)
|
||||
target_link_libraries(${test_prefix}queue mg-single-node kvstore_dummy_lib)
|
||||
@ -208,15 +218,9 @@ target_link_libraries(${test_prefix}static_bitset mg-single-node kvstore_dummy_l
|
||||
add_unit_test(storage_stat.cpp)
|
||||
target_link_libraries(${test_prefix}storage_stat mg-single-node kvstore_dummy_lib)
|
||||
|
||||
add_unit_test(stripped.cpp)
|
||||
target_link_libraries(${test_prefix}stripped mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
|
||||
add_unit_test(transaction_engine_single_node.cpp)
|
||||
target_link_libraries(${test_prefix}transaction_engine_single_node mg-single-node kvstore_dummy_lib)
|
||||
|
||||
add_unit_test(typed_value.cpp)
|
||||
target_link_libraries(${test_prefix}typed_value mg-single-node-v2 mg-auth kvstore_dummy_lib)
|
||||
|
||||
add_unit_test(unique_constraints.cpp)
|
||||
target_link_libraries(${test_prefix}unique_constraints mg-single-node kvstore_dummy_lib)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user