memgraph/tests/manual
Marin Tomic b5cdf6b476 Clean-up TypedValue misuse
Summary:
In a bunch of places `TypedValue` was used where `PropertyValue` should be. A lot of times it was only because `TypedValue` serialization code could be reused for `PropertyValue`, only without providing callbacks for `VERTEX`, `EDGE` and `PATH`. So first I wrote separate serialization code for `PropertyValue` and put it into storage folder. Then I fixed all the places where `TypedValue` was incorrectly used instead of `PropertyValue`. I also disabled implicit `TypedValue` to `PropertyValue` conversion in hopes of preventing misuse in the future.

After that, I wrote code for `VertexAccessor` and `EdgeAccessor` serialization and put it into `storage` folder because it was almost duplicated in distributed BFS and pull produce RPC messages. On the sender side, some subset of records (old or new or both) is serialized, and on the reciever side, records are deserialized and immediately put into transaction cache.

Then I rewrote the `TypedValue` serialization functions (`SaveCapnpTypedValue` and `LoadCapnpTypedValue`) to not take callbacks for `VERTEX`, `EDGE` and `PATH`, but use accessor serialization functions instead. That means that any code that wants to use `TypedValue` serialization must hold a reference to `GraphDbAccessor` and `DataManager`, so that should make clients reconsider if they really want to use `TypedValue` instead of `PropertyValue`.

Reviewers: teon.banek, msantl

Reviewed By: teon.banek

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D1598
2018-09-13 13:45:54 +02:00
..
snapshot_generation Add magic number to WAL and fix version consistency check 2018-08-29 16:53:10 +02:00
antlr_parser.cpp Separate auth/stream queries from rest of cypher 2018-07-30 12:29:36 +02:00
antlr_sigsegv.cpp Clean utils folder (namespaces, function names) 2018-04-22 09:44:32 +02:00
antlr_tree_pretty_print.cpp Separate auth/stream queries from rest of cypher 2018-07-30 12:29:36 +02:00
binomial.cpp Clean utils folder (namespaces, function names) 2018-04-22 09:44:32 +02:00
bolt_client.cpp Implement SSL support for servers and clients 2018-06-20 17:56:47 +02:00
card_fraud_generate_snapshot.cpp Clean utils folder (namespaces, function names) 2018-04-22 09:44:32 +02:00
card_fraud_local.cpp Extract io/network into mg-io library 2018-05-30 14:58:41 +02:00
CMakeLists.txt Durability utility 2018-08-10 09:21:09 +02:00
distributed_common.hpp Clean-up TypedValue misuse 2018-09-13 13:45:54 +02:00
distributed_repl.cpp Extract distributed interpretation out of Interpreter 2018-08-27 09:31:39 +02:00
endinan.cpp examples folder has been removed; src/test folder has been removed; the existing tests were moved to tests folder; StacktraceException has been introduced; query_plan_templated has been moved to query folder; hazard pointers have been deleted because they are not used any more 2017-02-18 18:03:48 +01:00
generate_snapshot.cpp Refactor snapshot generators to reduce code duplication 2018-03-22 17:27:45 +01:00
graph_500_generate_snapshot.cpp Distributed BFS 2018-05-15 17:38:51 +02:00
kvstore_console.cpp Initial implementation of telemetry 2018-06-20 14:49:07 +02:00
query_hash.cpp Clean utils folder (namespaces, function names) 2018-04-22 09:44:32 +02:00
query_planner.cpp Move Parameters into EvaluationContext 2018-09-11 13:32:29 +02:00
repl.cpp Extract distributed interpretation out of Interpreter 2018-08-27 09:31:39 +02:00
single_query.cpp Extract distributed interpretation out of Interpreter 2018-08-27 09:31:39 +02:00
sl_position_and_count.cpp GraphDbAccessor - label+property index cardinalities for exact value and value ranges 2017-07-06 10:22:19 +02:00
snapshot_explorer.cpp Add magic number to WAL and fix version consistency check 2018-08-29 16:53:10 +02:00
ssl_client.cpp Implement SSL support for servers and clients 2018-06-20 17:56:47 +02:00
ssl_server.cpp Refactor network stack to use * instead of & 2018-09-03 20:20:42 +02:00
stripped_timing.cpp Add AST cache 2017-06-14 18:59:31 +02:00
test_antlr_sigsegv Added antlr sigsegv test. 2017-08-03 13:06:18 +02:00
wal_explorer.cpp Add magic number to WAL and fix version consistency check 2018-08-29 16:53:10 +02:00
xorshift.cpp Clean utils folder (namespaces, function names) 2018-04-22 09:44:32 +02:00