03c78c1277
Summary: - The new BFS syntax implemented as proposed. - AST BreadthFirstAtom now uses EdgeAtom members: has_range_{true}, upper_bound_, lower_bound_ - Edges data structure now handles all the edge filtering (single or multiple edges), to ease planning. Additional edge filtering (additional Filter op in the plan) is removed. AST EdgeTypeTest is no longer used and is removed. Current state is stable but there are things left to do: - BFS property filtering. - BFS lower_bound_ support. - Support for lambdas in variable length expansion. This includes obligatory (even if not user_defined) inner_node and inner_edge symbols for easier handling. - Code-sharing between BFS and variable length expansions. I'll add asana tasks (and probably start working on them immediately) when/if this lands. Reviewers: buda, teon.banek, mislav.bradac Reviewed By: teon.banek Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D836 |
||
---|---|---|
.. | ||
tck_engine | ||
.gitignore | ||
continuous_integration | ||
filter_failing_scenarios | ||
plot_latency | ||
README.md | ||
requirements.txt | ||
run |
Memgraph quality assurance
In order to test dressipi's queries agains memgraph the following commands have to be executed: 1. ./init [Dxyz] # downloads query implementations + memgraph # (the auth is manually for now) + optionally user can # define arcanist diff which will be applied on the # memgraph source code 2. ./run # compiles and runs database instance, also runs the # test queries
TODO: automate further
TCK Engine
Python script used to run tck tests against memgraph. To run script execute:
1. python3 tck_engine/test_executor.py
Script uses Behave to run Cucumber tests.
The following tck tests have been changed:
1. Tests where example injection did not work. Behave stores the first row
in Cucumber tables as headings and the example injection is not working in
headings. To correct this behavior, one row was added to tables where
injection was used.
2. Tests where the results were not always in the same order. Query does not
specify the result order, but tests specified it. It led to the test failure.
To correct tests, tag "the result should be" was changed with a
tag "the result should be (ignoring element order for lists)".
3. Behave can't escape character '|' and it throws parse error. Query was then
changed and result was returned with different name.
Comparability.feature tests are failing because integers are compared to strings what is not allowed in openCypher.
TCK Engine problems:
1. Comparing tables with ordering.
ORDER BY x DESC
| x | y | | x | y |
| 3 | 2 | | 3 | 1 |
| 3 | 1 | | 3 | 2 |
| 1 | 4 | | 1 | 4 |
2. Properties side effects
| +properties | 1 |
| -properties | 1 |
Database is returning properties_set, not properties_created and properties_deleted.