memgraph/tests/unit
Tonko Sabolcec e2e7823ec4 Add basic support for unique constraints in storage
Summary:
This diff contains a basic implementation of unique constraints consistent with
the MVCC storage.
Stale records in the unique constraints are collected by the garbage collector.
Tests for checking correctness of unique constraints and violations are included.
Note: currently we only support a pair of label and a single property. Support for
multiple properties will be added later.

Reviewers: mferencevic, teon.banek

Reviewed By: mferencevic, teon.banek

Subscribers: buda, ipaljak, pullbot

Differential Revision: https://phabricator.memgraph.io/D2608
2020-02-10 12:45:28 +01:00
..
auth.cpp Migrate to C++17 2019-04-23 14:46:44 +02:00
bfs_common.hpp Remove old storage types 2020-01-23 14:32:33 +01:00
bfs_single_node.cpp Remove old storage types 2020-01-23 14:32:33 +01:00
bolt_chunked_decoder_buffer.cpp Refactor network stack to use * instead of & 2018-09-03 20:20:42 +02:00
bolt_chunked_encoder_buffer.cpp Support streaming of Bolt results 2018-07-18 13:01:50 +02:00
bolt_common.hpp Support streaming of Bolt results 2018-07-18 13:01:50 +02:00
bolt_decoder.cpp Rename bolt::DecodedValue to bolt::Value 2018-07-24 15:59:20 +02:00
bolt_encoder.cpp Remove old storage types 2020-01-23 14:32:33 +01:00
bolt_session.cpp Add server name to Bolt 2020-01-21 12:03:16 +01:00
bolt_testdata.hpp Removed large bolt encoder test to reduce runtime. 2017-05-03 14:50:02 +02:00
CMakeLists.txt Implement MG_ENTERPRISE CMake flag 2020-02-06 13:39:30 +01:00
commit_log_v2.cpp Fix CommitLog namespace in storage v2 2019-07-05 13:53:32 +02:00
communication_buffer.cpp Refactor network stack to use * instead of & 2018-09-03 20:20:42 +02:00
cypher_main_visitor.cpp Add syntax for limiting memory of CALL 2019-12-16 10:58:28 +01:00
formatters.hpp Remove output formatters from vertex/edge accessors 2019-11-20 20:12:19 +01:00
interpreter.cpp Remove old storage types 2020-01-23 14:32:33 +01:00
kvstore.cpp Move KVStore to root source directory 2020-01-24 16:01:51 +01:00
metrics.cpp Migrate to C++17 2019-04-23 14:46:44 +02:00
network_endpoint.cpp Rename NetworkEndpoint 2018-01-15 15:47:37 +01:00
network_timeouts.cpp Add explicit start to servers 2018-10-16 11:39:42 +02:00
network_utils.cpp Extract utils into mg-utils static library and explicitly list tests 2018-05-30 09:41:56 +02:00
plan_pretty_print.cpp Migrate tests to storage v2 part 1 2019-11-21 19:00:32 +01:00
property_value_v2.cpp Fix label+property index iteration in v2 2019-11-18 14:54:45 +01:00
query_common.hpp Migrate tests to storage v2 part 3 2019-11-25 16:21:04 +01:00
query_cost_estimator.cpp Remove old storage types 2020-01-23 14:32:33 +01:00
query_dump.cpp Remove leftover old storage types 2020-01-23 16:24:56 +01:00
query_expression_evaluator.cpp Remove old storage types 2020-01-23 14:32:33 +01:00
query_plan_accumulate_aggregate.cpp Remove old storage types 2020-01-23 14:32:33 +01:00
query_plan_bag_semantics.cpp Remove old storage types 2020-01-23 14:32:33 +01:00
query_plan_checker.hpp Remove old storage types 2020-01-23 14:32:33 +01:00
query_plan_common.hpp Remove old storage types 2020-01-23 14:32:33 +01:00
query_plan_create_set_remove_delete.cpp Remove old storage types 2020-01-23 14:32:33 +01:00
query_plan_edge_cases.cpp Migrate tests to storage v2 part 1 2019-11-21 19:00:32 +01:00
query_plan_match_filter_return.cpp Remove old storage types 2020-01-23 14:32:33 +01:00
query_plan_v2_create_set_remove_delete.cpp Remove old storage types 2020-01-23 14:32:33 +01:00
query_plan.cpp Use ExpandVariable to existing when possible 2020-01-23 17:12:24 +01:00
query_pretty_print.cpp Remove old storage types 2020-01-23 14:32:33 +01:00
query_procedure_mgp_module.cpp Use a custom value printer for procedure signature 2019-11-21 11:17:00 +01:00
query_procedure_mgp_type.cpp Remove MG_SINGLE_NODE_V2 define 2020-01-23 17:24:33 +01:00
query_profile.cpp Output profiling data within the summary in JSON format 2019-01-17 13:54:06 +01:00
query_required_privileges.cpp Remove old storage types 2020-01-23 14:32:33 +01:00
query_semantic.cpp Support CALL ... YIELD * syntax 2019-12-09 14:37:20 +01:00
query_variable_start_planner.cpp Remove old storage types 2020-01-23 14:32:33 +01:00
replication_log.cpp Fix Raft's ReplicationLog 2019-01-23 16:27:51 +01:00
ring_buffer.cpp Extract io/network into mg-io library 2018-05-30 14:58:41 +02:00
rpc_messages.hpp Move RPC to root source directory 2020-01-27 11:50:24 +01:00
rpc.cpp Move RPC to root source directory 2020-01-27 11:50:24 +01:00
skip_list.cpp Add clear method to SkipList 2019-09-13 15:24:14 +02:00
slk_advanced.cpp Remove old storage types 2020-01-23 14:32:33 +01:00
slk_common.hpp Finish SLK implementation 2019-05-02 15:47:38 +02:00
slk_core.cpp Finish SLK implementation 2019-05-02 15:47:38 +02:00
slk_streams.cpp Finish SLK implementation 2019-05-02 15:47:38 +02:00
small_vector.cpp Migrate to C++17 2019-04-23 14:46:44 +02:00
socket.cpp Implement SSL support for servers and clients 2018-06-20 17:56:47 +02:00
storage_v2_constraints.cpp Add basic support for unique constraints in storage 2020-02-10 12:45:28 +01:00
storage_v2_decoder_encoder.cpp Implement WalFile for storage v2 2019-10-25 16:08:17 +02:00
storage_v2_durability.cpp Implement storage info 2019-12-10 13:06:31 +01:00
storage_v2_edge.cpp Implement all edge filters for storage v2 2019-12-04 10:13:28 +01:00
storage_v2_gc.cpp Implement all edge filters for storage v2 2019-12-04 10:13:28 +01:00
storage_v2_indices.cpp Fix label+property index iteration in v2 2019-11-18 14:54:45 +01:00
storage_v2_name_id_mapper.cpp Implement name to id mapper in storage v2 2019-07-19 11:24:27 +02:00
storage_v2_property_store.cpp Implement local buffer for PropertyStore 2019-12-23 15:34:51 +01:00
storage_v2_wal_file.cpp Make Vertex|Edge lock member mutable 2020-01-13 10:10:02 +01:00
storage_v2.cpp Implement all edge filters for storage v2 2019-12-04 10:13:28 +01:00
stripped.cpp Remove old storage types 2020-01-23 14:32:33 +01:00
test_lcp.lisp LCP: Small test fixes 2019-05-10 16:10:17 +02:00
typed_value.cpp Migrate tests to storage v2 part 1 2019-11-21 19:00:32 +01:00
utils_algorithm.cpp Add new PrintIterable to utils algorithm 2019-05-06 14:51:32 +02:00
utils_exceptions.cpp Extract utils into mg-utils static library and explicitly list tests 2018-05-30 09:41:56 +02:00
utils_executor.cpp Extract utils into mg-utils static library and explicitly list tests 2018-05-30 09:41:56 +02:00
utils_file.cpp Add utils::InputFile wrapper 2019-09-12 16:30:11 +02:00
utils_math.cpp Add logarithmic functions 2019-01-17 14:26:16 +01:00
utils_memory.cpp Fix MonotonicBufferResource buffer growth 2019-10-15 15:04:35 +02:00
utils_on_scope_exit.cpp utils::auto_scope refactor 2017-08-11 09:43:10 +02:00
utils_rwlock.cpp Cleanup locks 2019-07-17 10:33:44 +02:00
utils_scheduler.cpp Extract utils into mg-utils static library and explicitly list tests 2018-05-30 09:41:56 +02:00
utils_signals.cpp Extract utils into mg-utils static library and explicitly list tests 2018-05-30 09:41:56 +02:00
utils_string.cpp Add utils::Substr which can use different allocator 2019-06-03 17:07:50 +02:00
utils_synchronized.cpp Implement Synchronized<T> utility 2019-07-22 14:55:21 +02:00
utils_timestamp.cpp Extract utils into mg-utils static library and explicitly list tests 2018-05-30 09:41:56 +02:00