Open-source graph database, built for real-time streaming data, compatible with Neo4j.
cyphergraphgraph-algorithmsgraph-analysisgraph-databasekafkakafka-streamsnosqlopencypherstream-processingstreaming-data
22ea809c67
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 |
||
---|---|---|
cmake | ||
config | ||
docs | ||
libs | ||
poc | ||
release | ||
src | ||
tests | ||
.arcconfig | ||
.clang-format | ||
.gitignore | ||
.ycm_extra_conf.py | ||
CMakeLists.txt | ||
coverage | ||
Doxyfile | ||
Doxylogo.png | ||
format | ||
init | ||
llvm-gcov | ||
README.md |
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