Open-source graph database, built for real-time streaming data, compatible with Neo4j.
Go to file
Dominik Gleich 22ea809c67 Fix tck - and all of memgraph in the process.
Summary:
When running tck tests there was a peculiar behavior where sometimes some queries worked, and sometimes they failed. Nothing was failing when memgraph was restarted between each query (scenario) - which points to MATCH DETACH DELETE not working correctly.

What was happening is the following: some transaction would update the record in version list and set it's expiry to it's id. Along with that some transaction would query the mentioned record - and would set the hints flags for that expiration transaction status (which was aborted - which is fine at this moment). After some while, because the record is not really deleted because it's not aborted some other transaction would modify it's expiry transaction (this time making the transaction commited), but because the hints flags were not updated - they would still return the status for the old transaction - which was aborted. This made some records available even though they were deleted.

Reviewers: mislav.bradac, florijan, teon.banek, matej.gradicek, buda

Reviewed By: buda

Subscribers: buda, lion, pullbot

Differential Revision: https://phabricator.memgraph.io/D370
2017-05-17 15:27:40 +02:00
cmake Make GNU Readline dependency optional 2017-03-24 12:42:45 +01:00
config Summary:Added files for snapshot durability 2017-05-17 08:42:00 +00:00
docs Doxygen setup 2016-12-20 15:49:52 +01:00
libs memgraph coverage (lcov setup in progress...) 2017-03-07 18:27:03 +01:00
poc Add variable with all memgraph dependent libraries 2017-04-27 18:40:34 +02:00
release Interpreter build script + dockerfile. 2017-04-13 14:58:14 +02:00
src Fix tck - and all of memgraph in the process. 2017-05-17 15:27:40 +02:00
tests Fix tck - and all of memgraph in the process. 2017-05-17 15:27:40 +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
.gitignore Interpreter works! 2017-03-12 03:05:31 +01:00
.ycm_extra_conf.py Start implementing compiler structures 2017-02-23 18:12:24 +01:00
CMakeLists.txt Summary:Added files for snapshot durability 2017-05-17 08:42:00 +00:00
coverage Coverage for test binaries is excluded. 2017-03-23 16:07:25 +01:00
Doxyfile antlr integration, *.hpp and *.cpp inside src dir, cleanup 2017-02-17 16:20:31 +01:00
Doxylogo.png Doxygen setup 2016-12-20 15:49:52 +01:00
format memgraph coverage (lcov setup in progress...) 2017-03-07 18:27:03 +01:00
init init: Add optional & required dependency checking 2017-04-07 09:27:12 +02:00
llvm-gcov memgraph coverage (lcov setup in progress...) 2017-03-07 18:27:03 +01:00
README.md benchmark folder has been removed from the root dir, README update, measure_time.hpp comments 2017-02-18 14:36:50 +01: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
  • yaml-cpp