memgraph/src
Teon Banek 4db62b18f0 Decouple visiting of distributed operators from regular
Summary:
Visitor pattern's main issue is cyclical dependency between classes that
are visited and the visitor instance itself. We need to decouple this
dependency if we want to open source part of the code, namely
non-distributed part. This decoupling is achieved through the use of
`dynamic_cast` in distributed operators. Hopefully the solution is good
enough and doesn't cause performance issues. An alternative solution is
to build our own custom double dispatch solution, but that will
basically boil down to our implementation of runtime type information
and casts.

Note, this only decouples the distributed operators. If and when we
decide that other operators shouldn't be open sourced, the same
`dynamic_cast` pattern should be applied in them also.

Depends on D1563

Reviewers: mtomic, msantl, buda

Reviewed By: mtomic

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D1566
2018-08-28 14:53:02 +02:00
..
auth Integrate auth checks into query execution 2018-08-22 11:44:09 +02:00
communication Fix network buffer resize bug 2018-08-14 16:33:31 +02:00
data_structures Refactor / remove unused lockfree list 2018-07-16 11:43:09 +01:00
database Extract distributed interpretation out of Interpreter 2018-08-27 09:31:39 +02:00
distributed Move distributed operators to its own file 2018-08-28 14:47:14 +02:00
durability Fix issue with wal_file initialization 2018-08-24 11:40:58 +02:00
glue Integrate auth checks into query execution 2018-08-22 11:44:09 +02:00
integrations Implement kafka integration test 2018-08-14 11:47:54 +02:00
io Implement SSL support for servers and clients 2018-06-20 17:56:47 +02:00
lisp Move distributed operators to its own file 2018-08-28 14:47:14 +02:00
mvcc Refactor Cache and DataManager 2018-08-23 09:03:40 +02:00
query Decouple visiting of distributed operators from regular 2018-08-28 14:53:02 +02:00
requests Implement kafka transform functionality 2018-07-19 12:52:25 +02:00
stats Extract stats to static lib 2018-08-23 10:33:50 +02:00
storage Integrate auth checks into query execution 2018-08-22 11:44:09 +02:00
telemetry Implement kafka transform functionality 2018-07-19 12:52:25 +02:00
transactions Write committed/aborted op to wal 2018-07-05 12:43:18 +02:00
utils Extract stats to static lib 2018-08-23 10:33:50 +02:00
CMakeLists.txt Move distributed operators to its own file 2018-08-28 14:47:14 +02:00
config.hpp Make csv_to_snapshot more user friendly 2017-10-26 09:37:56 +02:00
memgraph_bolt.cpp Extract distributed interpretation out of Interpreter 2018-08-27 09:31:39 +02:00
version.hpp.in Add version.hpp.in and display it on '--version' flag 2017-09-27 09:04:44 +02:00