2055176139
Summary: This is still very much in progress. No advanced checks are done to prevent planning unimplemented things. Basic Cartesian product should work, for example `MATCH (a), (b) CREATE (a)-[:r]->(c)-[:r]->(b)`. But anything more advanced may lead to undefined behaviour of the planner and therefore execution. Use at your own risk! Add ModifiedSymbols method to LogicalOperator For planning Cartesian, we need information on which symbols are filled by operator sub-trees. Currently, this is used to set symbols which should be transferred over network. Later, they should be used to detect whether filter expressions use symbols modified from Cartesian branches. Then we will be able to ensure correct dependency of filters and their behaviour. Prepare DistributedPlan for multiple worker plans Since Cartesian branches need to be split and handled by each worker, we now dispatch multiple plans to workers. Reviewers: florijan, msantl, buda Reviewed By: florijan Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D1208 |
||
---|---|---|
.. | ||
antlr_parser.cpp | ||
antlr_sigsegv.cpp | ||
antlr_tree_pretty_print.cpp | ||
binomial.cpp | ||
bolt_client.cpp | ||
card_fraud_generate_snapshot.cpp | ||
CMakeLists.txt | ||
console_test.cpp | ||
endinan.cpp | ||
generate_snapshot.cpp | ||
query_hash.cpp | ||
query_planner.cpp | ||
raft_rpc.cpp | ||
single_query.cpp | ||
sl_position_and_count.cpp | ||
stripped_timing.cpp | ||
test_antlr_sigsegv | ||
xorshift.cpp |