antonio2368
d58a1cbb58
License key introduction and removing community edition package ( #232 )
2021-09-29 19:14:39 +02:00
János Benjamin Antal
09cfca35f8
Add privilege check in triggers and streams ( #200 )
2021-07-22 16:22:08 +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
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
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
560eb04f67
Small trigger fixes ( #158 )
...
* Fix warning message
* Update version
* Run query callbacks only on pull
* Use warn level for failure of loading a trigger
2021-05-26 19:57:08 +02:00
János Benjamin Antal
1abee1ed3a
Use single thread for after triggers ( #154 )
2021-05-26 14:36:41 +02:00
antonio2368
62a628c51f
Add trigger queries and trigger store ( #145 )
...
Co-authored-by: Benjamin Antal <benjamin.antal@memgraph.io>
2021-05-26 14:36:41 +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
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
antonio2368
7bf40eb5d2
Add support for after commit triggers ( #136 )
2021-05-26 14:13:14 +02:00
antonio2368
7e44434cdf
Initial trigger definition ( #133 )
...
* Pull out cypher query parsing logic
* Define trigger structure
* Run triggers before commit
* Use skip list for saving triggers
2021-05-26 14:13:14 +02:00
antonio2368
999b3ef79f
Fix memory tracking issues ( #150 )
2021-05-18 18:42:19 +02: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
8f5b88f24a
Fix how query read/write type RWType is determined ( #71 )
...
Co-authored-by: jseljan <josip.seljan@memgraph.io>
2021-01-21 15:56:21 +01:00
Josip Seljan
bff9cf07de
Fix replication queries ( #65 )
...
* Fix replication query visitors
* Improve error handling in ReplQueryHandler methods
Co-authored-by: jseljan <josip.seljan@memgraph.io>
2021-01-21 15:56:21 +01:00
Josip Seljan
a0fb3fc463
Implement ReplicationQueryHandler class ( #52 )
...
* Refactor io::network::Endpoint class
* Add ParseSocketOrIpAddress static method to Endpoint class
* Implement ReplQueryHandler methods
* Add implementation of SetReplicationRole to ReplQueryHandler
* Fix PrepareReplicationQuery (create PullPlanVector)
Co-authored-by: jseljan <josip.seljan@memgraph.io>
2021-01-21 15:56:21 +01:00
Josip Seljan
87e00f4fef
Add support for specifying the replica port to SET REPLICATION ROLE query ( #61 )
...
Co-authored-by: jseljan <josip.seljan@memgraph.io>
2021-01-21 15:49:32 +01:00
Josip Seljan
4e36b646df
Replace "CREATE REPLICA" query with "REGISTER REPLICA" ( #50 )
...
Co-authored-by: jseljan <josip.seljan@memgraph.io>
2021-01-21 15:49:32 +01:00
Josip Seljan
3c85319701
Update replication queries to follow the new replication nomenclature ( #48 )
...
* MODE -> ROLE
Co-authored-by: jseljan <josip.seljan@memgraph.io>
2021-01-21 15:49:32 +01:00
Marko Budiselić
d5b02eafb1
Add syntactic support for replication queries - prototype ( #8 )
...
Extend parser to handle replication queries - first implementation.
Co-authored-by: jseljan <josip.seljan@memgraph.io>
2021-01-21 15:49:32 +01:00
antonio2368
7bff678cd9
Clear query executions if not in explicit transaction ( #70 )
2021-01-12 19:10:32 +01:00
antonio2368
0bcc1d67bc
Add support for Bolt v4(.1) ( #10 )
...
* Added handshake support
* Add support for v4 hello and goodbye
* Add support for pulling n results
* Add support for transactions
* Add pull n for the dump
* Add support for NOOP
* Add support for multiple queries
* Update bolt session to support qid
* Update drivers test with multiple versions and go
* Extract failure handling into a function
* Use unique ptr instead of optional for query execution
* Destroy stream before query execution
Co-authored-by: Antonio Andelic <antonio.andelic@memgraph.io>
2020-10-16 12:49:33 +02:00
Matej Ferencevic
1d2bb2cda6
Remove leftover traces of HA from query
...
Reviewers: llugovic
Reviewed By: llugovic
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2743
2020-04-01 13:47:47 +02:00
Matej Ferencevic
bfbace8168
Remove old HA implementation
...
Reviewers: teon.banek, ipaljak
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2686
2020-02-25 17:19:35 +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
0683ed4134
Remove MG_SINGLE_NODE_V2 define
...
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2637
2020-01-23 17:24:33 +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
c7f69fd861
Extract AuthQuery handling to an interface class
...
Reviewers: mferencevic, llugovic
Reviewed By: mferencevic
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2623
2020-01-16 17:02:35 +01:00
Matej Ferencevic
9e04183be7
Implement query execution timeout
...
Summary:
The query execution now has a timeout for each Cypher query it executes. The
timeout is implemented using TSC and will work only when TSC is available (same
as PROFILE). TSC is used to mitigate the performance impact of reading the
current time constantly.
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2562
2019-11-25 17:45:40 +01:00
Matej Ferencevic
329818b1b0
Make the Cypher dumper a function
...
Summary:
The dumper is now a function and doesn't have to worry about any state. The
function streams the Cypher queries directly to the client. This diff also
makes the dumper work with storage v2.
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2545
2019-11-12 16:01:29 +01:00
Lovro Lugovic
905b3ee2df
Don't unconditionally start a transaction on Prepare
...
Reviewers: teon.banek, mferencevic
Reviewed By: teon.banek, mferencevic
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2532
2019-11-11 13:40:06 +01:00
Lovro Lugovic
cdb9c08047
Merge Interpret
and Prepare
...
Reviewers: teon.banek, mferencevic
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2502
2019-11-08 10:25:51 +01:00
Lovro Lugovic
bf03c57181
Remove Results
from the Interpreter
...
Summary:
- Add the `AnyStream` wrapper
- Remove the `Results` struct and store a function (handler) instead
Reviewers: teon.banek, mferencevic
Reviewed By: teon.banek, mferencevic
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2497
2019-11-08 09:22:30 +01:00
Matej Ferencevic
42516afce8
Remove Kafka integration implementation and tests
...
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2525
2019-11-04 09:56:07 +01:00
Lovro Lugovic
bd998dc618
Refactor query parsing in the Interpreter
...
Summary: Depends on D2482
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2499
2019-10-30 10:32:22 +01:00
Lovro Lugovic
3750fbc093
Merge Interpreter
and TransactionEngine
...
Summary:
Depends on D2471
- Add pointer to storage to `InterpreterContext`
- Rename `operator()` to `Prepare`
- Use `Interpret` instead of `operator()` (`Interpret` will be removed soon)
- Remove the `in_explicit_transaction` parameter
- Remove the memory resource parameter from `Interpret`
- Remove the storage accessor parameter from `Interpret`
- Fix up tests (remove the `Interpreter` from `database_transaction_timeout`)
Reviewers: teon.banek, mferencevic
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2482
2019-10-25 16:11:10 +02:00
Lovro Lugovic
d2fac02b74
Pull out InterpreterContext
...
Summary: Make `InterpreterContext` a top level instead of a nested struct
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2512
2019-10-25 15:58:47 +02:00
Lovro Lugovic
4c25719c45
Extract state shared between interpreters into InterpreterContext
...
Reviewers: teon.banek, mferencevic
Reviewed By: teon.banek
Subscribers: mferencevic, pullbot
Differential Revision: https://phabricator.memgraph.io/D2471
2019-10-25 14:12:14 +02:00
Matej Ferencevic
bafc0a9d16
Reduce memory blowup on each Pull
...
Reviewers: teon.banek, buda
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2509
2019-10-23 10:01:17 +02:00
Teon Banek
7bd45f8714
Make query execution work with storage_v2
...
Reviewers: mferencevic, ipaljak
Reviewed By: mferencevic
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2203
2019-09-12 10:22:00 +02:00
Matej Ferencevic
a4a74934f4
Improve memory allocations in execution and storage
...
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2340
2019-09-02 17:03:58 +02:00
Matej Ferencevic
d3b141f3ba
Allocate initial execution memory
...
Reviewers: teon.banek
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2316
2019-09-02 11:40:38 +02:00
Matej Ferencevic
529b7109f7
Use new SkipList for query caches
...
Reviewers: teon.banek, mtomic
Reviewed By: teon.banek
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2305
2019-08-22 14:10:41 +02:00
Teon Banek
c4c6febbc4
Move Parsing utils from query/common to frontend/parsing
...
Reviewers: mtomic
Reviewed By: mtomic
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2195
2019-07-11 12:12:59 +02:00
Teon Banek
5bc0be50c5
Remove GraphDbAccessor parameter from MakeCursor
...
Reviewers: mtomic, mferencevic
Reviewed By: mtomic
Subscribers: pullbot
Differential Revision: https://phabricator.memgraph.io/D2189
2019-07-09 14:22:55 +02:00