Jure Bajic
462daf3a2b
Enforce schema on vertex creation
...
- Separating schema definition from schema validation
- Updating vertex_accessor and db_accessors with necessary methods
- Adding a primary label to Vertex
- Adding schema tests
- Updating existing tests for storage v3, and deprecating old:
- interpreter => interpreter_v2
- query_plan_accumulate_aggregate => storage_v3_query_plan_accumulate_aggregate
- query_plan_create_set_remove_delete => storage_v3_query_plan_create_set_remove_delete
- query_plan_bag_semantics => storage_v3_query_plan_bag_semantics
- query_plan_edge_cases => storage_v3_query_plan_edge_cases
- query_plan_v2_create_set_remove_delete => storage_v3_query_plan_v2_create_set_remove_delete
- query_plan_match_filter_return => storage_v3_query_plan_match_filter_return
2022-07-29 13:38:17 +02:00
Kostas Kyrimis
7a2bbd4bb3
Remove ref from std::string_view ( #215 )
2022-06-21 17:18:43 +03:00
Josip Matak
4abaf27765
Memgraph magic functions ( #345 )
...
* Extend mgp_module with include adding functions
* Add return type to the function API
* Change Cypher grammar
* Add Python support for functions
* Implement error handling
* E2e tests for functions
* Write cpp e2e functions
* Create mg.functions() procedure
* Implement case insensitivity for user-defined Magic Functions.
2022-04-21 15:45:31 +02:00
Kostas Kyrimis
ea2806bd57
Implement foreach clause ( #351 )
2022-04-11 13:55:34 +03:00
jbajic
60ad05acff
Address review comments
2022-03-14 15:47:41 +01:00
jbajic
695bb343f1
Resolve clang-tidy error
2022-03-14 15:47:41 +01:00
jbajic
12b4ec1589
Add memgraph namespace
2022-03-14 15:47:41 +01:00
Antonio Andelic
69eca9b043
Procedures for handling modules ( #330 )
2022-02-11 11:29:41 +01:00
Kostas Kyrimis
6eb52581eb
Retry transaction on consumer ( #294 )
2021-11-16 15:58:36 +01:00
Jure Bajic
16709dff6c
Add stats and notifications in results metadata ( #285 )
2021-11-15 13:51:13 +01:00
Antonio Andelic
1a78c3695d
Support multiple types for weighted shortest path ( #278 )
2021-10-19 14:39:23 +02:00
Antonio Andelic
6dc2cdfae4
Fix trigger with detach delete ( #266 )
2021-10-12 16:21:28 +02:00
Jure Bajic
9e678f8cbe
Add new memgraph licenses and move third party licenses ( #248 )
2021-10-03 12:26:48 +02:00
antonio2368
5da32c1bff
Add TemporalData to PropertyValue ( #174 )
2021-10-02 14:53:53 +02:00
János Benjamin Antal
721eefe263
Handle write procedures in queries and update docs of properties iterator ( #238 )
2021-10-02 13:18:36 +02:00
János Benjamin Antal
be9ed7e879
Python wrapper for write procedures ( #234 )
...
* Rename mgp_graph_remove to mgp_graph_delete
* Add mgp_graph_detach_delete
* Add PyGraph functions
* Add _mgp exceptions
* Use unified error handling in python wrapper
* Ignore clang-tidy warnings
* Add mgp.Graph, mgp.Vertex and mgp.Edge mutable functions
* Add python write procedure registration
* Add `is_write` result field to mg.procedures
* Use storage::View::NEW for write procedures
* Add simple tests for write procedures
* Remove false information about IDs
2021-10-02 13:17:41 +02:00
Benjamin Antal
482798295e
Add write procedures
2021-10-02 13:17:41 +02:00
Jure Bajic
f560293657
Add Property Map support in CREATE clause ( #220 )
2021-09-09 12:39:13 +02:00
János Benjamin Antal
2afc1b99f6
New MGP API ( #219 )
2021-09-09 10:44:47 +02:00
Jure Bajic
0138d277d4
Improve serialization error message ( #208 )
2021-08-20 10:47:07 +02:00
János Benjamin Antal
ad32db5168
Use transformations in streams and CHECK STREAM ( #185 )
...
* Use the correct transformation result type
* Execute the result queries in streams
* Change the result type of parameters to nullable map
* Serialize transformation name
* Fix order of transformation parameters
* Use actual transformation in Streams
* Clear the Python transformations under GIL
* Add CHECK STREAM query
* Handle missing record fields properly
2021-07-07 16:19:59 +02:00
Kostas Kyrimis
a928c158da
Add python API for messages transformations ( #181 )
...
* Add python messages/transformations implementation
* Added fixed result return type to transformations
* Added is_deprecated to mgp_trans
2021-07-07 16:08:23 +02:00
János Benjamin Antal
e8a1d15a55
Add filtering based on registered event types ( #155 )
...
* Add filtering to TriggerContextCollector
* Add all predefined variable to ANY triggers
* Make variable names consistent with event types
2021-05-26 14:37:11 +02:00
antonio2368
883f9c7ed3
Trigger event types ( #144 )
...
Co-authored-by: Benjamin Antal <benjamin.antal@memgraph.io >
2021-05-26 14:13:14 +02:00
antonio2368
b459639968
Other predefined variables ( #143 )
2021-05-26 14:13:14 +02:00
antonio2368
11c0dde11c
Support removed vertices in the triggers ( #140 )
2021-05-26 14:13:14 +02:00
antonio2368
2f3fa656d9
Predefined variables ( #138 )
...
* Add support for injecting predefined variables in any scope
2021-05-26 14:13:14 +02:00
Josip Seljan
6dd9d32721
Fix scoped profile operator names for ScanAll operators ( #129 )
2021-03-28 09:27:02 +02:00
antonio2368
ad4c80af13
Add memory limit clause for cypher queries ( #106 )
...
* Add memory limit clause for cypher queries
* Add PROCEDURE and QUERY keywords
* Improve memory limit logs
* Update CHANGELOG
2021-03-24 15:21:11 +01:00
Josip Seljan
25eb2c147a
LOAD CSV implementation fixes ( #120 )
...
* Change how csv::Reader handles memory resources
* Add multiline quoted string test
2021-03-24 12:21:07 +01:00
antonio2368
d913a67e16
Add parsing improvements ( #108 )
...
* Add parsing improvements
2021-03-24 12:21:07 +01:00
Josip Seljan
f950a91732
Add LOAD CSV clause infrastructure ( #101 )
...
* Add LOAD CSV clause infrastructure
* Add LoadCsv operator
* Update csv::Reader class
* Support csv files with and without header
Co-authored-by: jseljan <josip.seljan@memgraph.io >
2021-03-24 12:21:07 +01:00
antonio2368
593f7a3499
Add query module counters to telemetry ( #112 )
2021-03-18 11:03:42 +01:00
antonio2368
a9f5f45b3d
Improve telemetry data ( #89 )
...
* Add query type count to telemetry
* Extract telemetry data in different structure
* Add global event counter
2021-03-09 19:55:58 +01:00
antonio2368
3f3c55a4aa
Format all the memgraph and test source files ( #97 )
2021-02-18 15:32:43 +01:00
antonio2368
28413fd626
Change log library to spdlog, expose log levels to user ( #72 )
...
* Change from glog to spdlog
* Remove HA tests
* Remove logrotate log configuration
* Define custom main for unit gtests
2021-01-21 16:30:55 +01:00
Josip Seljan
f7f861ca71
Add plan for label+property indexed node where property is not null ( #2 )
...
Replace ScanAll + Filter with a ScanAll variant performing label and property
lookup.
Co-authored-by: jseljan <josip.seljan@memgraph.io >
2020-10-01 13:22:21 +02:00
Matej Ferencevic
df27b8477d
Remove unused UnwrapDegreeResult function
...
Reviewers: jseljan
Reviewed By: jseljan
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2797
2020-07-01 13:05:55 +02:00
Matej Ferencevic
28590aea53
Fix variable expand between same symbol
...
Summary:
This diff fixes the variable expand operator to work correctly then the start
and destination nodes use the same symbol or when the destination symbol is an
existing symbol.
Previously, the variable expand operator produced paths that were both
completely wrong (they shouldn't have been produced) and nonexistent (they
didn't even exist in the storage). Invalid data was produced because of a
wrong equality check that was introduced in D1703.
This issue was reported externally and the supplied test case was:
```
CREATE (p1:Person {id: 1})-[:KNOWS]->(:Person {id: 2})-[:KNOWS]->(:Person {id: 3})-[:KNOWS]->(:Person {id: 4})-[:KNOWS]->(p1);
MATCH path = (pers:Person {id: 3})-[:KNOWS*2]->(pers) RETURN path;
```
Also, tests have been added so the behavior remains correct.
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2793
2020-07-01 00:17:25 +02:00
Matej Ferencevic
0a2f2bfc90
Improve expansion performance
...
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2794
2020-06-29 16:37:11 +02:00
Matej Ferencevic
b510ac1049
Fix WeightedShortestPath integer overflows
...
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2775
2020-05-25 10:09:19 +02:00
Matej Ferencevic
f92dee6e7b
Fix COUNT overflow bug
...
Reviewers: buda
Reviewed By: buda
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2769
2020-05-20 16:57:17 +02:00
Marko Budiselic
f35225f26b
Optimize IN list execution
...
Summary:
Use Unwind + ScanAllByLabelPropertyValue logical operator to
accelerate the execution of queries like the following one:
`MATCH (n:Label) WHERE n.property IN [] ...`
Reviewers: llugovic, mferencevic
Reviewed By: llugovic, mferencevic
Subscribers: llugovic, pullbot
Differential Revision: https://phabricator.memgraph.io/D2758
2020-04-21 11:38:38 +02:00
Lovro Lugovic
8fb3a53b78
Expose query timeout checking to modules
...
Summary:
- Add the `mgp_must_abort(const mgp_graph *graph)` C API.
- Add the `ProcCtx.must_abort()` Python API.
The usage is very simple -- the function returns a boolean indicating whether
the procedure should abort.
Reviewers: mferencevic, dsantl
Reviewed By: mferencevic
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2742
2020-04-01 13:30:03 +02:00
Matej Ferencevic
a8b81fdcde
Unify C/Python query module logging
...
Summary:
Make logging for operations with C/Python query modules (loading, closing,
reloading) consistent.
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2734
2020-03-20 16:02:29 +01:00
Matej Ferencevic
015573b5af
Clean-up utils/hashing
...
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2645
2020-01-28 10:40:43 +01:00
Matej Ferencevic
98dc7e2849
Remove old storage types
...
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2633
2020-01-23 14:32:33 +01:00
Teon Banek
d910813955
Optimize vertex lookup by ID
...
Reviewers: mferencevic, llugovic
Reviewed By: mferencevic
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2609
2019-12-23 13:27:40 +01:00
Teon Banek
0c111d52dc
Add syntax for limiting memory of CALL
...
Reviewers: mferencevic, ipaljak
Reviewed By: ipaljak
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2602
2019-12-16 10:58:28 +01:00
Matej Ferencevic
b894f80de4
Improve disabled properties on edges error message
...
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2596
2019-12-10 13:56:59 +01:00