Open-source graph database, built for real-time streaming data, compatible with Neo4j.
Go to file
florijan be16409da2 Harness MATCH tests refactored
Summary:
1. Test setup rewritten to take cca 8 seconds. Note that edges are created by using:
`MATCH (a) WITH a MATCH (b) WITH b WHERE rand() < X CREATE (a)-[:ET]->(b)`
Where `X` is a threshold calculated so the desired edge count is the expectation. This seems the only feasable way of generating a large number of edges since query execution does not depend on edge count, but on vertex count.

2. Using the new `assert` function to verify graph state. I recommend doing that in all the harness tests (I don't think we currently have something better).

3. All tests rewritten to take around 200ms per iteration.

4. Test are using SKIP to avoid sending data to the client, but ensure that appropriate operations get executed. This currently seems like the best way of removing unwanted side-effects.

Harness will cost us our sanity. And it doesn't even provide good quality regression testing we really need :(

Reviewers: buda, mislav.bradac, mferencevic

Reviewed By: mferencevic

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D752
2017-09-07 12:05:05 +02:00
cmake Make GNU Readline dependency optional 2017-03-24 12:42:45 +01:00
config Use 1 worker in benchmarks 2017-08-29 12:35:34 +02:00
docs Workin progress. v0.7.0 docs update + update script. 2017-09-07 09:46:55 +02:00
experimental Distributed Memgraph with Reactors (first queries) 2017-08-25 15:26:10 +02:00
libs Reduced libs/setup.sh wget verbosity. 2017-09-06 13:39:54 +02:00
poc utils::auto_scope refactor 2017-08-11 09:43:10 +02:00
release Remove LOG_NO_STDOUT flag 2017-08-24 10:45:35 +02:00
src Added parameters to query logging. 2017-09-06 16:48:09 +02:00
tests Harness MATCH tests refactored 2017-09-07 12:05:05 +02:00
tools Harness MATCH tests refactored 2017-09-07 12:05:05 +02:00
.arcconfig Set arc.land.onto.default to dev 2017-03-03 13:33:45 +01:00
.clang-format Query - LogicalOp - visitable bug fix 2017-03-22 14:14:01 +01:00
.gdbinit Add pretty printer to gdb for TypedValue 2017-08-16 11:32:25 +02:00
.gitignore Removed Double Locking, Simplified Ownership or LocalEventStream, .... 2017-08-04 17:58:22 +02:00
.ycm_extra_conf.py Adding callback by type (Work in Progress) 2017-08-08 15:56:49 +02:00
CHANGELOG.md Fixed bolt decoder chunked buffer implementation. 2017-09-06 13:19:42 +02:00
CMakeLists.txt Inline filter inside ExpandVariable 2017-08-30 16:23:16 +02:00
coverage Silence ctest when running for coverage 2017-06-13 11:54:43 +02:00
Doxyfile Enable AUTOBRIEF for doxygen 2017-06-02 08:59:49 +02:00
Doxylogo.png Doxygen setup 2016-12-20 15:49:52 +01:00
format Migrate command line args to gflgs in tests 2017-07-06 13:54:12 +02:00
init Remove unnecessary requirements 2017-08-28 10:19:14 +02:00
install_neo NeoRunner + Harness bugfix 2017-07-29 17:46:24 +02:00
llvm-gcov memgraph coverage (lcov setup in progress...) 2017-03-07 18:27:03 +01:00
README.md Migrate command line args to gflgs in tests 2017-07-06 13:54:12 +02:00

memgraph

Memgraph is an ACID compliant high performance transactional distributed in-memory graph database featuring runtime native query compiling, lock free data structures, multi-version concurrency control and asynchronous IO.

dependencies

Memgraph can be compiled using any modern c++ compiler. It mostly relies on the standard template library, however, some things do require external libraries.

Some code contains linux-specific libraries and the build is only supported on a 64 bit linux kernel.

  • linux
  • clang 3.8 (good c++11 support, especially lock free atomics)
  • antlr (compiler frontend)
  • cppitertools
  • fmt format
  • google benchmark
  • google test
  • glog
  • gflags