Commit Graph

3234 Commits

Author SHA1 Message Date
Boris Tasevski
ec68d53404 merge epic 2022-08-04 10:18:58 +02:00
Boris Taševski
480df4ed69
Merge old Label Based Auth Epic branch into new one because of commits with bad checks on the old epic branch (#478)
* grammar expanded; (#462)

* T0954 mg expand user and role to hold permissions on labels (#465)

* added FineGrainedAccessPermissions class to model

* expanded user and role with fine grained access permissions

* fixed grammar

* [E129 < T0953-MG] GRANT, DENY, REVOKE added in interpreter and mainVisitor (#464)

* GRANT, DENY, REVOKE added in interpreter and mainVisitor

* Commented labelPermissons

* remove labelsPermission adding

* Removed extra lambda

* [E129<-T0955-MG] Expand ExecutionContext with label related information (#467)

* Added FineGrainedAccessChecker to Context

* fixed failing tests for label based authorization (#480)

* Marked FineGrainedAccessChecker ctor explicit; Introduced change to clang-tidy; (#483)

Co-authored-by: niko4299 <51059248+niko4299@users.noreply.github.com>
2022-08-02 12:51:22 +02:00
Marko Budiselić
80e0e439b7
Add parser stress test (#463) 2022-07-26 20:54:56 +02:00
Jure Bajic
351258ace8
Update clang-tidy job (#476)
Update clang tidy job to only check the diff against the base branch
2022-07-26 16:53:56 +02:00
Marko Budiselić
74d3663821
Upgrade Antrl to 4.10.1 and remove antlr_lock (#441) 2022-07-26 08:31:38 +02:00
niko4299
a5cfc617fd dbaAccesor argument 2022-07-20 12:22:05 +02:00
Boris Tasevski
3c87a5d939 merge 2022-07-19 15:30:55 +02:00
Boris Tasevski
3a183986c9 improved Has method in LabelPermissions; LabelChecker lambda reworked a bit 2022-07-19 15:30:04 +02:00
gvolfing
eb0b3141d5
Fix aggregation functions on null and group-by inputs (#448)
The `sum()` and `count()` functions were giving results different from the openCypher specification on null `input.` The aggregation functions also had a problem when they were used in a group-by context and were giving results that were not compliant with the openCypher specification.
2022-07-19 12:16:32 +02:00
niko4299
db655dab5e refactor 2022-07-19 10:26:04 +02:00
niko4299
efa64fc864 Filtering 2022-07-18 15:28:52 +02:00
Marko Budiselić
ff2f8031a9
Extend the PR template with the git message guide (#451) 2022-07-15 14:08:10 +02:00
Marko Budiselić
094d4f282d
Improve error-prone OS setup (#428) 2022-07-13 17:48:01 +02:00
niko4299
19dff1ae5c LabelChecker fixed 2022-07-12 12:07:28 +02:00
Jure Bajic
3dd2657320
Create mgp python package (#433) 2022-07-12 10:54:23 +02:00
Boris Tasevski
41ae33c671 remote changes merged 2022-07-11 17:35:54 +02:00
Boris Tasevski
10f2c416bd code updated 2022-07-11 17:35:15 +02:00
niko4299
216abaa0ef without username can see all 2022-07-11 17:13:43 +02:00
niko4299
b0af87ed9b Added LabelChecker and dummy filtration 2022-07-11 17:09:47 +02:00
gvolfing
6fe474282a
Modify logaical operators to conform openCyper regarding checking against NULL in CASE expressions (#432)
* Make `IfOperator` return the `else_expression_` in case of `NULL`

* Add gql_behave tests

* Add gql_behave test to specifically check for the case when the test expression itself is null
2022-07-11 15:00:29 +02:00
gvolfing
7fc0fb6520
Implement ToString function for temporal datatypes (#429)
* Modify `toString` to be able to handle `Date`, `LocalTime`, `LocalDateTime` and `Duration`

* Add unit tests

* Make `operator<<` use the `ToString()` implementations

* Add tests to verify the correctness of negative durations

* Add more tests to look for cases when the individual duration entities overflow.
2022-07-11 13:44:27 +02:00
Boris Tasevski
5b92aae0d3 merge branch T610-FL-Add-Support-Label-Permissions-In-Model-NIKO 2022-07-11 09:20:35 +02:00
Boris Tasevski
6f2aaee91b merge 2022-07-08 15:34:11 +02:00
niko4299
83aa71a29f interpreter.cpp 286 line convert vector label strings to vector LabelId, possible changes to LabelPermission 2022-07-08 10:59:54 +02:00
Boris Taševski
a821827dc3
Merge pull request #436 from memgraph/T610-FL-Add-Support-For-Label-Permissions-In-Model
T610 fl add support for label permissions in model
2022-07-08 10:47:41 +02:00
Jeremy B
063e297e1e
Avoid usage of time.sleep (#434)
e2e python: added tooling function around `time.sleep()` that stops as soon as condition is fulfilled and will raise assert if timeout is reached
2022-07-08 10:47:18 +02:00
Boris Tasevski
ace8608dd7 add missing methods to Role; Removed wrong check 2022-07-08 10:22:49 +02:00
niko4299
c2a1328dcc added Boris class 2022-07-07 16:03:22 +02:00
Ante Javor
86b1688192
Rewrite Python API comments and snippets (#420)
* Update comments
2022-07-07 15:05:56 +02:00
Jeremy B
f629de7e60
Save replication settings (#415)
* Storage takes care of the saving of setting when a new replica is added

* Restore replicas at startup

* Modify interactive_mg_runner + memgraph to support that data-directory can be configured in CONTEXT

* Extend e2e test

* Correct typo

* Add flag to config to specify when replication should be stored (true by default when starting Memgraph)

* Remove un-necessary "--" in yaml file

* Make sure Memgraph stops if a replica can't be restored.

* Add UT covering the parsing  of ReplicaStatus to/from json

* Add assert in e2e script to check that a port is free before using it

* Add test covering crash on Jepsen

* Make sure applciaiton crashes if it starts on corrupted replications' info

Starting with a non-reponsive replica is allowed.

* Add temporary startup flag: this is needed so jepsen do not automatically restore replica on startup of main. This will be removed in T0835
2022-07-07 13:30:28 +02:00
niko4299
b63db202d6 uncommented 2022-07-07 13:21:05 +02:00
niko4299
1abe8f8bfc Labels defined with colon 2022-07-07 13:15:01 +02:00
niko4299
4366085d89 GRANT, DENY, REVOKE all saving to rocksdb and working 2022-07-07 11:26:43 +02:00
Boris Tasevski
d626b49cc4 no return fixed; removed explicit keyword from LabelPermissions 2022-07-06 15:44:28 +02:00
niko4299
9369ae9085 My version with map, will test tomorrow 2022-07-06 14:50:00 +02:00
Boris Tasevski
d657a77a57 initial functionalities for users and roles implemented 2022-07-06 11:49:00 +02:00
Boris Tasevski
20da673583 implement LabelPermissions specific methods 2022-07-06 09:45:21 +02:00
Boris Tasevski
ca95ac253b added LabelPermission class to model.hpp; added dummy implementation to model.cpp 2022-07-05 16:36:04 +02:00
Boris Tasevski
b1c06e4d9f m 2022-07-05 15:40:31 +02:00
Jeremy B
b737e53456
Remove sync with timeout (#423)
* Remove timout when registering a sync replica

* Simplify jepsen configuration file

* Remove timeout from jepsen configuration

* Add unit test

* Remove TimeoutDispatcher
2022-07-05 09:40:50 +02:00
josipmrden
86a15331d1 Added saving of labels to AuthQuery 2022-07-04 16:49:23 +02:00
János Benjamin Antal
10ca68bb2a
Remove CODEOWNERS (#427)
Co-authored-by: Marko Budiselić <marko.budiselic@memgraph.com>
2022-07-04 16:42:36 +02:00
Jure Bajic
bfbd8538d4
Update docker release process (#421)
* Fix release directory

* Update release process

* Fix debian arm path
2022-07-04 16:10:33 +02:00
josipmrden
0c8b35b151 Added accepting visiting privilege to labels 2022-07-04 14:25:28 +02:00
josipmrden
11d60c203e Updated CypherLexer for LABELS 2022-07-04 14:16:50 +02:00
josipmrden
38c0a08342 Updated case which adds LABELS as Permissions 2022-07-04 14:11:30 +02:00
josipmrden
7e1d39bf86 Updated switch cases with privileges and permissions 2022-07-04 13:59:17 +02:00
josipmrden
dd85b428bf Updated lcp file 2022-07-04 13:54:36 +02:00
josipmrden
2f9ed0146e Updated lexer for adding privileges over labels 2022-07-04 13:49:54 +02:00
Jeremy B
3e0e17d469
Adding assert in e2e script to check that a port is free before using it (#425)
* Adding assert in e2e script to check that a port is free before using it

* Adding extra logging
2022-07-04 10:14:02 +02:00