memgraph/tests/manual
florijan 76fe8bfadf Variable expansion consolidaton
Summary:
- Removed BreadthFirstAtom, using EdgeAtom only with a Type enum.
- Both variable expansions (breadth and depth first) now have mandatory inner node and edge Identifiers.
- Both variable expansions use inline property filtering and support inline lambdas.
- BFS and variable expansion now have the same planning process.
- Planner modified in the following ways:
	- Variable expansions support inline property filtering (two filters added to all_filters, one for inline, one for post-expand).
	- Asserting against existing_edge since we don't support that anymore.
	- Edge and node symbols bound after variable expansion to disallow post-expand filters to get inlined.
	- Some things simplified due to different handling.
- BreadthFirstExpand logical operator merged into ExpandVariable. Two Cursor classes remain and are dynamically chosen from.

As part of planned planner refactor we should ensure that a filter is applied only once. The current implementation is very suboptimal for property filtering in variable expansions.

@buda: we will start refactoring this these days. This current planner logic is too dense and complex. It is becoming technical debt. Most of the time I spent working on this has been spent figuring the planning out, and I still needed Teon's help at times. Implementing the correct and optimal version of query execution (avoiding multiple potentially expensive filterings) was out of reach also due to tech debt.

Reviewers: buda, teon.banek

Reviewed By: teon.banek

Subscribers: pullbot, buda

Differential Revision: https://phabricator.memgraph.io/D852
2017-10-05 13:12:39 +02:00
..
antlr_parser.cpp youcompleteme config has been added to the repo 2017-02-20 14:17:41 +01:00
antlr_sigsegv.cpp Added antlr sigsegv test. 2017-08-03 13:06:18 +02:00
antlr_tree_pretty_print.cpp Implement expression code generator 2017-03-08 14:10:16 +01:00
binomial.cpp Labels implementation. 2017-04-03 11:50:22 +02:00
bolt_client.cpp Add single_create group to harness 2017-08-28 11:45:12 +02:00
CMakeLists.txt Add option whether to link with libreadline or not 2017-10-04 15:23:11 +02:00
console_test.cpp Console and random-graph generation improvements 2017-08-02 12:23:51 +02:00
endinan.cpp examples folder has been removed; src/test folder has been removed; the existing tests were moved to tests folder; StacktraceException has been introduced; query_plan_templated has been moved to query folder; hazard pointers have been deleted because they are not used any more 2017-02-18 18:03:48 +01:00
query_hash.cpp Migrate command line args to gflgs in tests 2017-07-06 13:54:12 +02:00
query_planner.cpp Variable expansion consolidaton 2017-10-05 13:12:39 +02:00
sl_position_and_count.cpp GraphDbAccessor - label+property index cardinalities for exact value and value ranges 2017-07-06 10:22:19 +02:00
stripped_timing.cpp Add AST cache 2017-06-14 18:59:31 +02:00
test_antlr_sigsegv Added antlr sigsegv test. 2017-08-03 13:06:18 +02:00
xorshift.cpp Fix naming of asserts.runtime_assert & assert -> debug_assert 2017-02-24 11:41:55 +01:00