Open-source graph database, built for real-time streaming data, compatible with Neo4j.
Go to file
florijan b65fcc8f90 Bolt: BaseEncoder split into PrimitiveEncoder and BaseEncoder
Summary:
This is an attempt at solving circular dependencies happening in WAL implementation. The cycle is:

BaseEncoder -> GraphDbAccessor -> GraphDb -> WAL -> BaseEncoder.

The cycle will be broken by this diff because the WAL only needs primitive encoding and will be able to use `PrimitiveEncoder` only.

This fix is not ideal, since the BaseEncoder -> GraphDbAccessor dependency is very unnatural. This could probably be fixes properly with a refactor of GraphDb/GraphDbAccessor that is in the post, but that takes time and this fix is not very dirty, more of an added complication.

Reviewers: buda, mferencevic

Reviewed By: buda

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D925
2017-10-24 09:47:00 +02:00
cmake Add option whether to link with libreadline or not 2017-10-04 15:23:11 +02:00
config Fill the alpha.conf with all settings and document them 2017-10-06 15:15:19 +02:00
customers/ravelin Clients: ravelin 2017-10-09 14:34:46 +02:00
docs Fixed openCypher documentation query indentation. 2017-10-11 13:55:46 +02:00
experimental Remove unused stuff from CMakeLists 2017-10-16 13:45:18 +02:00
libs Remove unused stuff from CMakeLists 2017-10-16 13:45:18 +02:00
poc Remove unused stuff from CMakeLists 2017-10-16 13:45:18 +02:00
release Add tagging docker image as latest 2017-10-11 13:05:18 +02:00
src Bolt: BaseEncoder split into PrimitiveEncoder and BaseEncoder 2017-10-24 09:47:00 +02:00
tests Ring buffer added 2017-10-24 08:53:35 +02:00
tools Durability - snapshot magic num, version and tx snapshot added 2017-10-23 15:51:35 +02:00
.arcconfig Set arc.land.onto.default to dev 2017-03-03 13:33:45 +01:00
.clang-format Edges data structure now supports multiple edge filtering (implicit OR) 2017-09-26 13:46:18 +02:00
.gdbinit Add pretty printer to gdb for TypedValue 2017-08-16 11:32:25 +02:00
.gitignore LDBC plot script update 2017-10-08 14:23:53 +01:00
.ycm_extra_conf.py Close session on timeouts 2017-10-17 14:34:31 +02:00
CHANGELOG.md Durability - snapshot magic num, version and tx snapshot added 2017-10-23 15:51:35 +02:00
CMakeLists.txt Close session on timeouts 2017-10-17 14:34:31 +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