memgraph/tests/unit
Teon Banek 5f7837d613 Serialize Ast classes
Summary:
Although the first solution used cereal, the final implementation uses
boost. Since the cereal is still used in the codebase, compilation has
been modified to support multithreaded cereal.

In addition to serializing Ast classes, the following also needed to be
serialized:

  * GraphDbTypes
  * Symbol
  * TypedValue

TypedValue is treated specially, by inlining the serialization code in
the Ast class, concretely PrimitiveLiteral.

Another special case was the Function Ast class, which now stores a
function name which is resolved to a concrete std::function on
construction.

Tests have been added for serialized Ast in
tests/unit/cypher_main_visitor

Reviewers: mferencevic, mislav.bradac, florijan

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D1067
2017-12-20 13:28:34 +01:00
..
bolt_buffer.cpp Use GLogger instead of broken memgraph Logger. 2017-06-21 15:33:24 +02:00
bolt_chunked_decoder_buffer.cpp Fixed bolt decoder chunked buffer implementation. 2017-09-06 13:19:42 +02:00
bolt_chunked_encoder_buffer.cpp Fixed bolt chunked encoder buffer for big data. 2017-09-06 15:36:24 +02:00
bolt_common.hpp Close session on timeouts 2017-10-17 14:34:31 +02:00
bolt_decoder.cpp First version of bolt cpp client. 2017-08-24 17:44:44 +02:00
bolt_encoder.cpp Add RPC to distributed tx::Engine 2017-12-11 11:05:01 +01:00
bolt_result_stream.cpp Use GLogger instead of broken memgraph Logger. 2017-06-21 15:33:24 +02:00
bolt_session.cpp Close session on timeouts 2017-10-17 14:34:31 +02:00
bolt_testdata.hpp Removed large bolt encoder test to reduce runtime. 2017-05-03 14:50:02 +02:00
CMakeLists.txt Remove unused stuff from CMakeLists 2017-10-16 13:45:18 +02:00
concurrent_id_mapper_distributed.cpp Add RPC to concurrent ID mapper 2017-12-19 09:11:16 +01:00
concurrent_id_mapper_single_node.cpp Add master/worker flags, main functions and coordination 2017-12-19 16:05:57 +01:00
concurrent_list.cpp clang format has been run on all hpp and cpp files under src and tests 2017-02-18 11:54:37 +01:00
concurrent_map_access.cpp Const map/set iteration. 2017-10-12 16:35:39 +02:00
concurrent_map.cpp Remove traces of custom assert 2017-10-13 09:34:13 +02:00
concurrent_set.cpp Remove traces of custom assert 2017-10-13 09:34:13 +02:00
cypher_main_visitor.cpp Serialize Ast classes 2017-12-20 13:28:34 +01:00
database_key_index.cpp Prepare transactional engine for distributed 2017-12-01 09:17:44 +01:00
database_label_property_index.cpp Prepare transactional engine for distributed 2017-12-01 09:17:44 +01:00
database_transaction_timeout.cpp Remove Dbms 2017-10-30 12:33:29 +01:00
datastructure_union_find.cpp Add parallel customers/Otto test 2017-11-23 09:20:53 +01:00
deferred_deleter.cpp Make gc more aggressive and optimise is_not_visible function 2017-10-06 10:07:55 +02:00
distributed_coordination.cpp Add master/worker flags, main functions and coordination 2017-12-19 16:05:57 +01:00
durability.cpp Fix durability test flakyness 2017-12-08 15:16:49 +01:00
dynamic_bitset.cpp Newer bits on head chunk in DynamicBitset 2017-09-20 16:56:58 +02:00
exceptions.cpp Merge utils/exceptions into single file 2017-04-20 16:53:21 +02:00
executor.cpp Remove executor not run option 2017-12-18 14:36:15 +01:00
fswatcher.cpp Use GLogger instead of broken memgraph Logger. 2017-06-21 15:33:24 +02:00
graph_db_accessor_index_api.cpp Allow concurrent index creation 2017-11-28 16:44:12 +01:00
graph_db_accessor.cpp Refactor global ids and prepare for distributed 2017-12-05 13:05:55 +01:00
graph_db.cpp Cleanup durability config, docs, CHANGELOG 2017-11-21 10:17:13 +01:00
interpreter.cpp Remove Dbms 2017-10-30 12:33:29 +01:00
messaging_distributed.cpp Fix flakyness in rpc/messaging tests 2017-12-13 13:15:02 +01:00
messaging_local.cpp Add first version of message passing and rpc 2017-12-05 14:51:18 +01:00
mvcc_find_update_common.hpp Prepare transactional engine for distributed 2017-12-01 09:17:44 +01:00
mvcc_find.cpp GC bugfixes, MVCC and transaction refactoring 2017-06-12 10:46:12 +02:00
mvcc_gc_common.hpp Prepare transactional engine for distributed 2017-12-01 09:17:44 +01:00
mvcc_gc.cpp Prepare transactional engine for distributed 2017-12-01 09:17:44 +01:00
mvcc_one_transaction.cpp Fix mvcc tests 2017-10-19 12:58:23 +02:00
mvcc_parallel_update.cpp Fix mvcc tests 2017-10-19 12:58:23 +02:00
mvcc.cpp Prepare transactional engine for distributed 2017-12-01 09:17:44 +01:00
network_endpoint.cpp Assert on endpoint failures 2017-12-12 14:27:24 +01:00
network_timeouts.cpp Close session on timeouts 2017-10-17 14:34:31 +02:00
property_value_store.cpp PropertyValueStore - remove Accept function (never used, never will be) 2017-09-13 10:11:55 +02:00
query_common.hpp Serialize Ast classes 2017-12-20 13:28:34 +01:00
query_cost_estimator.cpp Remove Dbms 2017-10-30 12:33:29 +01:00
query_expression_evaluator.cpp Serialize Ast classes 2017-12-20 13:28:34 +01:00
query_plan_accumulate_aggregate.cpp Remove Dbms 2017-10-30 12:33:29 +01:00
query_plan_bag_semantics.cpp Remove Dbms 2017-10-30 12:33:29 +01:00
query_plan_common.hpp Variable expansion consolidaton 2017-10-05 13:12:39 +02:00
query_plan_create_set_remove_delete.cpp Migrate labels/properties/edgetypes to ids 2017-11-23 17:12:37 +01:00
query_plan_edge_cases.cpp Remove Dbms 2017-10-30 12:33:29 +01:00
query_plan_match_filter_return.cpp Write-ahead log 2017-11-13 09:51:39 +01:00
query_planner.cpp Implement UNION query combinator 2017-12-13 09:54:00 +01:00
query_semantic.cpp Implement UNION query combinator 2017-12-13 09:54:00 +01:00
query_variable_start_planner.cpp Implement UNION query combinator 2017-12-13 09:54:00 +01:00
queue.cpp Add first version of message passing and rpc 2017-12-05 14:51:18 +01:00
raft.cpp Add simple client facing API for RaftMember 2017-12-18 07:32:39 +01:00
reactor_distributed.cpp Remove FindChannel function 2017-11-17 10:11:17 +01:00
reactor_local.cpp Remove FindChannel function 2017-11-17 10:11:17 +01:00
record_edge_vertex_accessor.cpp Prepare record accessor for distributed 2017-12-08 14:12:18 +01:00
ring_buffer.cpp RingBuffer - buffer on heap instead of stack 2017-11-02 12:07:23 +01:00
rpc.cpp Add rpc server local thread 2017-12-14 13:37:32 +01:00
scheduler.cpp Change scheduler to first wait then execute 2017-10-09 15:40:00 +02:00
signal_handler.cpp Prevent double termination signals causing crashes 2017-11-09 10:41:16 +01:00
skiplist_access.cpp Const map/set iteration. 2017-10-12 16:35:39 +02:00
skiplist_gc.cpp Remove executor not run option 2017-12-18 14:36:15 +01:00
skiplist_position_and_count.cpp Replace debug_assert, permanent_assert with DCHECK/CHECK 2017-10-11 14:43:32 +02:00
skiplist_reverse_iteration.cpp Logger in this test somehow breaks code coverage. Argh... 2017-04-07 09:44:12 +02:00
skiplist_suffix.cpp Const iterator works. 2017-10-11 11:01:24 +02:00
state_delta.cpp Refactor operations into StateDeltas 2017-12-07 14:23:41 +01:00
static_bitset.cpp Fix tests that expect debug_assert to fail 2017-08-07 16:38:15 +02:00
storage_address.cpp Refactor global ids and prepare for distributed 2017-12-05 13:05:55 +01:00
stripped.cpp Fix semicolon in column name 2017-12-14 09:44:21 +01:00
timestamp.cpp all unit tests are gtests 2017-02-19 23:47:09 +01:00
transaction_engine_master.cpp Add RPC to distributed tx::Engine 2017-12-11 11:05:01 +01:00
transaction_engine_worker.cpp Add master/worker flags, main functions and coordination 2017-12-19 16:05:57 +01:00
typed_value.cpp Remove Dbms 2017-10-30 12:33:29 +01:00
utils_on_scope_exit.cpp utils::auto_scope refactor 2017-08-11 09:43:10 +02:00
utils_string.cpp Fix durability test flakyness 2017-12-04 13:46:56 +01:00
watchdog.cpp Add Watchdog utility 2017-11-09 11:23:11 +01:00