Antonio Andelic
69eca9b043
Procedures for handling modules ( #330 )
2022-02-11 11:29:41 +01:00
Antonio Andelic
5aeaad198b
Define SHOW VERSION query ( #265 )
2022-02-10 10:30:14 +01:00
Kostas Kyrimis
4fd8bdce4c
Make temporal types now functions use the query context timestamp ( #333 )
2022-02-04 12:57:38 +01:00
Antonio Andelic
265b203b00
Build for ARM64 ( #340 )
2022-02-03 13:03:35 +01:00
János Benjamin Antal
661e5185d8
Fix nested transaction error ( #339 )
2022-02-03 09:41:23 +01:00
János Benjamin Antal
6c00d146f2
Add configs for kafka streams ( #328 )
2022-01-31 17:26:53 +01:00
Antonio Andelic
ced84e17b6
Update nlohmann and remove guards ( #336 )
2022-01-26 08:12:09 +01:00
Antonio Andelic
bb1308acc7
Use libs from toolchain ( #326 )
2022-01-21 10:22:36 +01:00
János Benjamin Antal
e1f31d3d02
Toolchain v4 with fbthrift ( #318 )
2022-01-18 12:51:27 +01:00
Josip Matak
339cd9b84e
Change Python root directory ( #289 )
2022-01-18 08:23:17 +01:00
Antonio Andelic
7deac4ac8b
Extra procedures transformation info ( #310 )
2022-01-13 13:46:32 +01:00
János Benjamin Antal
ec65187442
Use correct error in log message ( #321 )
2022-01-10 13:50:46 +01:00
János Benjamin Antal
079c0495c3
Increase reference count when returning Py_None ( #320 )
2022-01-07 12:56:52 +01:00
Kostas Kyrimis
90cfed2ada
Remove unnecessary use of string in server start method ( #317 )
2021-12-14 16:13:24 +01:00
Antonio Andelic
8716b8e992
Update to newest spdlog and fmt ( #309 )
2021-12-07 11:05:33 +01:00
Antonio Andelic
d9bb4e2e46
Use default values instantly for batch size/interval ( #306 )
2021-11-30 16:29:51 +01:00
János Benjamin Antal
05d0aee494
Avoid crash in case of loading old stream ( #302 )
2021-11-30 15:27:11 +01:00
Antonio Andelic
aabec99a8e
Procedure for stream configs ( #301 )
2021-11-29 08:56:10 +01:00
Antonio Andelic
d277dd49a3
Update stats with query modules ( #304 )
2021-11-26 15:31:25 +01:00
Antonio Andelic
12f4e0068a
Small polishing and fixes
2021-11-16 17:23:20 +01:00
Antonio Andelic
e8976e0f1c
Update mgp API for Pulsar ( #298 )
2021-11-16 16:00:25 +01:00
Kostas Kyrimis
6eb52581eb
Retry transaction on consumer ( #294 )
2021-11-16 15:58:36 +01:00
Antonio Andelic
8606e69fd6
Add support for type in show streams ( #300 )
2021-11-16 15:58:36 +01:00
Antonio Andelic
c7b045bffc
Pulsar e2e tests ( #296 )
2021-11-16 15:58:35 +01:00
Antonio Andelic
b66cc66503
Add support for Pulsar queries ( #292 )
2021-11-16 15:52:58 +01:00
Antonio Andelic
0e4719018a
Introduce pulsar dependency ( #286 )
2021-11-16 15:47:40 +01:00
Antonio Andelic
0ebd52aac3
Support for different consumers ( #280 )
2021-11-16 15:40:27 +01:00
Antonio Andelic
6c971b856e
Fix ORDER BY and temporal types ( #299 )
2021-11-16 10:59:25 +01:00
Kostas Kyrimis
6cb293688d
Fix check stream not reseting back to the correct offset ( #295 )
2021-11-15 14:44:30 +01:00
Jure Bajic
16709dff6c
Add stats and notifications in results metadata ( #285 )
2021-11-15 13:51:13 +01:00
Kostas Kyrimis
95dd3481c0
Add more information to the MG_ASSERT in release mode ( #291 )
2021-11-12 09:09:15 +01:00
Kostas Kyrimis
47c0c629c7
Add procedure for setting a kafka stream offset ( #282 )
2021-11-11 12:07:58 +01:00
Kostas Kyrimis
636c551047
Remove linter concurrency-mt ( #287 )
2021-11-02 09:19:41 +01:00
Jure Bajic
a9b1ff9bea
Support Bolt v4.3 protocol ( #226 )
2021-10-28 13:05:09 +02:00
Antonio Andelic
1a78c3695d
Support multiple types for weighted shortest path ( #278 )
2021-10-19 14:39:23 +02:00
Kostas Kyrimis
10196f3d7d
Add bootstrap servers to create stream ( #274 )
2021-10-18 10:49:00 +02:00
Antonio Andelic
df689dccd5
Make Memgraph work with fetch content ( #256 )
2021-10-14 18:58:42 +02:00
János Benjamin Antal
906933d2b3
Fix typo in procedure C-API ( #273 )
2021-10-14 08:50:16 +02:00
Antonio Andelic
e9a937ad6d
Update license headers and change date ( #270 )
2021-10-13 10:06:07 +02:00
Antonio Andelic
6dc2cdfae4
Fix trigger with detach delete ( #266 )
2021-10-12 16:21:28 +02:00
Kostas Kyrimis
24a576c8e9
Make write procedures trigger aware ( #262 )
2021-10-11 13:39:57 +02:00
g-despot
9119c89eba
Add updated startup message ( #259 )
2021-10-07 15:56:06 +02:00
Antonio Andelic
4e7ea34ae9
Add message with link utility ( #243 )
2021-10-07 14:51:30 +02:00
antonio2368
0ffb58b764
Fix docker packaging and add for platform build ( #257 )
2021-10-06 10:20:37 +02:00
Jure Bajic
9e678f8cbe
Add new memgraph licenses and move third party licenses ( #248 )
2021-10-03 12:26:48 +02:00
Kostas Kyrimis
d04e23805d
Address temporal type epic comments ( #249 )
2021-10-02 18:48:50 +02:00
Kostas Kyrimis
7e82cc6550
Add uniform naming for temporal type properties ( #246 )
2021-10-02 16:14:27 +02:00
Kostas Kyrimis
18b801a722
Add e2e tests for temporal types ( #241 )
2021-10-02 15:31:00 +02:00
Kostas Kyrimis
7e81a95b81
Fix parsing negative durations ( #237 )
2021-10-02 15:30:35 +02:00
antonio2368
0a23eb11ae
Define procedure API for temporal types ( #229 )
2021-10-02 15:30:34 +02:00
Kostas Kyrimis
8ea281649a
Remove support for iso duration and fix bolt ( #235 )
2021-10-02 14:54:48 +02:00
Kostas Kyrimis
da68f86fc9
Add support for printing out in the ast temporal data values ( #227 )
2021-10-02 14:54:48 +02:00
Kostas Kyrimis
738b5fb8d8
Add duration support for timestamp function ( #236 )
2021-10-02 14:54:48 +02:00
Kostas Kyrimis
b45ae403e6
Define dump command for all temporal types ( #225 )
2021-10-02 14:54:48 +02:00
Kostas Kyrimis
d744711e5e
Define functions that return a specific field of each temporal type ( #221 )
2021-10-02 14:54:48 +02:00
Kostas Kyrimis
8d87e38c64
Add temporal type arithmetic for queries ( #214 )
2021-10-02 14:54:48 +02:00
Kostas Kyrimis
086fc47769
Define subtraction and addition for temporal types ( #209 )
2021-10-02 14:54:48 +02:00
Kostas Kyrimis
5abcb5081d
Define timestamp function that return temporal types in microseconds since epoch representation ( #205 )
2021-10-02 14:54:48 +02:00
Kostas Kyrimis
9534dfb6ed
Change the timestamp function to return microseconds instead of milliseconds ( #204 )
2021-10-02 14:54:48 +02:00
antonio2368
e2112faff0
Functions for defining temporals ( #197 )
2021-10-02 14:54:47 +02:00
Kostas Kyrimis
6913feacc7
Add support for temporal data types in the communication Bolt layer ( #198 )
2021-10-02 14:54:47 +02:00
antonio2368
4e604de9d7
Add support for parsing temporal types ( #187 )
2021-10-02 14:54:45 +02:00
antonio2368
e628b5ba6e
Add temporal types to TypedValue ( #176 )
2021-10-02 14:53:53 +02:00
antonio2368
5da32c1bff
Add TemporalData to PropertyValue ( #174 )
2021-10-02 14:53:53 +02:00
János Benjamin Antal
ccca46370d
Fix RWTypeChecker and some small improvements ( #247 )
...
* Fix doc of mgp_graph_vertices
* Make write_proc example meaningful write procedure example
* Improve wrap_exceptions
* Add check for write procedures for ReadWriteTypeChecker
* Change error code in case of invalid default value for optional arguments
2021-10-02 13:18:37 +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
antonio2368
d58a1cbb58
License key introduction and removing community edition package ( #232 )
2021-09-29 19:14:39 +02:00
antonio2368
8dc3153fde
Don't strip queries after execute for CREATE TRIGGER only ( #245 )
2021-09-24 13:14:05 +02:00
antonio2368
b94e50bf1c
Use from_timestamp for WAL retention ( #240 )
2021-09-24 12:14:54 +02:00
antonio2368
9f855676cb
Add jemalloc purge ( #239 )
2021-09-21 14:43:27 +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
antonio2368
5a8bda2531
Improve MERGE performance by using indices ( #213 )
2021-08-30 11:39:06 +02:00
Jure Bajic
0138d277d4
Improve serialization error message ( #208 )
2021-08-20 10:47:07 +02:00
János Benjamin Antal
09cfca35f8
Add privilege check in triggers and streams ( #200 )
2021-07-22 16:22:08 +02:00
antonio2368
e51954fc94
Update toolchain to v3 ( #189 )
...
* Make memgraph buildable with new toolchain
* Use toolchain v3 in workflows
2021-07-08 14:20:48 +02:00
antonio2368
ae280fd8db
Polishing and fixes ( #196 )
...
* Remove SHOW from Memgraph lexer
* Change get_payload to payload
2021-07-07 18:04:17 +02:00
János Benjamin Antal
fb5a2ed4b6
Small improvements for streams ( #193 )
...
* Add timeout to CHECK STREAM
* Handle RdKafka::ERR__MAX_POLL_EXCEEDED in consumer
Co-authored-by: Jure Bajic <jbajic@users.noreply.github.com>
Co-authored-by: Jure Bajic <jbajic@users.noreply.github.com>
2021-07-07 16:19:59 +02:00
antonio2368
6cfec787dc
Allow dash in topic name ( #192 )
...
* Support dash in the topic names
* Add more topic names and consumer groups in tests
2021-07-07 16:19:59 +02:00
János Benjamin Antal
13c9bf76af
Add e2e tests for streams ( #190 )
...
* Add base of e2e tests
* Add python dependencies
* Explicitly close customer in destructor
* Parametrize tests and add test for CHECK STREAM
* Add tests for SHOW STREAMS
* Add test for concurrent start/stop during check
* Add test for calling check with an already started stream
* Run streams e2e tests on CI servers
Co-authored-by: antonio2368 <antonio2368@users.noreply.github.com>
Co-authored-by: Jure Bajic <jbajic@users.noreply.github.com>
2021-07-07 16:19:59 +02:00
Kostas Kyrimis
2e1a717dcb
Add telemetry for streams and triggers ( #188 )
...
* Add event counters to streams and triggers
2021-07-07 16:19:59 +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
a37755ce43
Add remaining query functionality SHOW STREAMS ( #184 )
...
* Add query functionality SHOW STREAMS
2021-07-07 16:13:26 +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
ac230d0c2d
Add basic queries for managing streams ( #179 )
...
* Add CREATE, START, STOP and DROP queries
* Fix definition of port in replica query
* Explicitly stop the consumer before removing
* Fix offset committing in Consumer
* Add tests for basic stream queries
* Remove unnecessary WITH keywords from CREATE query
* Add tests
* Add STREAM privilege
* Disable not working test
The functionality is tested manually, but I couldn't make it work with
the mock kafka cluster.
* Add support for multiple topic names
* Replace skiplist by synchronized map
* Make Consumer::Test const and improve error handling
The improvement in the error handling is mostly done regarding to the
Test function. Instead of trying to revert the assignments, Test just
stores the last commited assignment. When Start or Test is called, they
check for the last commited assignments, and if it is saved, then they
try to restore it. This way:
1. All the failures are returned to the user (failed to save/restore)
2. Failed assignment cannot terminate Memgraph
* Make Test do not block creating/droping other streams
2021-07-07 16:08:22 +02:00
Kostas Kyrimis
d80ff745eb
Introduce mgp_trans api ( #175 )
...
* Added public interface for registering mgp_trans and extended modules accordingly
* Added test for mgp_trans
* Added mg.transformations() to the module registry
Co-authored-by: János Benjamin Antal <antaljanosbenjamin@users.noreply.github.com>
2021-07-07 15:57:36 +02:00
János Benjamin Antal
d6a6d280dd
Add Streams on top of Kafka Consumer ( #172 )
...
* Stop the Consumer grafefully when it is destroyed
* Add Streams
* Add Streams to InterpreterContext
* Remove options to limit processed batches in Consumer
* Add Streams unit tests
* Stop waiting for a full batch if the Consumer stopped
* Add ReadLock functionality to Synchronized
* Use per Consumer-based locking
* Replace shared_mutex with RWLock
2021-07-07 15:57:36 +02:00
Kostas Kyrimis
4004e94ca1
Introduce messages C-API ( #168 )
2021-07-07 15:38:51 +02:00
János Benjamin Antal
36afc6c5f3
Add Kafka consumer ( #167 )
...
* Add CMake config for Kafka integration
* Add Consumer
* Add simple unit test for consumer
* Add explicit offset handling and test for it
2021-07-07 15:38:51 +02:00
antonio2368
f994b68ad5
Increase default timeout to 10 minutes ( #186 )
2021-07-02 09:02:11 +02:00
antonio2368
3b336e3e0b
Add CREATE SNAPSHOT query ( #182 )
2021-06-30 12:31:30 +02:00
antonio2368
715162e205
Disable LOAD CSV with config ( #180 )
2021-06-30 11:19:13 +02:00
antonio2368
e016c74e4b
Trigger restore after query modules load ( #183 )
2021-06-30 10:01:51 +02:00
antonio2368
15911b64dc
Use timers for query timeout thread ( #163 )
...
Co-authored-by: Benjamin Antal <benjamin.antal@memgraph.io>
2021-06-16 16:03:58 +02:00
antonio2368
cbf826e0c3
Load WAL on replica using transactions ( #95 )
2021-06-16 13:22:48 +02:00
antonio2368
8cd9f696cf
Multiple isolation levels ( #171 )
...
This PR introduces READ COMMITTED and READ UNCOMMITTED isolation levels.
The isolation level can be set with a config or with a query for different scopes.
2021-06-14 15:47:57 +02:00
antonio2368
90a093bd95
Send py::Object as a reference to callback call ( #169 )
...
Sending the py::Object by value caused UB because multiple threads could copy the same object at the same time without the GIL.
By sending the object by reference we eliminate UB and avoid UB.
2021-06-10 10:40:18 +02:00
Josip Seljan
cd03e13443
Upgrade Antlr to v4.9.2 ( #161 )
2021-06-09 12:50:27 +02:00