memgraph/tests/unit
Teon Banek 9c095501d8 query/procedure: Add type system for Cypher
Summary:
The type system is modelled after "CIP2015-09-16"
https://github.com/opencypher/openCypher/blob/master/cip/1.accepted/CIP2015-09-16-public-type-system-type-annotation.adoc

This is needed for registering procedures and their signatures. The
users will be able to specify what a custom procedure accepts and
returns. All of this needs to be available for inspection during
runtime. Therefore, this diff implements printing types as a user
presentable string. In the future, we will probably want to add type
checking through these types, because openCypher requires type checking
on values passed in and returned from custom procedures.

Reviewers: mferencevic, ipaljak, dsantl

Reviewed By: mferencevic

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D2544
2019-11-13 14:24:21 +01:00
..
auth.cpp Migrate to C++17 2019-04-23 14:46:44 +02:00
bfs_common.hpp Make query execution work with storage_v2 2019-09-12 10:22:00 +02:00
bfs_single_node.cpp Make query execution work with storage_v2 2019-09-12 10:22:00 +02: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 Make query execution work with storage_v2 2019-09-12 10:22:00 +02:00
bolt_session.cpp Make PropertyValue constructors explicit 2019-09-02 12:31:53 +02:00
bolt_testdata.hpp Removed large bolt encoder test to reduce runtime. 2017-05-03 14:50:02 +02:00
CMakeLists.txt query/procedure: Add type system for Cypher 2019-11-13 14:24:21 +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
concurrent_id_mapper_single_node.cpp Refactor storage file structure 2018-11-06 18:17:31 +01:00
concurrent_map_access.cpp Const map/set iteration. 2017-10-12 16:35:39 +02:00
concurrent_map.cpp Clean SkipList up 2018-04-11 10:08:20 +02:00
cypher_main_visitor.cpp Add CallProcedure clause to Cypher 2019-11-04 16:21:29 +01:00
database_key_index.cpp Make Gid a full on class wrapper around uint64_t 2019-09-03 15:14:21 +02:00
database_label_property_index.cpp Make Gid a full on class wrapper around uint64_t 2019-09-03 15:14:21 +02:00
database_transaction_timeout.cpp Merge Interpreter and TransactionEngine 2019-10-25 16:11:10 +02:00
datastructure_union_find.cpp Add parallel customers/Otto test 2017-11-23 09:20:53 +01:00
deferred_deleter.cpp Refactor storage file structure 2018-11-06 18:17:31 +01:00
durability.cpp Make Gid a full on class wrapper around uint64_t 2019-09-03 15:14:21 +02:00
dynamic_bitset.cpp Commit log gc 2018-04-04 10:25:25 +02:00
edges_single_node.cpp Make Gid a full on class wrapper around uint64_t 2019-09-03 15:14:21 +02:00
graph_db_accessor_index_api.cpp Merge old and new PropertyValue implementations 2019-09-02 16:43:50 +02:00
graph_db_accessor.cpp Make Gid a full on class wrapper around uint64_t 2019-09-03 15:14:21 +02:00
graph_db.cpp Make PropertyValue constructors explicit 2019-09-02 12:31:53 +02:00
interpreter.cpp Correctly prepare Explain and Profile 2019-11-13 12:03:11 +01:00
kvstore.cpp Migrate to C++17 2019-04-23 14:46:44 +02:00
metrics.cpp Migrate to C++17 2019-04-23 14:46:44 +02:00
mvcc_find_update_common.hpp Make Gid a full on class wrapper around uint64_t 2019-09-03 15:14:21 +02:00
mvcc_find.cpp GC bugfixes, MVCC and transaction refactoring 2017-06-12 10:46:12 +02:00
mvcc_gc_common.hpp Refactor storage file structure 2018-11-06 18:17:31 +01:00
mvcc_gc.cpp Make Gid a full on class wrapper around uint64_t 2019-09-03 15:14:21 +02: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 Make Gid a full on class wrapper around uint64_t 2019-09-03 15:14:21 +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 An aggregate element's input expression can be NULL 2019-10-03 10:07:24 +02:00
pod_buffer.cpp Separate distributed from single node storage 2018-10-05 09:19:33 +02:00
property_value_store.cpp Make PropertyValue constructors explicit 2019-09-02 12:31:53 +02:00
property_value_v2.cpp Implement PropertyValue for storage v2 2019-07-01 10:56:33 +02:00
query_common.hpp Remove Kafka integration implementation and tests 2019-11-04 09:56:07 +01:00
query_cost_estimator.cpp Replace query::GraphView with storage::View 2019-09-06 14:58:27 +02:00
query_dump.cpp Make the Cypher dumper a function 2019-11-12 16:01:29 +01:00
query_expression_evaluator.cpp Make query execution work with storage_v2 2019-09-12 10:22:00 +02:00
query_plan_accumulate_aggregate.cpp Make query execution work with storage_v2 2019-09-12 10:22:00 +02:00
query_plan_bag_semantics.cpp Make query execution work with storage_v2 2019-09-12 10:22:00 +02:00
query_plan_checker.hpp Add CallProcedure LogicalOperator 2019-11-06 15:46:00 +01:00
query_plan_common.hpp Make query execution work with storage_v2 2019-09-12 10:22:00 +02:00
query_plan_create_set_remove_delete.cpp Make query execution work with storage_v2 2019-09-12 10:22:00 +02:00
query_plan_edge_cases.cpp Merge Interpret and Prepare 2019-11-08 10:25:51 +01:00
query_plan_match_filter_return.cpp Make query execution work with storage_v2 2019-09-12 10:22:00 +02:00
query_plan_v2_create_set_remove_delete.cpp Create/drop label indices explicitly in storage v2 2019-09-24 13:12:50 +02:00
query_plan.cpp Add CallProcedure LogicalOperator 2019-11-06 15:46:00 +01:00
query_pretty_print.cpp Make PropertyValue constructors explicit 2019-09-02 12:31:53 +02:00
query_procedure_mgp_type.cpp query/procedure: Add type system for Cypher 2019-11-13 14:24:21 +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 Kafka integration implementation and tests 2019-11-04 09:56:07 +01:00
query_semantic.cpp Add CallProcedure clause to Cypher 2019-11-04 16:21:29 +01:00
query_variable_start_planner.cpp Make query execution work with storage_v2 2019-09-12 10:22:00 +02:00
queue.cpp Migrate to C++17 2019-04-23 14:46:44 +02:00
record_edge_vertex_accessor.cpp Make PropertyValue constructors explicit 2019-09-02 12:31:53 +02: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 Migrate RPC to SLK 2019-05-06 14:27:57 +02:00
rpc.cpp Add SSL support to HA RPC 2019-05-20 12:53:52 +02:00
skip_list.cpp Add clear method to SkipList 2019-09-13 15:24:14 +02: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 Separate distributed from single node storage 2018-10-05 09:19:33 +02:00
slk_advanced.cpp Make PropertyValue constructors explicit 2019-09-02 12:31:53 +02: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
state_delta.cpp Move gid::Gid to storage/common/types 2019-09-03 14:57:44 +02:00
static_bitset.cpp Fix tests that expect debug_assert to fail 2017-08-07 16:38:15 +02:00
storage_stat.cpp Move GraphDbAccessor to stack in SN and HA 2019-04-17 11:29:43 +02:00
storage_v2_constraints.cpp Add functions for listing indices and constraints 2019-09-11 15:45:14 +02:00
storage_v2_decoder_encoder.cpp Implement WalFile for storage v2 2019-10-25 16:08:17 +02:00
storage_v2_durability.cpp Backup existing durability files 2019-11-04 10:38:13 +01:00
storage_v2_edge.cpp Implement ClearProperties for storage v2 2019-11-07 13:07:26 +01:00
storage_v2_gc.cpp Create/drop label indices explicitly in storage v2 2019-09-24 13:12:50 +02:00
storage_v2_indices.cpp Finalize storage v2 index API 2019-11-12 12:11:38 +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_wal_file.cpp Implement single function for WAL loading 2019-10-28 15:42:49 +01:00
storage_v2.cpp Implement ClearProperties for storage v2 2019-11-07 13:07:26 +01:00
stripped.cpp Use non-template Value invocation 2019-08-22 16:20:31 +02:00
test_lcp.lisp LCP: Small test fixes 2019-05-10 16:10:17 +02:00
transaction_engine_single_node.cpp Migrate to C++17 2019-04-23 14:46:44 +02:00
typed_value.cpp Make query execution work with storage_v2 2019-09-12 10:22:00 +02:00
unique_constraints.cpp Make Gid a full on class wrapper around uint64_t 2019-09-03 15:14:21 +02:00
utils_algorithm.cpp Add new PrintIterable to utils algorithm 2019-05-06 14:51:32 +02:00
utils_demangle.cpp Extract utils into mg-utils static library and explicitly list tests 2018-05-30 09:41:56 +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_thread_pool.cpp Throw exceptions on RPC failure and Distributed error handling 2018-09-27 16:27:40 +02:00
utils_timestamp.cpp Extract utils into mg-utils static library and explicitly list tests 2018-05-30 09:41:56 +02:00
utils_watchdog.cpp Extract utils into mg-utils static library and explicitly list tests 2018-05-30 09:41:56 +02:00